DB2数据库:快学吧,再不学就快学不到了!

备注:

整理自2016年的学习笔记,时间较久,仅供参考。

主要有以下内容:

包括DB2 V10.1安装、新增表空间、数据迁移、统计信息等步骤。

**一:DB2数据库安装
二:DB2数据库适配NC65
三:DB2数据库连接驱动
四:DB2备份与恢复
五:相关脚本
**

一:DB2数据库安装

express-c是DB2数据库系列的一个免费版本,相比企业版比他少了很多组件,但是db2数据库的主要功能它都具备,做测试可以安装这个版本;

—Windows下DB2数据库卸载可以使用db2unins -f命令

二:DB2数据库适配NC65

对于表空间的管理建议如下:

1. NNC_DATA01 表空间页大小选"16K",使用页大小为"16K"的缓冲池

2.1 运行脚本1.SQL

创建临时表;

脚本见最后。

2.2运行脚本2.SQL

配置数据库参数

2.3运行脚本3.SQL

创建analyze_tb存储过程

3.sql脚本运行结束后会生成收集统计信息的存储过程analyze_tb,可以通过job定时收集统计信息;

Windows系统:

控制面板\所有控制面板项\管理工具\任务计划程序

Linux系统:

写一个runstats.sh脚本,脚本内容如下:

date

然后在db2inst1用户下建立一crontab,引用此脚本

0 0 * * * /data2/db2home/db2inst1/runstats.sh >> /data2/db2home/db2inst1/runstats.log

每天晚上00:00:00开始收集统计信息

三:DB2数据库连接驱动

Yonyou NC 6.5 在访问DB2数据库时,默认推荐使用JCC方式(即DB2 Universal JDBC Driver)访问数据库。这种协议不需要应用服务器安装其他驱动或连接。在产品的安装盘中已经预置了连接DB2的驱动,版本是"10.1"。更新DB2驱动程序时,需要更新"db2jcc.jar"和"db2jcc_license_cu.jar"。数据库驱动存放在"sqllib\java"下,直接将上述文件覆盖到"nchome\lib"下即可(假设NC_HOME为NC65)。下面以Linux 为例,更新驱动方法如下:

#cp home/db2inst1/sqllib/java/db2jcc.jar home/ufsoft/newcentory/nc65/driver/db2_10/db2jcc.jar

四:DB2备份与恢复

4.1 db2 backup/restore备份和恢复

4.1.1 备份

db2 backup/restore备份与恢复只适用于相同操作系统平台的数据库;

命令格式:db2 backup db <数据库名> to <目录名>

注:在备份前需断开所有与数据库的连接,断开连接后再备份,目录名是备份后的文件的存放目录.

例:

db2 backup database sample to d:\backup

如果数据库正在被使用,可能回报错“SQL1035N

The database is currently in use. SQLSTATE=57019”需要停掉服务,用命令:

db2 force application all

4.1.2恢复

命令格式:db2 restore db <数据库名> from <目录名>

例:

db2 restore db sample from d:\backup

—删除原有的sample数据库(模拟数据库恢复)

恢复数据库sample

db2 restore db sample from D:\DB2\backup

查看数据库

4.2 db2move备份和恢复

4.2.1 备份

  1. 首先连接到要导出的数据库上,如本例导出数据库nctest:

    db2 connect to nctest user db2inst1 using db2inst1

其中的参数user后面跟指定用户,using后面指定用户的密码,不指定时会使用默认用户进行登录;

  1. 使用db2look 导出数据对象的定义语句

    db2look –d nctest –e –o ncdb.sql –i db2inst1 –w db2inst1

命令中的参数 –o 意思是将数据对象的定义导出到指定的文件中;

其中的参数-i后面跟指定用户,-w后面指定用户的密码,不指定时会使用默认用户进行登录;

3)使用db2move 命令导出数据库对象的数据

db2move nctest  export    –u   db2inst1  –p   db2inst1

连接数据库sample

通过db2look导出sample数据库创建对象的脚本sample.sql

db2look -d sample -e -o sample.sql -i 用户名 -w 用户密码

通过db2look导出sample数据库创建对象的脚本sample.sql

db2look -d sample -e -o sample.sql -i 用户名 -w 用户密码

db2move sample export -u 用户名 -p 用户密码

sample.sql:创建数据对象的脚本;

4.2.2 恢复

将SAMPLE数据库数据导入到test数据库中

db2 create database test

通过db2move恢复NC数据库时,可以根据建库脚本1.sql,先进行创建数据库和表空间等操作;

db2 connect to test user 用户名 using 用户密码

a.sql---create_table.sql

修改sample.sql脚本,将脚本中数据库名称,表空间名称更改为实际的名称;

将sample.sql脚本中创建外键的语句剪切到另一个脚本中(create_foreign.sql);

如果导入数据时,在没有导入主表数据之前,导入对应外键表数据时会出现错误,所以需要在成功导入外数据后,在进行外键的创建;

db2 -tvf a.sql

db2 test import -io insert -u 用户名 -p 用户密码

db2 -tvf b.sql

五:脚本

1.sql

###chenjuchao 20240423###
欢迎关注我的公众号《IT小Chen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值