在Oracle本地數據庫端執行賦權dbuser帳號
SQL> grant create database link to dbuser;
1.配置本地數據庫服務器的tnsnames.ora文件
$vi $ORACLE_HOME/network/admin/tnsnames.ora
添加如下行,其中DBLINK為連接名(可自定義),HOST和PORT為數據庫偵聽的IP及端口,SERVICE_NAME為數據庫的SID,
MEDIADBLINK = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = db) ) )
2.登錄到本地數據庫,創建database link
執行如下查詢語句,其中MEDIADB為database link名(可自定義),MEDIADBLINK為先前在tnsnames.ora中定義的連接名,
dbuser為用戶名,password為密碼
-- Create database link create database link MEDIADB connect to dbuser identified by password using 'MEDIADBLINK';
注意:這里不會驗證用戶名密碼的正確性
3.使用鏈接的數據庫
3.1 查詢、刪除和插入數據和操作本地的數據庫是一樣的,只不過表名需要寫成“表名@database link名”,如
select * from table_name@MEDIADB ;
3.2 也可以為這個表創建一個同義詞
create synonym aaa for table_name@MEDIADB ;
如下語句的效果和3.1中的一樣
select * from aaa;
刪除同義詞的語句為
drop synonym aaa;
以下是其他網友的補充:
在Oracle本地數據庫端執行賦權dbuser帳號
SQL> grant create database link to dbuser;
配置本地數據庫服務器的tnsnames.ora文件
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
增加需要遠程連接服務器的連接配置,如:
ORCL_REMOTE =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oradb )(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))
登錄到本地數據庫,創建database link
執行如下查詢語句,其中ORCL_LINK為database link名(可自定義),ORCL_REMOTE為先前在tnsnames.ora中定義的連接名,
dbuser為用戶名,password為密碼
create database link ORCL_LINK connect to dbuser identified by password using 'ORCL_REMOTE';
查詢創建database link的2中方式:
1)、執行SQL語句。
select * from user_db_links; --用戶 DB Link
select * from dba_db_links; --dba DB Link
select * from v$dblink; --當前DB Link
2)、在PL/SQL中,在左邊瀏覽器中點擊database links就可以看到數據庫鏈路了。
使用鏈接的數據庫
查詢、刪除和插入數據和操作本地的數據庫是一樣的,只不過表名需要寫成“表名@database link名”,如
select * from table_name@ORCL_LINK
其它:
刪除database link(本例中是ORCL_LINK)
SQL> Drop database link ORCL_LINK;
新聞熱點
疑難解答