DM数据库报错集合
DMHS安装部署报错
Oracle端的报错
-
启动dmhs时失败并报错
-
解决方法:这里就是没有密钥key,需要拥有DM数据库对应的key,然后将其命名为
dmhs.key
,并放在dmhs安装路径的bin目录下,就可直接运行
-
-
Oracle乱码
-
原因:数据库、客户端、系统三者的字符集编码不一致,需要调整一致。
-
解决方法:查询三者的字符集,然后统一改为一个字符集
-
数据库
select userenv('language') from dual; ##查询字符集 ##修改过程如下: $ sqlplus / as sysdba; SQL> shutdown immediate; SQL> startup mount; SQL> alter system enable restricted session; SQL> alter system set job_queue_processes=0; SQL> alter database open; SQL> alter database character set internal_use AL32UTF8; 或者 ALTER DATABASE character set INTERNAL_USE ZHS16GBK; SQL> shutdown immediate; SQL> startup SQL>alter system disable restricted session;
-
系统
local ##查询
-
客户端
cat ~/.bash_profile ##查询 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
-
-
VERI配置使用报错
DM8端
-
启动Agent失败,缺少依赖项
libdmoci.so
-
解决方法:肯定在系统上有该文件,否则dmhs也会启动失败。所以直接在系统里面搜索该文件,然后copy到bin目录下
-
Oracle端
-
ODBC驱动无法正常连接
-
原因:没有修改对应的环境变量
-
解决方法:配置相应的环境变量
cat>>$HOME/.bashrc<<EOF export PATH export DISPLAY=:0 export DM_HOME=/opt/dmhs/db export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/dmhs/db/bin:/opt/dmhs/bin" export PATH=$PATH:/$HOME/bin:$/HOME/.local/bin EOF
- 成功运行驱动
-
-
Oracle启动VERI报错
-
原因:Oracle数据库这边连接不上DM数据库
-
解决方法:修改配置文件,先保证能够连接上DM数据
-
使用
isql -v DM8
查看连接情况,同时检查报错信息 -
同样是报的文件找不到,事实上存在文件,路径也是正确的,那么就只有环境变量未配置生效
-
解决方法:配置环境变量,使用root权限配置全局变量
-
同时对比一下ODBC的配置文件,要能够在依赖路径下面存在
-
-
再次尝试连接
- 成功连接上
-
-
连接数据库的问题解决,接下来就是解决开始的报错问题,这里就进行VERI对比,查看情况
- 成功进行对比,同时生成了对比日志
-
Oracle=>DM8数据库迁移报错修改
DM端
-
Oracle数据迁移到DM时XML函数在DM上的报错
-
原因:Oracle支持使用的XML函数为
XMLPARSER
和xmldom
,而在DM数据库中没有该函数,那么在编译时就会发出非法类名的报错。 -
解决方法:将Oracle中使用的XML函数替换为DM数据库中支持的函数。XMLPARSER=>DBMS_XMLPARSER;xmldom=>dbms_xmldom
-
结果:编译成功
-
DM数据库切换模式
-
DM数据库从MOUNT模式切换到OPEN模式报错
-
原因:该服务器启用了主备状态,处于MOUNT状态,且dmwatcher进程开启
-
解决方法:先将watcher、monitor关闭,再执行下面操作
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); --按照提示修改数据库模式 DMSQL 过程已成功完成 已用时间: 7.464(毫秒). 执行号:0. SQL> alter database open; alter database open; 第1 行附近出现错误[-516]:非NORMAL模式需要OPEN FORCE. 已用时间: 0.276(毫秒). 执行号:0. SQL> alter database open force; 操作已执行 已用时间: 99.524(毫秒). 执行号:0.
- 数据库状态修改成功
-
Linux中yum命令不能使用
-
在Linux中想使用yum下载东西,但是系统表示yum无法使用
-
原因:由于YUM仓库源无法找到或无法访问,导致YUM无法正常工作。官方CentOS停止了该仓库源,所以使用会报错。
-
解决:换源,换成阿里云或者其他国内的的yum源
sudo nano /etc/yum.repos.d/CentOS-Base.repo
-
将内容替换为下面内容:
[base] name=CentOS-$releasever - Base - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-$releasever - Updates - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-$releasever - Extras - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [centosplus] name=CentOS-$releasever - Plus - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
-
清理并重建缓存
sudo yum clean all sudo yum makecache sudo yum update
-
-
DMDSC搭建报错
初始化实例时报错
-
初始化实例时报错,无法创建数据库实例
-
原因:创建DMDATA磁盘失败,所以系统识别不到路径,自然就不会成功
-
解决方法:重新创建ASM磁盘
- 再次创建数据库实例,成功
-
-
启动数据库实例报错,不存在日志文件,无法启动数据库
-
原因:创建ASM磁盘组时,创建
DMLOG
失败 -
解决方法:启用dmasmtool工具,创建日志磁盘组(DSC1节点)
./dmasmtool dcr_ini=/home/dmdba/config/dmdcr.ini create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
- 重新创建数据库实例,目的是为了REDO日志可以指向磁盘组
-
数据库实例创建好之后,再重新启动,可以成功(注意重新将DSC2文件夹给复制到节点2)
-
-
启动数据实例报错,ASM连接异常
- 原因:ASM服务未启动
- 解决方法:启动ASM服务
-
启动数据库实例报错,端口连接错误
- 原因:5236端口被占用,估计是之前的数据库实例建立的时候给占用了
- 解决:关闭已经启用了的数据库实例
Linux打开网络接口ens33错误
-
先是发现没有IP,于是跑去看网络接口,发现没有开启,就想着手动打开,但是报错
-
原因:MAC地址不正确或者NetworkManager未关闭
-
解决方法:关闭NetworkManager,然后重启
mv /var/lib/NetworkManager /var/lib/NetworkManager.bak reboot
- 出现了IP,说明网络接口成功开启
-
DSC+主备集群搭建报错
备库启动守护进程时报错
-
备库在启动守护进程时报错:
oguid(1000) configured in dmwatcher.ini not equal with local dmserver's oguid(0), cannot build connection!
-
原因:启动的数据库与守护进程所指向的数据库不一致,导致守护进程的OGUID不匹配,无法连接到集群中
-
解决方法:关闭所有启动的数据库,重新启动守护集群指向的数据库,再使用disql工具修改数据库的OGUID
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); SQL>SP_SET_OGUID(1000); SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
-
再次启动守护进程
-
主库启动数据库实例报错
-
在启动数据库实例时,报错
Local instance isDSC cluster,need configure remote archive!
- 原因:数据库未开启归档配置
- 解决方法:进入dm.ini配置文件,搜索ARCH_INI参数,使
ARCH_INI=1
-
报错:
Remote/local archive path is equal to local/remote archive path of the other node,please check ini configure and try again!
- 原因:两个节点的归档配置文件上的本地和远程归档路径没有相互对应
- 解决方法:对比两个节点的dmarch.ini文件,要节点1的本地归档的路径能与节点2的远程归档路径对应
工具MoBoxterm使用
MoBoxterm使用图形化失败
-
使用MoBoxterm启动X Server服务时报错
-
原因:MoBoxterm软件的X Server服务器无法进行Windows到Linux的服务
-
解决方法:使用root用户打开文件进行环境变量配置
vim ~./bashrc ##添加内容 export DISPLAY=192.168.0.28:0(Windows本机IP)
-
再切换到dmdba,配置环境变量(192.168.0.28:0),完成图形化配置
-
总结
- 本文是将我在使用搭建DM数据库相关工具和集群中遇到的问题和报错都给总结起来了,之后还会遇到其他问题,再更新进来。
参考
- 达梦在线服务平台-- https://eco.dameng.com/