DB2创建数据库

下面的命令都执行一遍 DB2数据库基本就创建完成了 当然具体路径要看本机环境,这里要注意下,如下

db2 "CREATE DATABASE UPP DBPATH ON '/db2tmp' USING CODESET GBK TERRITORY CN PAGESIZE 8 k";#创建XXX数据库DBPATH ON 指定数据库创建位置  PAGESIZE 每页大小 8K(是DB2数据库中最小的存储单位)
db2set db2codepage=1386;        #设置代码页 否则乱码
db2 terminate;    #断开与数据库连接
db2 connect to UPP;#连接UPP数据库

#更改缓存大小 理论越大越好 但受物理内存限制 建议等于机器总内存的10%
db2 "update db cfg for upp using BUFFPAGE 10000";
#建立系统缓存
 #表空间数据所使用的缓存 按照存储的内容不同 设置不同的大小 按照内存大小可做适当调整
 #调整规则 1 计划可用内存 =SIZE1*PAGESIZE1+SIZE2*PAGESIZE2+.....SIZEn*PAGESIZEn
 #         2 按照表空间具体功能及并行性或执行复杂sql的使用量设置 当执行复杂sql时 满足单次读取数据及索引数据不高于当前类型表空间的80%
 #      
db2 "CREATE BUFFERPOOL UPPBUFFER00 IMMEDIATE  SIZE 204800 AUTOMATIC  PAGESIZE 8 K";
db2 "CREATE BUFFERPOOL UPPBUFFER01 IMMEDIATE  SIZE 12800 AUTOMATIC PAGESIZE 8 K ";
db2 "CREATE BUFFERPOOL UPPBUFFER02 IMMEDIATE  SIZE 12800 AUTOMATIC PAGESIZE 8 K ";
db2 "CREATE BUFFERPOOL UPP_TEMP IMMEDIATE  SIZE 5000 AUTOMATIC  PAGESIZE 32 K";
#建立系统临时表空间
  #DB执行任务使用的物理空间 根据可用规划磁盘设置 temp_8k表空间常用 测试数据量 10G大小可满足
db2 "create system TEMPORARY tablespace uppspace pagesize 8k managed by database using (file '/db2tmp/db2data/UPP_DATAtemp_8k' 50G) EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14   BUFFERPOOL  UPPBUFFER00 ";#EXTENTSIZE 是整数倍的datapage 作为读写的基本单位。PREFETCHSIZE预取大小是EXTENTSIZE的整数倍。TRANSFERRATE传输率
db2 "CREATE SYSTEM TEMPORARY  TABLESPACE NGCMS_TEMP_32 PAGESIZE 32 K  MANAGED BY DATABASE  USING ( file '/db2tmp/db2data/UPP_DATAtemp_32k' 5G) EXTENTSIZE 32 OVERHEAD 10.5 PREFETCHSIZE 32 TRANSFERRATE 0.14 BUFFERPOOL  UPP_TEMP ";
db2 "create system TEMPORARY tablespace USERSPACE1 pagesize 8k managed by database using (file '/db2tmp/db2data/UPP_DATAtemp_8k' 10G)"
#删除系统自定义系统表空间
db2 "drop tablespace tempspace1";

#建立32K缓存及表空间 后期根据业务需要决定是否删除
  #以下设备信息可根据实际情况更改路径,或放在文件系统上或在裸设备上,但必须保证有足够的空间,device为裸设备信息
  #存放数据的物理位置 根据裸设备或文件系统大小设置 如建在裸设备 设置大小等于裸设备大小
db2 "CREATE REGULAR TABLESPACE UPP_DATA00 PAGESIZE 8192  MANAGED BY DATABASE  USING (DEVICE  '/dev/rdb2datalv'  120G) EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14   BUFFERPOOL  UPPBUFFER00 ";
db2 "CREATE REGULAR TABLESPACE UPP_DATA00_INDEX  PAGESIZE 8192 MANAGED BY DATABASE  USING (FILE  '/db2tmp/db2data/UPP_DATA00_INDEX'  5G)  BUFFERPOOL  UPPBUFFER01 ";
db2 "CREATE REGULAR TABLESPACE UPP_DATA_HIS00_IDX  PAGESIZE 8192 MANAGED BY DATABASE  USING (FILE  '/db2tmp/db2data/UPP_DATA_HIS00_IDX' 10G)  BUFFERPOOL  UPPBUFFER02 ";
#授权给XXX
db2 GRANT  DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT ON DATABASE  TO USER XXX;

#更改日志 锁等信息参数
 #日志大小计算 LOGPRIMARY*LOGFILSIZ > 最大数据操控
 #物理磁盘必须支持设置大小 如设置路径可用空间 db2 "update db cfg for upp using SELF_TUNING_MEM ON";# Self tuning memory 放开内存管理权限
db2 "update db cfg for upp using LOGBUFSZ 512"; #日志缓冲区大小
db2 "update db cfg for upp using LOGFILSIZ 8192"; #日志文件大小 32M
db2 "update db cfg for upp using LOGPRIMARY 10"; #主日志文件数
db2 "update db cfg for upp using LOGSECOND 30"; #辅助日志文件数
#当出现数据查询超时时 可考虑更改下两参数 但不宜过大 避免不必要浪费
db2 "update db cfg for upp using LOCKTIMEOUT 180"; #锁等待的秒数
db2 "update db cfg for upp USING MAXLOCKS  90   AUTOMATIC";
db2 "update db cfg using newlogpath  '/db2log/db2upp/NODE0000/SQL00001/SQLOGDIR/'"; #更改日志路径 日志路径尽量避免同表空间放在同块磁盘中
#重启实例生效数据库配置参数
db2stop force
db2start
DB2数据库创建完成!

你可能感兴趣的:(db2,IT)