以下的文章主要介紹的是布式Oracle database link的實際操作步驟以及在實際操作中我麼應注意什麼事項描述,如果你對其相關的實際操作有興趣的話,你就可以對以下的文章點擊觀看了。
訪問方式:
- select * from MyTableSpace.MyTable@MyDB
1.創建私有連接
- create database link fmydb connect to lpuser identifIEd by lpuser1 using 'lp10.119.40.7'
- drop database link fmydb [注意此處不能有public]
2.創建公共連接
- create public database link fmydb connect to sys identifIEd by sys using 'lp10.119.40.7'
- drop public database link fmydb [注意此處必須有public]
前面有public 與沒有public 的區別是:有public 則此機上的所有Oracle用戶都可以查詢遠程庫,如無public則此機上只有創建此連接的用戶有權查詢遠程庫。
如創建全局dblink,則必須使用systm或sys用戶。
一、兩種創建方式
第一種:
1.根據遠端的信息用Net Manager設置好能連接遠端的服務及監聽程序。
2.
- create public database link fwq12
- connect to fzept identifIEd by neu
using 'fjept' //fjept為剛剛配置好的服務名
第二種:
直接建立鏈接:
- create database link linkfwq
- connect to fzept identifIEd by neu
- using '(DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = fjept)
- )
- )';
CREATE SYNONYM 同義詞名 FOR 表名;
CREATE SYNONYM 同義詞名 FOR 表名@數據庫鏈接名;
刪除dblink:DROP PUBLIC DATABASE LINK linkfwq。
假如創建全局dblink,則必須使用systm或sys用戶,在database前加public
- SQL>create synonym bJScottemp for emp@beijing;
於是就可以用bJScottemp來替代帶@符號的分布式鏈接操作emp@beijing。
ORA-02019:未找到遠程數據庫的連接說明
1.>>> 建立 DATABASE LINK
- CREATE PUBLIC DATABASE LINK ABC
- CONNECT TO SA IDENTIFIED BY PASSWord
- USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.100)
(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = AAA)))';
2.>>> 測試
- select * from test@ABC
3.>>>請注意使用 DBLINK 時,INIT.ORA中 GLOBAL_NAME 的設置,
如果為 ture , 請使用DBLINK的全稱,可在 all_db_links 中查到,如果為 FALSE, 不必使用全稱,當出現
“ORA-02019:為找到遠程數據庫的連接說明”時,請使用全稱,如:
- select * from [email protected]
4.
- SQL> select * from global_name;
- GLOBAL_NAME
- LOCALSR
5.>>>> update global_name set GLOBAL_NAME = 'LOCALSR.US.Oracle.COM' where GLOBAL_NAME = 'LOCALSR'
6.>>>重啟例程>>ok
- SQL> desc global_name;
- Name Type Nullable Default Comments
- GLOBAL_NAME VARCHAR2(4000) Y global database name
上述的相關內容就是對Oracle database link的描述,希望會給你帶來一些幫助在此方面。