欢迎投稿

今日深度:

DB2数据库移植常见问题全面解析(1)

DB2数据库移植常见问题全面解析(1)


安装与配置

在 Linux 下重新安装 DB2 之后无法建立 DB2INST1 的实例,提示已经存在

解决办法:删除 /var/db2/v81 目录,再重新创建实例;

原因分析:在重新安装 DB2 之前,需要卸载原 DB2 安装环境,其中很重要的一步就是,使用 db2idrop 命令删除 DB2INST1 实例, 如果不删除,再次安装 DB2 之后,则无法建立相同名称的数据库实例。db2idrop 命令在 /opt/IBM/db2/V8.1/instance 目录下,以下为示例:

清单 1. db2idrop 命令示例

/opt/IBM/db2/V8.1/instance/db2idrop db2inst1

在Solaris 5.8 下安装 DB2 后却无法创建实例,提示 shmmax 需要调整

解决办法:编辑 /etc/system 文件,修改共享内存参数和消息队列值,重启机器后再建实例;

原因分析:DB2 在 UNIX 系统上需要使用 IPC 通信,所以内核参数共享内存和消息队列是关键指标,如果不能达到 DB2 要求数量,则 DB2 无法正常工作,其具体数字不易记忆,但可以查看 db2diag.log,里面记录了 DB2 所需要的具体数字,依照该数字更新内核参数即可。

DB2 Runtime Client 可否不安装开发工具包,只安装足够客户端工作的组件,以方便模拟客户实际应用环境进行测试?

解决办法:DB2 Runtime Client并不包含开发工具包。其功能就是只提供客户端工作的组件包。

一个裸设备无法同时分配给两个数据库,这样无法建立两个数据库服务器共享同一个裸设备

解决办法:把这两个数据库分别建在不同的实例上,将其中一个实例停下,第二个实例启动,分配裸设备给该活动实例上的数据库,分配完毕后将活动实例停下,启动第一个实例,重复先前分配裸设备的操作到第一个实例,即可实现当一个数据库停下时,该裸设备数据可以完全被另外一个数据库接管,从而实现共享。

原因分析:一个容器是无法同时分配给两个活动数据库的。必须针对两个实例来操作,分配给一个实例时另一个实例必须处于不活动状态。

在 Linux 上 DB2 安装完成后,不能绑定 License,报 DBI1430N 错误

解决办法:

1.更新系统时间到当前时间。使用 Linux 中的 DATE 命令;

2.使用 db2licm 命令绑定 License:

清单 2. 绑定 License 命令示例

./db2licm -a db2ese.lic

在Linux 上 DB2 实例创建不成功,返回错误码 DBI1281E

解决办法:正确设置主机名;

原因分析:DB2 创建实例时要取主机名,如果主机名设置不正确,则会报告无法初始化实例的错误,也就是 DBI1281E,可以首先用 uname 或者 hostname 查看是否有主机名,进一步可以用 ping 命令验证主机名是否正确,如果 ping 不通则不正确,还可以检查 /etc/hosts 查看 IP 和主机名的对应关系是否正确。


www.htsjk.Com true http://www.htsjk.com/shujukujc/19143.html NewsArticle DB2数据库移植常见问题全面解析(1) 安装与配置 在 Linux 下重新安装 DB2 之后无法建立 DB2INST1 的实例,提示已经存在 解决办法: 删除 /var/db2/v81 目录,再重新创建实例; 原因分析: 在重...
评论暂时关闭