达梦数据库的参数文件dm.ini文件参数有三种类型
read only 数据库运行的时候,参数不能修改
sys session 动态参数,修改参数文件和内存
In file 静态参数 只能修改参数文件,重启数据库实例才生效

查询参数文件的类型
SQL> select para_name,para_value,para_type from v$dm_ini;

达梦数据库INI参数文件的修改,以支持oracle迁移_第1张图片
这里我们需要达梦兼容oracle
达梦数据库INI参数文件的修改,以支持oracle迁移
0:不兼容,1:兼容SQL92标准,2:兼容ORACLE,3:兼容MS SQL SERVER,4:兼容MYSQL

可以查看到
SQL> select para_name,para_value,para_type from v$dm_ini where para_name='COMPATIBLE_MODE';

行号 PARA_NAME PARA_VALUE PARA_TYPE


1 COMPATIBLE_MODE 0 IN FILE

已用时间: 11.692(毫秒). 执行号:31.

可以看到原来COMPATIBLE_MODE的值是0,需要修改为2,原来默认参数类型是IN FILE

修改参数的方法:
sp_set_para_value(范围,参数名称,参数值);
范围:1 修改内存和参数文件
2 修改参数文件

这里我们需要指定修改参数的范围为2

SQL>sp_set_para_value(2,'COMPATIBLE_MODE',2);
DMSQL 过程已成功完成
已用时间: 44.489(毫秒). 执行号:33.

重启达梦数据库,重新登录后查询
[root@nk ~]# service DmServiceTEST restart
Stopping DmServiceTEST: [ OK ]
Starting DmServiceTEST: [ OK ]
[root@nk ~]# chkconfig --list | grep Dm
DmAPService 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
DmServiceTEST 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@nk ~]# ps -ef | grep dmserver
dmdba 26829 1 2 10:49 pts/0 00:00:00 /dm7/bin/dmserver /dm7/data/TEST/dm.ini -noconsole
root 26916 3252 0 10:50 pts/0 00:00:00 grep dmserver

SQL> select para_name,para_value,para_type from v$dm_ini where para_name='COMPATIBLE_MODE';

服务器[LOCALHOST:5236]:处于普通打开状态
已连接

行号 PARA_NAME PARA_VALUE PARA_TYPE


1 COMPATIBLE_MODE 2 IN FILE