一 问题描述

执行如下grant授权sql

grant select,delete,update,insert on sgpm.e_prc_rela to C_CONS;

时报错:grant报错ORA-02021: 不允许对远程数据库进行 DDL 操作

可是我这里看起来没有指定DBLINK呀

二 排查思路

检查下该对象类型

select owner,object_name,object_type from dba_objects where object_name='C_CONS' AND OWNER='SGPM';

发现该对象是个同义词SYNONYM。

查看该同义词定义,发现用到了DBLINK:

SELECT DBMS_METADATA.GET_DDL('SYNONYM','C_CONS','SGPM') from dual;

CREATE OR REPLACE SYNONYM "SGPM"."C_CONS" FOR "SGPM"."C_CONS"@"test""

所以没法对远程数据库进行DDL操作。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐