一:安装数据库
1. 用root用户登录,通过smitty user创建实例用户 gjyw,进入DB2安装文件所在目录. 2. 将安装文件目录下所有文件赋全部权限 chomd 777 * 3. 如果使用.db2_setup进行安装,,则必须先用root用户登录执行vi .profile
".profile" 6 lines, 103 characters alias l='ls -l' set -o vi DISPLAY=192.168.250.110:0.0 export DISPLAY PATH=$PATH:/nmon/nmon |
将上IP地址改为远程客户端IP。
4. 可使用目录下另一安装文件进行(与第3步是同一过程),安装过程中,将实例db2inst1直接改为gjyw(所要使用的实例名) ;
5. 安装完成后停止服务 ;su - gjyw (实例用户)
db2stop 停止实例,如果不行 db2stop force强制停止 exit 退出到root层 su - dasusr1 (db2管理用户) db2admin stop 停止DAS 6. 升级DB2包 db2 8.2版本切换到升级包目录
./installFixPak –y
7. 切换到root用户
cd /usr/opt/ db2_08_01/instance chmod +x db2iupdt chmod +x dasupdt |
./db2iupdt gjyw ./dasupdt dasusr1 |
绑定相关用户
8. 取动数据库服务
切换到root用户
su - dasusr1 db2admin start 启动das su - gjyw db2start 启动实例 |
二:创建数据库
1. 建库时应指定数据库db2codepage,在xp中默认为1386,AIX中英文环境默认为819,当在AIX上建库时将当前数据库的codepage保持与要导入的数据来源处一致,否则导入后中文会显示为乱码。
1.) db2 create db db2name using codeset 1386 territyor 86
2.) 或使用1,db2set db2codepage=1386 2,db2set db2country=86 3,db2 terminate 4,db2stop force,5,db2stop start.
3.) 检查代码页(codepage)是否与设置一致.
Db2 get database configuration from databaseName |more |
三:使用db2look,db2move export,db2move load,db2move import工具导入导出数据。
1.生成createdatabase.sql数据库结构文件
db2look –d DATABASENAME –a –e –m –l –f –o createdatabase.sql |
2. 调整createdatabase.sql文件对象顺序,调整前先将createdatabase.sql里的CONNECT TO后的数据库名称全部替换为你的目标数据库名称。
1).由于使用db2look导出的文件并不是根据对象依赖关系生成的,需要作手工调整,一般顺序为BUFFERPOOL(createdatabase.sql文件最前部份), TABLESAPCE, TABLE,PATH(模拟表、列、索引和列分布),FUCNTION(自[定义方法),VIEW(视图), TRIGGER。
2).存储过程另行导入,应将createdatabase.sql中的存储过程部份删除。
4.执行createdatabase.sql文件.
1. 将createdatabase.sql上传到AIX服务器,使用命令
1). 默认情况下不能执行超过61K的文件,使用下面语句调整执行语言heap.Db2 update db cfg for DATABASENAME using STMTHEAP 8192 |
2).执行。db2 -tvf createdatabase.sql
3).可以quest center for db2中连接后处理。6. db2move DataBaseName export ,将生成的所有文件上传。
7. chmod 777 * ,将所有文件更改权限。8. db2move newDataBaseName load
在导入中可能因为种种原因发生中断,会使数据库暂挂
1)..查看是哪张表挂起
db2 select tabname,tableid from syscat.tables where tableid=59 |
2). 表名知道后到db2move.lst(在db2move YOURDB export的目录中)中找到相应的.ixf文件
db2 load from tabindex.ixf of ixf terminate into |
在db2move.lst文件中tabindex.ixf对应的是”表名”
四.导入存储过程。
通地quest center for db2,进入存储过程界面,全选,Extract DDL, 生成sql后, 只留下SCHEMA 为自定义存储过程的。 连接上另一数据库(AIX)后执行。 如有超大或过于复杂的存付过程,应执行Db2 update db cfg for DATABASENAME using STMTHEAP 8192 , 加大执行语句heap.
五:应注意事项及常用命令
1. chmod 777 * 更改一目录下所有文件的权限。
2.db2 get database configuration for databaseName |more 查看数据库配置 3. db2 create db dbname using CODESET 1386 TERRITORY 86 指定代码页建库 4. db2 select tabname,tableid from syscat.tables where tableid=59 查看处于挂起状态的表。 5.db2 update db cfg for JZGYZX using STMTHEAP 8192 增大执行语句heap,当系统提示语句过长或太复杂时使用。 6. db2set db2codepage=819 ,db2 terminate, db2 stop force ,db2 start.