【DM】-6521: 当前触发器不支持DDL语句

问题:当代码块中有DDL(create,delete,alter)等操作时,报错“当前触发器不支持DDL语句”。这个问题是因为DDL_TV_TRIGGER参数值为0导致

解决:需要在数据库目录下面的ini文件中增加DDL_TV_TRIGGER该参数解决;默认情况下,该参数值为0是关闭的;

首先查询配置文件中参数名称包含DDL;(其实我在第一次查询时是没有这个参数的,所以直接手动在参数配置文件中新增的
select * from v$dm_ini where para_name like ‘%DDL%’;

Windows

   手动修改数据库下dm.ini的参数信息
   1、找到DM数据库安装目录,找到data文件,找到数据库文件夹, 打开dm.ini。

   2、添加参数: DL_TV_TRIGGER= 1  #Whether support ddl for table trigger
     这个位置尽量DDL自动提交的参数放在一起 
   

   系统函数修改配置参数的方法(如果上诉语句查询没有该参数,则无法实现修改)
    SP_SET_PARA_VALUE(2,'DDL_TV_TRIGGER',1);

    修改完重启数据实例;打开DM服务查看器即可重启;

Linux

   1、使用Xshell 连接数据库服务器(用户名,密码) 
   2、命令步骤(DM安装数据库时,一般默认就是这么目录)
         cd ../
         cd opt/
         cd dmdbms/
         cd data/
         cd DAMENG/
   3、使用Xftp 把dm.ini 放到本地,增加参数
      DDL_TV_TRIGGER= 1  #Whether support ddl for table trigger
   4、查看数据库状态
    systemctl status DmServiceDMSERVER.service
   5、重启数据库
     systemctl restart DmServiceDMSERVER.service
     最后提示Started DM Instance 证明Service(DmServiceDMSERVER).. 已启动实例服务。

posted @ 2024-02-04 15:07  喝了烫嘴的水  阅读(19)  评论(0编辑  收藏  举报