Oracle创建数据库链接失败:ORA-01031权限不足问题求助
解决ORA-01031权限不足创建数据库链接的思路
核心问题分析
你以SYSDBA身份切换current_schema为s1后创建数据库链接,本质操作身份仍是SYSDBA,但创建私有数据库链接时,需确保目标模式(s1)拥有对应权限,且创建方式正确。
具体解决步骤
确认权限授予有效性
以SYSDBA身份执行以下SQL,验证s1是否确实拥有CREATE DATABASE LINK权限:SELECT privilege FROM dba_sys_privs WHERE grantee = 'S1' AND privilege = 'CREATE DATABASE LINK';如果查询无结果,重新授予权限:
GRANT CREATE DATABASE LINK TO s1;直接指定模式创建数据库链接
无需切换current_schema,直接以SYSDBA身份创建属于s1的私有数据库链接,避免身份切换带来的权限混淆:CREATE DATABASE LINK s1.dblinkname CONNECT TO t1 IDENTIFIED BY password USING 'DB2';验证DB2端t1用户权限
确保DB2数据库中的t1用户拥有CREATE SESSION权限,否则即使链接创建成功,后续连接也会失败:-- 在DB2以SYSDBA身份执行 GRANT CREATE SESSION TO t1;检查TNS配置正确性
确认DB1服务器的tnsnames.ora文件中DB2的配置无误,错误的TNS配置可能引发类似权限不足的误导性报错。
内容的提问来源于stack exchange,提问作者RAHUL SONI
相关产品推荐
相关产品推荐

