db2部署与数据仓库应用
####数据合并
Merge Into是增量备份
####结果集分组
row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
```
seletc row_number() over(partition by log_user_id order by id desc) as tmpid, o.* from ope_match_his_log o
```
表示根据COL1分组,在分组内部根据 COL2排序
tmpid | id | log_user_id |
---|---|---|
1 | 5616 | 111122222 |
2 | 5613 | 111122222 |
3 | 5611 | 111122222 |
1 | 5681 | 345678900 |
2 | 5654 | 345678900 |
syscat.routines
存储所有的存储过程和用户自定义函数(UDF)信息
sysproc
call
调用存储过程
分区特性
DISTRIBUTE BY HASH
原则上,尽量将大表分布在所有的分区上,提高并行处理能力;将小表放置在尽量少的分区上,一般是建议放在单一分区上;尽量减少分区间的通信
create or replace procedure
load from insert into PARTITIONED
专用寄存器(special register)
专用寄存器是 DBA 定义的一个存储块,供一个应用程序过程使用,寄存器中的值可以在 SQL 语句或 SQL PL 语句中访问和引用
最常用的专用寄存器有:
- CURRENT DATE
- CURRENT TIME
- CURRENT TIMESTAMP
- CURRENT USER
- CURRENT PATH
###多节点多分区数据库配置的几个要点
####节点认证文件
```bash
[root@sjck-node00 ~]# cat /etc/hosts.equiv
sjck-node00 sjck
sjck-node01 sjck
```
####实例用户的实例目录下添加.rhosts文件
```bash
[sjck@sjck-node00 sjck]# cat .rhosts
sjck-node00 sjck
sjck-node01 sjck
```
####节点文件
```bash
[root@sjck-node00 sqllib]# cat db2nodes.cfg
0 sjck-node00 0
1 sjck-node00 1
2 sjck-node01 0
3 sjck-node01 1
```
####启动
```bash
[sjck@sjck-node00 root]$ db2start
01/20/2019 17:32:01 0 0 SQL1063N DB2START processing was successful.
01/20/2019 17:32:01 1 0 SQL1063N DB2START processing was successful.
01/20/2019 17:32:08 3 0 SQL1063N DB2START processing was successful.
01/20/2019 17:32:09 2 0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
```
####连接数据库
```
[sjck@sjck-node00 ~]$ db2 connect to sjck
Database Connection Information
Database server = DB2/LINUXX8664 9.7.4
SQL authorization ID = SJCK
Local database alias = SJCK
<span id="base">
####连接db2
su sjck
db2 connect to sjckdb user sjck using sjck
db2
####退出db2
quit
####显示所有数据库
db2 list db directory
####显示所有表名
db2 list tables
####列出当前数据库下所有的表
db2 list tables for all
db2 list tables for schema sjck
####查看表结构
db2 describe table sjck.ccrd_card
####查看当前数据库表空间分配状况
db2 list tablespaces show detail
####查看数据库配置参数
db2 get dbm cfg
####查看当前连接到数据库的应用
db2 list application
####查询分页
db2 "select * from sjck.CORE_BHFMCMRM FETCH FIRST 501 ROWS ONLY"
<span id="server">
<span id="process">
####存储过程
增量表和历史拉链表,生成新的拉链表
```bash
create or replace procedure tbbak.CREDITOR_ACCREDIT_LIMIT_to_his_proc(in dt_etl varchar(8))
begin
declare etldt date;
declare sql varchar(1000);
declare ct integer;
declare del_ct integer;
set etldt = to_date(dt_etl,'YYYYMMDD');
select count(1) into del_ct from tbbak.XDZX_CREDITOR_ACCREDIT_LIMIT_his where bg_dt_test=etldt;
if del_ct > 0 then delete from tbbak.XDZX_CREDITOR_ACCREDIT_LIMIT_his where bg_dt_test>=etldt;
update tbbak.XDZX_CREDITOR_ACCREDIT_LIMIT_his set ed_dt_test = '9999-12-31'
where ed_dt_test >= etldt - 1 days and ed_dt_test < '9999-12-31'and etl_flag <> 'D';
commit;
end if;
select count(1) into ct from tmp.XDZX_CREDITOR_ACCREDIT_LIMIT;
if ct > 0 then
merge into tbbak.XDZX_CREDITOR_ACCREDIT_LIMIT_his a
using tmp.XDZX_CREDITOR_ACCREDIT_LIMIT b on a.ID=b.ID and a.ed_dt_test='9999-12-31' when MATCHED then update set a.ed_dt_test=etldt -1 DAYS;
commit;
insert into tbbak.XDZX_CREDITOR_ACCREDIT_LIMIT_his select etldt, '9999-12-31', a.* from tmp.XDZX_CREDITOR_ACCREDIT_LIMIT a;
commit;
update tbbak.XDZX_CREDITOR_ACCREDIT_LIMIT_his set ed_dt_test = etldt where etl_flag = 'D' and bg_dt_test = etldt;
commit;
end if ;
end
db2部署与数据仓库应用的更多相关文章
- db2部署
下载地址: wget ftp://public.dhe.ibm.com/software/hk/cobra/db2exc_970_LNX_x86_64.tar.gz 上传压缩包到/opt,再解压d ...
- 使用Docker快速部署各类服务
使用Docker快速部署各类服务 一键安装Docker #Centos环境 wget -O- https://gitee.com/iubest/dinstall/raw/master/install. ...
- AWS 数据库(七)
数据库概念 关系型数据库 关系数据库提供了一个通用接口,使用户可以使用使用 编写的命令或查询从数据库读取和写入数据. 关系数据库由一个或多个表格组成,表格由与电子表格相似的列和行组成. 以行列形式存储 ...
- 从一个Bug说开去--解决问题的思路,Linked Server, Bulk Insert, DataTable 作为参数传递
声名— 部分内容为杜撰,如有雷同,不胜荣幸! 版权所有,如要引用,请标明出处! 如果打赏,请自便! 1 背景介绍 最近一周在忙一个SQL Server 的Bug,一个简单的Bug,更新两张 ...
- [DB2]实现项目多数据库切换(上)--环境部署
基本软硬件信息:Windows 8.1 X64 / Microsoft Visual Studio 2012 / ThinkPad S3-S431 安装工具:IBM Data Studio 4.1. ...
- DB2简介和安装部署
一.DB2相关概念 1.DB2体系结构: DB2体系结构中的最高一层是系统,一个系统表示DB2的一个安装.在由很多机器组成 的网络环境中,我们有时=也称系统为数据库分区,一个系统可以包含多个DB2实例 ...
- 基于Hadoop2.7.3集群数据仓库Hive1.2.2的部署及使用
基于Hadoop2.7.3集群数据仓库Hive1.2.2的部署及使用 HBase是一种分布式.面向列的NoSQL数据库,基于HDFS存储,以表的形式存储数据,表由行和列组成,列划分到列族中.HBase ...
- Linux+db2+was部署问题总结
Linux+db2+was部署问题总结 前段日子在住建部进行了Linux环境下,db2+rbp+was的部署,由于是集群,切涉及到了很多was的东西,搞了很长时间,在此做一个问题总结,供后续查询 ...
- 【大数据之数据仓库】安装部署GreenPlum集群
本篇将向大家介绍如何快捷的安装部署GreenPlum测试集群,大家可以跟着我一块儿实践一把^_^ 1.主机资源 申请2台网易云主机,操作系统必须是RedHat或者CentOS,配置尽量高一点.如果是s ...
随机推荐
- [USACO07MAR]黄金阵容均衡Gold Balanced L…
https://www.luogu.org/problem/show?pid=1360 题目描述 Farmer John's N cows (1 ≤ N ≤ 100,000) share many s ...
- Linux系统调用和库函数
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unist ...
- OWL库(叙词表构建本体OWL库)程序说明文档
本体程序(叙词表转化OWL)及相关数据 程序已有资源:
- web项目中的 log4net的配置
最近用log4net,网上查了很多资料,照着网上的配置大多都不管用,可能我还是有什么地方配置的不对.看出来的朋友平指出.下面是我自己亲测的,可以用! 1.web项目中的web.config 配置log ...
- 在asp.net 中生成PDF的方法
近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsha ...
- 巧妙利用JQuery和Servlet来实现跨域请求
在网上看到很多的JQuery跨域请求的文章,比较有意思.这里我发表一个Servlet与JQuery配置实现跨域的代码,供大家参考.不足之处请指教 原理:JavaScript的Ajax不可以跨域,但是可 ...
- 【HDU】6110 路径交(2017百度之星) 线段树+RMQ-LCA+树链的交
[题目]2017"百度之星"程序设计大赛 - 初赛(A) [题意]给定n个点的带边权树,m条编号1~m的路径,Q次询问编号区间[L,R]所有链的交集的长度.n<=500000 ...
- RAID总结
RAID-0: 这种模式若使用相同型号容量的磁盘来组成效果最佳.这种模式RAID会先将磁盘切出等量的区块chunk,当文件要存入RAID时先按照chunk的大小切割好,再依次存放到各个磁盘中去,由于磁 ...
- openjudge-NOI 2.6-1775 采药
题目链接:http://noi.openjudge.cn/ch0206/1775/ 题解: 很经典的01背包问题,设时间为t,价值为v 一维压缩,状态转移方程fj=max(fj,fj-ti+vi) # ...
- 虚拟机NAT网络设置
1. 虚拟机设置 2. 本地网络设置 3. 本地虚拟网卡设置 4. 安装虚拟机,设置网络为NAT方式即可访问外网.