oracle之DBLINK
建立oracle dblink
1 在本地伺服器上授予建立DBLINK的許可權
SQL> conn /as sysdba
已連線。
SQL> grant create public database link to scott;
授權成功。
1 在本地伺服器上授予建立DBLINK的許可權
SQL> conn /as sysdba
已連線。
SQL> grant create public database link to scott;
授權成功。
2 在遠端伺服器上建立相應的賬戶
3 在遠端伺服器上查詢GLOBAL_NAME
SQL> select * from global_name;
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------
--------------------------------
WNPMPDAT
4 建立DBLINK
A 在本地伺服器建立DBLINK(已經配置本地服務)
SQL> conn scott/qilin
已連線。
SQL> create public database link wnpmpdat connect to scott identified by qilin u
sing 'qilin137';
A 在本地伺服器建立DBLINK(已經配置本地服務)
SQL> conn scott/qilin
已連線。
SQL> create public database link wnpmpdat connect to scott identified by qilin u
sing 'qilin137';
資料庫連結已建立。
A wnpmpdat 是遠端伺服器上查詢到的GLOBAL_NAME
B scott 是遠端伺服器上使用者 qilin是遠端伺服器上scott的密碼
C qilin137是本地建立的連線到遠端伺服器的資料庫的服務名
B scott 是遠端伺服器上使用者 qilin是遠端伺服器上scott的密碼
C qilin137是本地建立的連線到遠端伺服器的資料庫的服務名
B 在本地伺服器建立DBLINK(未配置本地服務)
create database link wnpmpdat
connect to scott identified by scott
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.189.137)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = wnpmpdat)
)
)';
create database link wnpmpdat
connect to scott identified by scott
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.189.137)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = wnpmpdat)
)
)';
5 測試連線是否成功
SQL> select * from dept@wnpmpdat;
SQL> select * from dept@wnpmpdat;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
6 在遠端資料庫伺服器SCOTT的使用者表DEPT上插入一條記錄
SQL> conn scott/qilin
已連線。
SQL> insert into dept values(80,'wang','li');
SQL> conn scott/qilin
已連線。
SQL> insert into dept values(80,'wang','li');
已建立 1 行。
SQL> commit;
提交完成。
7 在本地伺服器上通過DBLINK的連線查詢驗證結果
SQL> select * from dept@wnpmpdat;
SQL> select * from dept@wnpmpdat;
DEPTNO DNAME LOC
---------- -------------- -------------
80 wang li
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> conn scott/qilin
已連線。
SQL> select * from dept;
---------- -------------- -------------
80 wang li
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> conn scott/qilin
已連線。
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> select * from dept@wnpmpdat minus select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
80 wang li
---------- -------------- -------------
80 wang li
8 查詢已經建立的遠端連線名
SQL> col owner for a20;
SQL> col object_name for a40;
SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
SQL> col owner for a20;
SQL> col object_name for a40;
SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER OBJECT_NAME
-------------------- ----------------------------------------
PUBLIC DBMS_CLRDBLINK
PUBLIC WNPMPDAT
-------------------- ----------------------------------------
PUBLIC DBMS_CLRDBLINK
PUBLIC WNPMPDAT
9 檢視Global_name引數是true還是False
SQL> col parameter for a20;
SQL> col value for a10;
SQL> select * from v$option where PARAMETER='Advanced replication';
SQL> col parameter for a20;
SQL> col value for a10;
SQL> select * from v$option where PARAMETER='Advanced replication';
PARAMETER VALUE
-------------------- ----------
Advanced replication TRUE
-------------------- ----------
Advanced replication TRUE
Advanced replication為TRUE,則支援高階複製功能;否則不支援。
SQL> show parameter global_name;
NAME TYPE VALUE
------------------------------------ ----------- --------
global_names boolean FALSE
------------------------------------ ----------- --------
global_names boolean FALSE
引數global_name=true時要求資料庫連結名稱跟遠端資料庫名稱一樣
兩個同名的資料庫間不得建立dblink;
兩個同名的資料庫間不得建立dblink;
11 查詢建立的DBLINK的資訊
SQL> desc dba_db_links;
SQL> desc dba_db_links;
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
會話已更改。
SQL> select * from dba_db_links;
OWNER DB_LINK USERNAME HOST CREATED
-------- ------------ ---------- -------------------- -------------------
PUBLIC DBMS_CLRDBLI ORACLR_CONNECTION_DA 2012-02-08 17:19:57
NK TA
-------- ------------ ---------- -------------------- -------------------
PUBLIC DBMS_CLRDBLI ORACLR_CONNECTION_DA 2012-02-08 17:19:57
NK TA
PUBLIC WNPMPDAT SCOTT qilin137 2012-05-16 14:46:31
12 刪除DBLINK
SQL>DROP PUBLIC DATABASE LINK wnpmpdat
SQL>DROP PUBLIC DATABASE LINK wnpmpdat
13 給DBLINK建立同義詞,用來查詢方便和系統的安全
SQL> select * from dept@wnpmpdat minus select * from dept;
SQL> select * from dept@wnpmpdat minus select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
80 wang li
---------- -------------- -------------
80 wang li
SQL> create synonym re_scott_dept for dept@wnpmpdat;
同義詞已建立。
SQL> select * from re_scott_dept;
DEPTNO DNAME LOC
---------- -------------- -------------
80 wang li
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
---------- -------------- -------------
80 wang li
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20976446/viewspace-729929/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle dblink監聽問題Oracle
- 配置Oracle DBlink連線MySQL庫OracleMySql
- oracle dblink用法總結和expdp和impdp利用dblink倒入匯出到本地Oracle
- Oracle DBLink中CLOB報錯ORA-22992Oracle
- 達夢7異構(DM-Oracle) DBLINKOracle
- Oracle19c dblink連結mysql8.0OracleMySql
- Oracle DBLink bug引發的故障(Session Hang Memory leak)OracleSession
- [Oracle-> MySQL] Oracle通過dblink連線MySQL--Oracle 19c連線到MySQL 5.7OracleMySql
- Oracle DBLink連線數過多的問題(Ora-02020)Oracle
- Oracle建立dblink報錯:ORA-01017、ORA-02063解決Oracle
- 建立dblink
- 達夢DBlink叢集之間通訊搭建
- 【YashanDB知識庫】oracle dblink varchar型別查詢報錯記錄Oracle型別
- 配置ORACLE資料庫到達夢資料庫的異構DBLINKOracle資料庫
- PostgreSQL DBA(58) - DBLinkSQL
- 不能刪除DBLINK
- Oracle DBLink跨資料庫訪問SQL server資料同步 踩坑實錄Oracle資料庫SQLServer
- ORACLE通過透明閘道器建dblink連線Postgresql的幾個問題OracleSQL
- dblink建立語句模板
- Oracle資料庫連結(DBLink)中如何訪問包含BLOB欄位的資料Oracle資料庫
- SQL Server建立dblink至MySQLServerMySql
- 【DBLINK】DBLINK域名問題及與global_name和db_domian的關係
- dblink涉及的表的賦權
- MySQL下的DBlink--FEDERATED引擎MySql
- 【等待事件】SQL*Net message from dblink事件SQL
- ORACLE基礎之oracle鎖(oracle lock mode)詳解Oracle
- Oracle之結構Oracle
- ORACLE dblink遠端DB表truncat導致本地proc執行報錯ORA-12012&ORA-06550&PLS-00907Oracle
- 【等待事件】SQL*Net more data from dblink事件SQL
- 【TUNE_ORACLE】Oracle Hint之概念與用法Oracle
- oracle之 如何 dump logfileOracle
- oracle之 反向鍵索引Oracle索引
- LightDB/postgresql內建特性之訪問oracle之oracle_fdw介紹SQLOracle
- Oracle調優之看懂Oracle執行計劃Oracle
- sql中select列有自定義函式 dblinkSQL函式
- powerbuildr中如何使用dblink連線的表UI
- 達夢7同構(DM-DM)DBLINK
- 如何通過DBLINK取remote DB的DDLREM
- 再議包含DBLINK的查詢優化優化