db2数据库创建的完整过程
二、windows下面创建的完整过程
db2set db2codepage=819
db2 create database test03
db2 connect to test03 user db2amdin using 1
db2 CREATE Bufferpool USER8 SIZE 100000 PAGESIZE 8K
db2 CREATE Bufferpool USER16 SIZE 1000 PAGESIZE 16 K
db2 CREATE Bufferpool USER32 SIZE 1000 PAGESIZE 32 K
db2stop force
db2start
db2 connect to test03 user easymis using easymis
db2 "CREATE REGULAR TABLESPACE TS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('FSMS_8K_1') BUFFERPOOL USER8"
db2 "CREATE REGULAR TABLESPACE TS_USER16 PAGESIZE 16K MANAGED BY SYSTEM USING ('FSMS_16K_1') BUFFERPOOL USER16"
db2 "CREATE REGULAR TABLESPACE TS_USER32 PAGESIZE 32K MANAGED BY SYSTEM USING ('FSMS_32K_1') BUFFERPOOL USER32"
db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT ON DATABASE TO USER EASYMIS
db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,LOAD ON DATABASE TO USER EASYMIS
db2 connect to test03 user easymis using easymis
db2 -f dbstruct.sql >kk.log
用配置助手增加odbc和cli的命令,并且将用户密码配置进去
用odbctool将数据一次性加载到数据库中。
配置jdbc连接
直接使用jcc方式能够使用。
<property name="dialect">org.hibernate.dialect.DB2Dialect</property>
<property name="connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
<property name="connection.username">easymis</property>
<property name="connection.password">1</property>
<property name="connection.url">jdbc:db2://192.168.20.249:50000/test03</property>
如果采用app方式,需要将db2java.zip修改成db2java.jar
db2jdbcbind -url jdbc:db2://192.168.20.249:50000/test03 -user easymis -password 1
<property name="dialect">net.sf.hibernate.dialect.DB2Dialect</property>
<property name="connection.driver_class">COM.ibm.db2.jdbc.app.DB2Driver</property>
<property name="connection.username">easymis</property>
<property name="connection.password">1</property>
<property name="connection.url">jdbc:db2:test03</property>
--------------------------------------------------------------------------------------
三、aix下面创建过程
aix下面创建完整的过程
db2set db2codepage=819
db2 create database easytest on /home/db2inst1
db2 connect to test04 user db2inst1 using db2
db2 CREATE Bufferpool USER8 SIZE 100000 PAGESIZE 8K
db2 CREATE Bufferpool USER16 SIZE 1000 PAGESIZE 16 K
db2 CREATE Bufferpool USER32 SIZE 1000 PAGESIZE 32 K
db2stop force
db2start
db2 connect to test04 user db2inst1 using db2
db2 "CREATE REGULAR TABLESPACE TS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('FSMS_8K_1') BUFFERPOOL USER8"
db2 "CREATE REGULAR TABLESPACE TS_USER16 PAGESIZE 16K MANAGED BY SYSTEM USING ('FSMS_16K_1') BUFFERPOOL USER16"
db2 "CREATE REGULAR TABLESPACE TS_USER32 PAGESIZE 32K MANAGED BY SYSTEM USING ('FSMS_32K_1') BUFFERPOOL USER32"
db2 CREATE Bufferpool TMPBUF8 SIZE 10000 PAGESIZE 8K
db2 "CREATE TEMPORARY TABLESPACE TempTS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('/home/db2inst1/db2inst1/TEMPNODE0004' ) EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14 BUFFERPOOL "TMPBUF8" DROPPED TABLE RECOVERY OFF"
db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,LOAD ON DATABASE TO USER EASYMIS
db2 GRANT USE OF TABLESPACE TS_USER8 TO easymis
db2 GRANT USE OF TABLESPACE TS_USER16 TO easymis
db2 GRANT USE OF TABLESPACE TS_USER32 TO easymis
db2 connect to test04 user easymis using easymis
db2 -f dbstruct.sql >kk.log
设置堆空间大小
DB2 UPDATE DB CFG FOR DBNAME USING APPLHEAPSZ 512
四、数据库导入导出
1、数据库卸载
db2move test04 EXPORT
db2look -d easytest -e -a -o easytest.sql
将test04.sql中的视图部分截出来view.sql
2、数据库装载
db2move easytest import -l /home/db2inst1/wk/test04
db2 -tvf db2look.sql
3、数据库整体移植过程。
五、客户端安装
客户端绑定(v8)
sqllib/bin: db2jdbcbind -url jdbc:db2://192.168.20.249:50000/easyccp -user easymis -password 1
六、常用命令:
1. LIST DATABASE DIRECTORY:列出所有的实例
db2 list database directory | pg
2。 连接数据库
db2 “connect to test04 user easymis using easymis”
断开连接
db2 connec reset
2. 停止db2
db2 terminate
db2stop force
db2 stop database manager
3. 启动db2
db2start
4. 连接db2实例 db2 connect to 数据库别名 user 用户 using 密码
5. 列出db2实例名:db2ilist
6. 查看db2的远程、本地字符集
db2 -a connect to easyoa4
7. 设置当前的schema
db2 set schema=easymis
8. 设置字符集
db2set db2codepage=819 英文, 1386对应GBK
9. db2 -f wk.sql 执行一个sql语句
10、 db2 GET DATABASE MANAGER CONFIGURATION获取db2的系统信息。
11、 drop database test04
12、 删除表空间、删除缓冲池
db2 drop tablespace TS_USER32
db2 drop bufferpool USER32
12、 查询错误的方式
db2 ? sql0102
下面您可以不看(日记):
ftp服务器:203.81.25.245
企业征信环境
1、服务器 192.168.20.144
2、用户: db2inst1 密码 : db2
1、首先,查看需要使用的实例数据库有哪些:
db2ilist 查看实例
db2 list database directory | pg 查看实例上面的所有数据库
2、drop数据库的命令
db2 drop database 数据库名
3、在aix环境上创建空数据库(数据库名不能够超过8个字符)
查看环境变量 db2set
如果发现db2set中db2codepage不是819,执行 db2set db2codepage=819
db2 create database test05 on /home/db2inst1
db2 connect to test05 user db2inst1 using db2
#创建对应pagesize大小的缓冲池和表空间
db2 CREATE Bufferpool USER8 SIZE 1000 PAGESIZE 8K
db2 CREATE Bufferpool USER16 SIZE 1000 PAGESIZE 16 K
db2 CREATE Bufferpool USER32 SIZE 1000 PAGESIZE 32 K
db2stop force ( 可以先用:db2stop 、db2 terminate进行停止)
db2start
db2 connect to test05 user db2inst1 using db2
db2 "CREATE REGULAR TABLESPACE TS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('FSMS_8K_1') BUFFERPOOL USER8"
db2 "CREATE REGULAR TABLESPACE TS_USER16 PAGESIZE 16K MANAGED BY SYSTEM USING ('FSMS_16K_1') BUFFERPOOL USER16"
db2 "CREATE REGULAR TABLESPACE TS_USER32 PAGESIZE 32K MANAGED BY SYSTEM USING ('FSMS_32K_1') BUFFERPOOL USER32"
#创建临时表空间(用于缓冲查询结果或者临时表)
db2 CREATE Bufferpool TMPBUF8 SIZE 10000 PAGESIZE 8K
db2 "CREATE TEMPORARY TABLESPACE TempTS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('/home/db2inst1/db2inst1/TEMPNODE0005' ) EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14 BUFFERPOOL "TMPBUF8" DROPPED TABLE RECOVERY OFF"
#给相关用户付权限
db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,LOAD ON DATABASE TO USER EASYMIS
db2 GRANT USE OF TABLESPACE TS_USER8 TO easymis
db2 GRANT USE OF TABLESPACE TS_USER16 TO easymis
db2 GRANT USE OF TABLESPACE TS_USER32 TO easymis
#开始创建表、创建(这种方式是直接创建表、视图的方式,如果采用db2move的方式,那么则不需要)
db2 connect to test05 user easymis using easymis
db2 -f dbstruct.sql >crttab.log
db2 -f view.sql >crtviw.log
#恢复db2move备份的数据库(备份的过程参见后面的db2move的说明)
db2move test05 import -l /home/db2inst1/wk/test04
db2 -tvf view.sql >crtview.log #如果脚本是db2look,命令结束符为分号,行结束无特殊符号
db2 UPDATE DB CFG FOR easytest USING APPLHEAPSZ 1024
4、对阳江数据库做一个备份,便于恢复。
一、informix和db2的区别
从informix到db2
1、视图的修改:DATE函数不能够使用,可以拿来做比较
2、NVL函数不能够使用,COALESCE
3、TODAY 对应 CURRENT DATE
4、DATE函数的用法相同
5、数据类型不同不能够相等。v_tjfx_gxck, 总帐的科目好为整型, 用char()函数进行转换
6、db2 7.2版本 blob字段必须要有长度。
7、日期天数的差异要用 days(日期2)-days(日期1)
发现value字段存在在BP_PROCESSDATA中。
SPOOL 表的MESSAGE_BODY blob字段,blob字段的大小需要限制。需要手工增加大小
INBOXES 表的MESSAGE_BODY
S_PRINTCFG 表
1、字段类型对应
1)char全部换成varchar
2)datetime year to second 到 date timestamp
3)decimal不能够超过30
4) byte 到 blob
应用移植到db2 v8.2的内容:
1、将对应版本的db2的jdbc驱动拷贝到应用的lib目录。
2、修改ptconfig.xml中的
CHARACTERSET:ISO8859-1
<DRIVER>com.ibm.db2.jcc.DB2Driver</DRIVER>
<URL>jdbc:db2://192.168.20.249:50000/easyccp</URL>
<DBTYPE>db2</DBTYPE>
<CONNECTTYPE>1</CONNECTTYPE>