问题
CREATE TYPE GOO IS OBJECT(ID NUMBER);
创建自定义类型明明没有错误,但是就是出现语法错误;
问题分析
自己又重新建了一个实例执行
CREATE TYPE GOO IS OBJECT(ID NUMBER);
思考片后,一定是数据库某项参数配置有问题。于是查看《DM8系统管理员手册》发现的确有屏蔽关键字的参数:
SELECT * FROM "V$DM_INI" WHERE "V$DM_INI".PARA_NAME LIKE 'EXCLUDE_RESERVED_WORDS';
罪魁祸首果真是他,但是如果把该关键字TYPE去除掉,其他SQL肯定会受影响。
解决办法
1、去除掉该关键字
SF_SET_SYSTEM_PARA_VALUE('EXCLUDE_RESERVED_WORDS','',1,2);
该参数是静态参数,重启数据库后生效;
2、另外的话如果SQL需要屏蔽关键字,我们可以在dm_svc.config里面配置(必须修改应用服务器上的这个文件)
vi /etc/dm_svc.config
TIME_ZONE=(480)
LANGUAGE=(cn)
DM=(10.10.11.11:5236)
KEYWORDS=TPYE