當用戶要跨本地數據庫,訪問另外一個數據庫表中的數據時ora03113 創建數據庫時,本地數據庫中必須創建了遠程數據庫的,通過本地數據庫可以像訪問本地數據庫一樣訪問遠程數據庫表中的數據。下面講介紹如何在本地數據庫中創建.
創建一般有兩種方式,不過在創建之前用戶必須有創建的權限。想知道有關的權限,以sys用戶登錄到本地數據庫:
* from t
where t. like upper('%link%');
1 SYS LINK NO
2 SYS DROP LINK NO
3 SYS LINK NO
可以看出在數據庫中有三種權限 LINK(所創建的只能是創建者能使用ora03113 創建數據庫時,別的用戶使用不了), LINK(表示所創建的所有用戶都可以使用),DROP LINK。
在sys用戶下,把 LINK,DROP LINK權限授予給你的用戶
grant LINK,DROP LINK to scott;
然后以scott用戶登錄本地數據庫
1.創建的第一種方式,是在本地數據庫.ora文件中配置了要遠程訪問的數據庫。
link
to scott by tiger using 'bylw';
其中是你創建的名字,bylw是遠程數據庫的實例名,scott/tiger是登錄到遠程數據庫的用戶/密碼。然后在本地數據庫中通過訪問遠程數據庫'bylw'中scott.表,sql語句如下所示
* from scott.@;
2.創建的第二種方式,是在本地數據庫.ora文件中沒有配置要訪問的遠程數據庫,
link
to scott by tiger
using '( =
(=
( = ( = TCP)(HOST = 192.168.1.5)(PORT = 1521))
)
( =
( = )
( = bylw)
)
)';
第二種是把第一種配置在.ora文件中的信息,直接放在創建語句后面。第一種情況.ora文件中信息如下:
bylw =
( =
( =
( = ( = TCP)(HOST = 192.168.1.5)(PORT = 1521))
)
( =
( = )
( = bylw)
)
)