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 12.2 使用Database Link優化Standby Database WorkloadOracleDatabase優化
- [20210723]Database link and user defined datatypes.txtDatabase
- Room Database完全使用手冊OOMDatabase
- 【譯】使用 Source Link 提高除錯效率除錯
- 雲原生 Serverless Database 使用體驗ServerDatabase
- 4.3.3 使用CREATE DATABASE語句建立CDBDatabase
- Useful link
- The database owner SID recorded in the master database differs from the database owner SID recorded in database 'DB_NAME'DatabaseAST
- toad使用(檢視alert日誌、Database Report)Database
- 2.4.1 使用 CREATE DATABASE 子句建立資料庫Database資料庫
- Kubernetes as Database: 使用kubesql查詢kubernetes資源DatabaseSQL
- h2database在springboot中的使用DatabaseSpring Boot
- 使用RMAN複製資料庫 active database資料庫Database
- Error querying database. XXXXXXXXXXXXX, No database selected。ErrorDatabase
- Convert a Physical Standby Database into a Snapshot Standby DatabaseDatabase
- Oracle Database Cloud - Database as a Service Quick StartOracleDatabaseCloudUI
- 使用joinjs繪製流程圖(四)-Link物件屬性JS流程圖物件
- TestFlight Public Link
- 在 Google Kubernetes Cluster 上使用 HANA Expression Database ServiceGoExpressDatabase
- 2.4 使用 CREATE DATABASE 語句建立資料庫Database資料庫
- Database TimeoutDatabase
- database no shardingDatabase
- Database OverallDatabase
- link和@import引入css 區別,不建議使用@importImportCSS
- Oracle data link建立Oracle
- useful link for compiling segmap
- 4.3.4 使用CREATE DATABASE語句建立一個CDB:示例Database
- ThinkPHP5 使用 Laravel 的建立軟連結命令 storage:linkPHPLaravel
- Relationship Database DesignDatabase
- 3.4 Quiescing a DatabaseUIDatabase
- database的connectDatabase
- Oracle clone databaseOracleDatabase
- idea--DatabaseIdeaDatabase
- ORACLE database vaultOracleDatabase
- Password is required when adding a database to AG group if the database has a master keyUIDatabaseAST
- ORA-16649: possible failover to another database prevents this database from beiAIDatabase
- 【Quest3】copy link
- D-Link 漏洞挖掘
- linux symbolic link attack tutorialLinuxSymbol