Database Link使用
環境說明:
本地資料庫
ip:192.168.1.35
遠端資料庫
ip:192.168.1.135
實驗目的:
本地資料庫scott使用者訪問遠端資料庫test使用者下的t_link表
1、遠端資料庫建立表t_link表
SQL> create table t_link(id int,name varchar(10));
表已建立。
SQL> insert into t_link values(1,'a');
已建立 1 行。
SQL> insert into t_link values(2,'b');
已建立 1 行。
SQL> insert into t_link values(3,'c');
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t_link;
ID NAME
---------- ----------
1 a
2 b
3 c
SQL> select *from user_db_links;
DB_LINK USERNAME PASSWORD HOST CREATED
-------------------------------------------------- ------------------------------ ------------------------------ ---------- ------------
TEST_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST aux 25-1月 -15
以sys檢視
SQL> select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED
---------- -------------------------------------------------- -------- ---------- ---------------
SCOTT TEST_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST aux 25-JAN-15
本地資料庫
ip:192.168.1.35
遠端資料庫
ip:192.168.1.135
實驗目的:
本地資料庫scott使用者訪問遠端資料庫test使用者下的t_link表
1、遠端資料庫建立表t_link表
SQL> create table t_link(id int,name varchar(10));
表已建立。
SQL> insert into t_link values(1,'a');
已建立 1 行。
SQL> insert into t_link values(2,'b');
已建立 1 行。
SQL> insert into t_link values(3,'c');
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from t_link;
ID NAME
---------- ----------
1 a
2 b
3 c
2、在本地資料庫配置好網路服務名連線遠端資料庫
AUX =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.135)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = kk)
)
)
3.在本地資料庫soctt使用者建立dblink
scott要用create database link許可權
SQL> conn / as sysdba
已連線。
SQL> grant create database link to scott;
授權成功。
SQL> conn scott/tiger
已連線。
SQL> create database link test_link connect to test identified by test using 'aux';
資料庫連結已建立。
檢視建立的db linkAUX =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.135)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = kk)
)
)
3.在本地資料庫soctt使用者建立dblink
scott要用create database link許可權
SQL> conn / as sysdba
已連線。
SQL> grant create database link to scott;
授權成功。
SQL> conn scott/tiger
已連線。
SQL> create database link test_link connect to test identified by test using 'aux';
資料庫連結已建立。
SQL> select *from user_db_links;
DB_LINK USERNAME PASSWORD HOST CREATED
-------------------------------------------------- ------------------------------ ------------------------------ ---------- ------------
TEST_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST aux 25-1月 -15
以sys檢視
SQL> select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED
---------- -------------------------------------------------- -------- ---------- ---------------
SCOTT TEST_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST aux 25-JAN-15
4.本地scott使用者訪問遠端資料庫中的表
SQL> select *from t_link@test_link;
ID NAME
---------- ----------
1 a
2 b
3 c
以test使用者訪問報錯
SQL> select *from t_link@test_link;
select *from t_link@test_link
*
ERROR at line 1:
ORA-02019: connection description for remote database not found
因為以上建立的是私有db link,其他使用者不能使用,如果想test使用者也能使用,則需要建立公有db link,我們再建立一個公有db link
SQL> conn / as sysdba
Connected.
SQL> create public database link p_test_link connect to test identified by test using 'aux'; --建立公有db link
Database link created.
SQL> select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED
---------- -------------------------------------------------- -------- ---------- ------------
PUBLIC P_TEST_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST aux 25-JAN-15
SCOTT TEST_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST aux 25-JAN-15
SQL> conn test/test
Connected.
SQL> select * from user_db_links;
no rows selected
SQL> select *from t_link@p_test_link;
ID NAME
---------- ------------------------------
1 a
2 b
3 c
scott使用者
SQL> select *from t_link@p_test_link;
ID NAME
---------- ----------------------------
1 a
2 b
3 c
建立公有db link,本地所有使用者都能使用這個公有db link
SQL> select *from t_link@test_link;
ID NAME
---------- ----------
1 a
2 b
3 c
以test使用者訪問報錯
SQL> select *from t_link@test_link;
select *from t_link@test_link
*
ERROR at line 1:
ORA-02019: connection description for remote database not found
因為以上建立的是私有db link,其他使用者不能使用,如果想test使用者也能使用,則需要建立公有db link,我們再建立一個公有db link
SQL> conn / as sysdba
Connected.
SQL> create public database link p_test_link connect to test identified by test using 'aux'; --建立公有db link
Database link created.
SQL> select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED
---------- -------------------------------------------------- -------- ---------- ------------
PUBLIC P_TEST_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST aux 25-JAN-15
SCOTT TEST_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST aux 25-JAN-15
SQL> conn test/test
Connected.
SQL> select * from user_db_links;
no rows selected
SQL> select *from t_link@p_test_link;
ID NAME
---------- ------------------------------
1 a
2 b
3 c
scott使用者
SQL> select *from t_link@p_test_link;
ID NAME
---------- ----------------------------
1 a
2 b
3 c
建立公有db link,本地所有使用者都能使用這個公有db link
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28841119/viewspace-1629949/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle database link 的使用OracleDatabase
- database link概述Database
- CREATE DATABASE LINKDatabase
- 建立Database LinkDatabase
- oracle database linkOracleDatabase
- Management on database linkDatabase
- Oracle 12.2 使用Database Link優化Standby Database WorkloadOracleDatabase優化
- Database Link的建立Database
- Oracle Database Link ProblemsOracleDatabase
- Oracle database link 詳解OracleDatabase
- oracle database link 應用OracleDatabase
- oracle database link (dblink) 工作原理OracleDatabase
- Oracle Database Link Problems【Blog 搬家】OracleDatabase
- database link 關閉session問題DatabaseSession
- Database Link 建立注意的兩點Database
- 關於database link的物件型別Database物件型別
- create database link中的identified by valuesDatabaseIDE
- 分散式資料庫元件——Database Link分散式資料庫元件Database
- ORA-02085 - database linkDatabase
- database link故障處理一例Database
- Database link 明文密碼bug 更正了Database密碼
- 資料庫連結(database link)小結資料庫Database
- ORA-02024: database link not foundDatabase
- ORACLE實驗(move表空間和database link)OracleDatabase
- Database Link 建立注意的兩點【Blog 搬家】Database
- expdp_impdp使用network_link遠端使用者需要EXP_FULL_DATABASE角色Database
- EXP-00106:Invalid Database Link PasswordsDatabase
- Oracle11gr2新增ALTER DATABASE LINK語法OracleDatabase
- oracle create database link_資料庫連結測試OracleDatabase資料庫
- 【ORA-02011】duplicate database link nameDatabase
- [20210723]Database link and user defined datatypes.txtDatabase
- oracle 11.2.0.4之oracle database db link之測試明細之一OracleDatabase
- 刪除 Dblink 報錯 ORA-02024: database link not foundDatabase
- ora-02085的解決:Database Link與GLOBAL_NAMES引數Database
- 透過Database Link/IMPDP,同步10G、11G資料庫失敗Database資料庫
- 【譯】使用 Source Link 提高除錯效率除錯
- 11g匯出報錯:EXP-00106: Invalid Database Link PasswordsDatabase
- 使用非oracle使用者建立databaseOracleDatabase