【ORA-01922】oracle私有dblink无法通过限定owner删除的原因
2017-07-27 14:05
806 查看
官当中的解释Restriction
on Dropping Database Links
You cannot drop a database link in another user's schema, and you cannot qualify
the name of a schema, because periods are permitted in names of database links. Therefore, Oracle Database interprets the entire name, such as
as the name of a database link in your schema rather than as a database link named
the schema
你无法删除另外一个用户下的dblink,并且无法使用schema限定dblink,因为dblink的名字是允许使用分段的。因此,Oracle数据库将整个名称(如ralph.linktosales)解释为dblink的名称,而不是模式ralph中名为linktosales的dblink。
1.使用dblink的属组用户,可以通过代理方式。
alter user
ralph account unlock;
alter user
ralph grant connect through user01;
conn user01[ralph] -----user01 password
DROP DATABASE LINK
linktosales;
alter user
ralph revoke connect through
user01;
2.在dblink的属组下定义个删除dblink的存储过程,调用这个过程就可以删除私有dblink了。这里就不举例了。
最好就是用第一种方法。
on Dropping Database Links
You cannot drop a database link in another user's schema, and you cannot qualify
dblinkwith
the name of a schema, because periods are permitted in names of database links. Therefore, Oracle Database interprets the entire name, such as
ralph.linktosales,
as the name of a database link in your schema rather than as a database link named
linktosalesin
the schema
ralph.
你无法删除另外一个用户下的dblink,并且无法使用schema限定dblink,因为dblink的名字是允许使用分段的。因此,Oracle数据库将整个名称(如ralph.linktosales)解释为dblink的名称,而不是模式ralph中名为linktosales的dblink。
所以私有的dblink其他用户也是不可以访问的。
所以想要删除私有的dblink。有两种方法1.使用dblink的属组用户,可以通过代理方式。
alter user
ralph account unlock;
alter user
ralph grant connect through user01;
conn user01[ralph] -----user01 password
DROP DATABASE LINK
linktosales;
alter user
ralph revoke connect through
user01;
2.在dblink的属组下定义个删除dblink的存储过程,调用这个过程就可以删除私有dblink了。这里就不举例了。
最好就是用第一种方法。
相关文章推荐
- Oracle通过DBLink操作数据表,报错“ORA-22992:无法使用从远程表选择的lob定位器”
- Oracle通过DBLink操作数据表,报错“ORA-22992:无法使用从远程表选择的lob定位器”
- Oracle通过DBLink操作数据表,报错“ORA-22992:无法使用从远程表选择的lob定位器”
- oracle通过DBLink访问远程数据库的LOB字段报ORA-22992的解决方法
- 查找ORACLE出现“ORA-08177:无法连续访问此事务处理”问题的原因
- ORACLE:ORA-12154 TNS无法解析指定的连接标识符(易忽略原因)
- oracle临时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段
- ora-01017 ora-02063 database link,oracle11.2g通过dblink连接oracle11.2g
- oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
- ORACLE-015:ora-25153 临时表空间为空,ora01652 无法通过128
- Oracle删除用户时候报错ORA-01940无法删除当前已连接用户
- Oracle.DataAccess.Client.OracleException ORA-00600: 内部错误代码,通过C#执行上面存储过程报错,而通过PLSQL执行不报错。谁知道原因。
- Oracle删除不完全导致安装时检测不通过而无法安装的解决办法
- ORA-01251错误oracle服务启动无法连接误删非法删除数据文件导致数据库不能打开ORA-01122 ORA-01251
- Oracle 无法删除表或视图错误,错误代码:ORA-00942
- oracle 删除表空间错误 提示:ora-02429:无法删除用于强制唯一/主键的索引
- 通过文件配置Oracle网络服务,提示无法修改tnsname.ora文件解决办法
- Oracle 删除表空间错误 提示:ora-02429:无法删除用于强制唯一/主键的索引
- oracle临时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段
- oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段