一:安装数据库
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
export PATH
将上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.