DBlink的迁移(dblink中的密码未知)(二)

2015-11-21 01:53:21 · 作者: · 浏览: 15
inna >select * from dba_db_links; OWNER DB_LINK USERNAME HOST CREATED ------------------------------ ------------------------------ ------------------------------ ------------------------------ --------- PUBLIC TEST SCOTT ginna 06-MAR-15 PUBLIC TEST2 SEVEN seven 06-MAR-15 ginna >
当然如果不flush shared pool的话直接删除db link则会遭遇ora-600内部报错:
SQL> drop public database link test2;
drop public database link test2
                          *
ERROR at line 1:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [16500], [kqdDBLinkUpdate], [3], [0], [TEST2], [], [], [], [], [], [], []
Process ID: 11165
Session ID: 152 Serial number: 359


SQL> 
SQL> create public database link test2 connect to seven identified by oracle using 'seven';
ERROR:
ORA-03114: not connected to ORACLE


SQL> conn / as sysdba
Connected.
SQL> create public database link test2 connect to seven identified by oracle using 'seven';

Database link created.

SQL> drop public database link test2;

Database link dropped.

SQL> 

当然我们也可以不创建test2这个db link,主要就是将trans1这张中间表迁移至ginna库就可以了,这有很多方法,可以直接使用exp/imp或者数据泵都可以。条条大道通罗马,方法有很多种,主要就是将seven端的sys.link$基表迁移至ginna端并替换掉ginna端的sys.link$。