亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle DATABASE LINK(DBLINK)創建與刪除方法

2024-08-29 13:58:54
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Oracle DATABASE LINK(DBLINK)創建與刪除方法,需要的朋友可以參考下
 

Oracle創建、刪除DATABASE LINK

創建dblink:

create database link [name]  connect to [username] IDENTIFIED BY [password]  using '(DESCRIPTION =  (ADDRESS_LIST =   (ADDRESS = (PROTOCOL = TCP)(HOST = [ip])(PORT = [port]))  )  (CONNECT_DATA =   (SERVER = DEDICATED)   (SERVICE_NAME = xxx)  )  )';

例如:

create public database link dblink_name connect to SYSTEM using '192.168.1.73:1521/oracle';

刪除dblink:

DROP DATABASE LINK [name]; --或 DROP PUBLIC DATABASE LINK [name]; 

今天在試著刪除的時候報錯:
ORA-02018:database link of same name has an open connection

關閉dblink:

ALTER SESSION CLOSE DATABASE LINK [name];

但是報錯:
ORA-02080: database link is in use
去v$dblink查看

SELECT * FROM v$dblink;

 
該dblink確實沒有在transaction,很疑惑。搜一下沒找到解決辦法,然后把plsql關了,過一會再開,執行ALTER SESSION的時候,報錯:
ORA-02080: database link is not open
我知道這時應該可以刪除了, 然后再DROP,可以了。

下面是其它網友的補充大家可以參考下:

數據庫全局名稱可以用以下命令查出:

復制代碼代碼如下:

SELECT * FROM GLOBAL_NAME;

修改可以用以下語句來修改參數值:

 

ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;

<1>、當數據庫參數global_name=false時,就不要求數據庫鏈接名稱跟遠端數據庫名稱一樣。

Oracle數據庫之間進行連接通訊。
創建數據庫鏈接的語法如下: 

CREATE [PUBLIC] DATABASE LINK linkCONNECT TO username IDENTIFIED BY passwordUSING ‘connectstring'

注意:創建數據庫鏈接的帳號必須有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系統權限,用來登錄到遠程數據庫的帳號必須有CREATE SESSION權限。這兩種權限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK權限在DBA中)。

一個公用數據庫鏈接對于數據庫中的所有用戶都是可用的,而一個私有鏈接僅對創建它的用戶可用。由一個用戶給另外一個用戶授權私有數據庫鏈接是不可能的,一個數據庫鏈接要么是公用的,要么是私有的。

創建數據庫鏈接時,還可以使用缺省登錄方式,即不指定遠程數據庫的用戶名和密碼:

 

復制代碼代碼如下:

create public database link zrhs_link
using ‘zrhs';

 

在不指定用戶名和口令的情況下,ORACLE使用當前的用戶名和口令登錄到遠程數據庫。

USING后面指定的是鏈接字符串,也就是遠程數據庫的網絡服務名,這個服務名保存在本地TNSNAMES.ORA文件中,在該文件中定義了協議、主機名、端口和數據庫名。

刪除數據庫鏈接的語句是:

復制代碼代碼如下:

DROP [PUBLIC] DATABASE LINK zrhs_link

數據庫鏈接的引用

 

一般情況下引用數據庫鏈接,可以直接將其放到調用的表名或視圖名稱后面,中間使用一個 @ 作為分割符:

SELECT * FROM worker@zrhs_link;

對于經常使用的數據庫鏈接,可以建立一個本地的同義詞,方便使用:

CREATE SYNONYM worker_syn FOR worker@zrhs_link;

還可以建立一個本地的遠程視圖,方便使用:

CREATE VIEW worker AS SELECT * FROM worker@zrhs_link where… ;

現在本視圖可與本地數據庫中的任何其它視圖一樣對待,也可以授權給其它用戶,訪問此視圖,但該用戶必須有訪問數據庫鏈接的權限。

對于另外一種情況,所要訪問的表不在數據庫鏈接中指定的遠程帳戶下,但該帳戶有訪問該表的權限,那么我們在表名前要加上該表的用戶名:

SELECT * FROM camel.worker@zrhs_link ;

<2>、當數據庫參數global_name=true時,那就要求數據庫鏈接名稱跟遠端數據庫全局名稱一樣

數據庫全局名稱可以用以下命令查出

SELECT * FROM GLOBAL_NAME;

創建dblink的語法:

sql>create database link 數據庫鏈路名
connect to 用戶名 identified by 口令
using '主機字符串名';

如:

sql>create database link ora9i.us.oracle.com ### 這里的us.oracle.com為oracle默認域名 ###connect to scott identified by tigerusing 'sun';

1)dblink名必須與遠程數據庫的全局數據庫名(global_name)相同;
2)用戶名,口令為遠程數據庫用戶名,口令;
3)主機字符串為本機tnsnames.ora中定義的串;
4)兩個同名的數據庫間不得建立dblink;
然后,你就可以通過dblink訪問遠程數據庫了。

如:

sql>select * from 表名@ora9i.us.oracle.com;
還可以建立快照(snapshot)通過dblink實現遠程數據自動傳輸。
查看所有的數據庫鏈接,進入系統管理員SQL>操作符下,運行命令:

SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';

下面對第二種情況進行舉例說明:

北京的總部有一個集中的數據庫,其SID是SIDBJ,用戶名:userbj,密碼:bj123,北京的IP地址是:192.168.1.101。
在本地(新疆)的分公司也有一個數據庫,其SID是SIDXJ,用戶:userxj,密碼:xj123,新疆的IP地址是:192.168.1.100。
要將本地新疆的SIDXJ數據庫中訪問到北京的數據庫SIDBJ中的數據。
也就是說,在sidxj的數據庫中,用戶userxj(192.168.1.100)需要建立DBLINK,以userbj的用戶身份訪問sidBJ(192.168.1.101)中的數據。
測試環境:兩個數據庫均建立在WINXP上,ORACLE的版本均為Oracle817
建立環境時,要注意關閉兩臺計算機上的windows的防火墻,否則,會出現能ping通,但Oracle連接不通的情況。
1、問:如何返回數據庫的GLOBAL_NAME?
執行SELECT * FROM GLOBAL_NAME;
北京的數據庫的GLOBAL_NAME為SIDBJ.US.ORACLE.COM
新疆的數據庫的GLOBAL_NAME為SIDXJ
2、問:如何查看Global_name參數是true還是False?
答:執行:SQL> show parameter global_name;
執行的結果如下:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean TRUE
表示該參數是true.

也可以通過查看v$option視圖,如果其中Advanced replication為TRUE,則支持高級復制功能;否則不支持。
執行語句為:select * from v$option;
3、問:如何檢查Oracle的版本是否支持同步功能?
答:執行select * from v$option where PARAMETER='Advanced replication'語句,
如何返回值為True,那么就是支持,否則就是不支持。在兩個數據庫中都是檢查是否支持才行。
建立步驟:

1、在本地建立一個Oracle的客戶端連接tns_xj_to_bj,用于連接北京的數據庫。
2、新建一個連接tnsxj,用于連接本地的sidxj數據庫,以tnsxj/userxj/xj123登錄到PLSQL中。
下面開始創建連接到北京的遠程數據連接DBLink。
create database link SIDBJ.US.ORACLE.COM connect to userbj identified by bj123 using 'tns_xj_to_bj'; 
其中:SIDBJ.US.ORACLE.COM是遠程的數據庫的global_name,userbj是連接SIDBJ的用戶名,bj123是userbj的密碼,
tns_xj_to_bj是本地建立的連接到北京的數據庫的服務名。
3、測試連接是否成功:
select * from dual@SIDBJ.US.ORACLE.COM 
如果返回結果如下則表示連接成功了。
DUMMY
-----
X
4、查詢已經建立的遠程連接名:
SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
OWNER OBJECT_NAME
------------------------------ --------------------------------------------------------------------------------
SYSTEM SIDBJ.US.ORACLE.COM
USERXJ DBLINK_XJ_TO_BJ
USERXJ SIDBJ
5、至此,在新疆的計算機上建立了一個DBLINK,用于連接到北京的數據庫上,
在北京的數據庫中,建立一個表用于測試。
create table USERBJ.BJ_TEST
(
STU_ID NUMBER,
STU_NAME VARCHAR2(100)
)
在其中增加一條記錄:
insert into BJ_TEST (STU_ID, STU_NAME)
values (1, '鐘德榮');
在新疆的數據庫中查詢北京的數據庫中表的信息:
select * from bj_test@SIDBJ.US.ORACLE.COM
查詢結果:
STU_ID STU_NAME
---------- --------------------------------------------------------------------------------
1 鐘德榮
表示查詢是正常的。
說明:該查詢是用
以上腳本全部通過測試。



注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
曰本色欧美视频在线| 久久精品99国产精品酒店日本| 中文字幕亚洲一区二区三区| 久久久久久久国产精品| 国产精品久久久久久久久久| 亚洲精品aⅴ中文字幕乱码| 国产精品激情av电影在线观看| 日韩欧美国产骚| 国产综合香蕉五月婷在线| 精品国产一区二区三区久久| 国产亚洲精品久久久久动| 日韩美女视频免费看| 欧美影院在线播放| 欧美成人激情视频| 欧美激情亚洲激情| 68精品久久久久久欧美| 国产成人avxxxxx在线看| 成人性生交大片免费看小说| 国产精品白丝jk喷水视频一区| 日韩国产欧美区| 日韩久久午夜影院| 久久人人爽人人爽人人片av高清| 久久久中精品2020中文| 久久久www成人免费精品张筱雨| 久久久久久久久久久免费精品| 日韩av手机在线| 美女扒开尿口让男人操亚洲视频网站| 97视频在线观看视频免费视频| 黑人巨大精品欧美一区免费视频| 国自产精品手机在线观看视频| 色综合色综合网色综合| 欧美性高潮在线| 久久精彩免费视频| 亚洲精品久久久久中文字幕欢迎你| 欧美日韩国产精品一区| 国产一区二区日韩精品欧美精品| 久久国产精品免费视频| 成人美女免费网站视频| 91香蕉嫩草神马影院在线观看| 亚洲一区二区久久| 国产精品视频1区| 亚洲精品国产精品乱码不99按摩| 日韩av在线直播| 国产成人精品日本亚洲专区61| 亚洲国产精品成人一区二区| 欧美激情一区二区三区在线视频观看| 日韩欧美国产网站| 亚洲三级黄色在线观看| 亚洲国产精品人人爽夜夜爽| 久久精品99久久久香蕉| 久久影院模特热| 亚洲人成绝费网站色www| 中文字幕亚洲欧美日韩在线不卡| 日韩在线一区二区三区免费视频| 久久九九国产精品怡红院| 亚洲精品国精品久久99热| 亚洲天堂男人天堂| 成人av色在线观看| 久久久免费精品| 色系列之999| 国产成人精品在线视频| 欧美成人三级视频网站| 久久99视频免费| 国产精品第一第二| 欧美性xxxx18| 国产精品免费视频xxxx| 欧美日在线观看| 一区二区成人精品| 国产剧情日韩欧美| 国产日韩视频在线观看| 日韩在线观看高清| 欧美精品做受xxx性少妇| 中文字幕在线看视频国产欧美| 最新91在线视频| 国产精品一区二区三区毛片淫片| 狠狠躁夜夜躁久久躁别揉| 国产精品成久久久久三级| 欧美色另类天堂2015| 中文字幕成人在线| 国产精品第1页| 国语自产精品视频在免费| 国产精品电影一区| 亚洲成年人在线播放| 日本午夜精品理论片a级appf发布| 久久久久久久久国产精品| 欧美成人sm免费视频| 久久国产色av| 在线观看日韩专区| 日韩中文字幕av| 91国产视频在线播放| 最近2019年日本中文免费字幕| 这里只有精品在线播放| 色偷偷91综合久久噜噜| 日韩在线观看精品| 亚洲精品福利资源站| 国产精品观看在线亚洲人成网| 日韩av色综合| 91中文字幕在线| 成人激情在线观看| 欧美疯狂xxxx大交乱88av| 欧美精品做受xxx性少妇| 色老头一区二区三区在线观看| 中文精品99久久国产香蕉| 狠狠色噜噜狠狠狠狠97| 久久久久久久网站| 国产精品久久不能| 欧美视频在线免费看| 大胆人体色综合| 亚洲天堂日韩电影| 欧美多人乱p欧美4p久久| 91精品一区二区| 5278欧美一区二区三区| 97国产在线观看| 国产欧美中文字幕| 国产一区二区三区网站| 亚洲福利视频网| 国产69久久精品成人看| 国产一区欧美二区三区| 亚洲精品理论电影| 国产精品 欧美在线| 亚洲乱码av中文一区二区| 亚洲有声小说3d| 亚洲福利视频免费观看| 欧美一区深夜视频| 91国产美女在线观看| 久久精品成人一区二区三区| 亚洲视频网站在线观看| 欧美激情国产精品| 亚洲欧美在线一区| 国产精品久久久久91| 亚洲一区二区三区四区视频| www亚洲精品| 国产日本欧美一区二区三区在线| 欧美精品免费在线观看| 欧美日韩国产精品一区二区三区四区| 欧美激情videoshd| 欧美精品情趣视频| 日韩免费看的电影电视剧大全| 国产成人精品久久| 日韩免费观看高清| 欧美另类第一页| 日韩美女激情视频| 久久久久久久97| 国产精品99免视看9| 欧美极品xxxx| 精品在线观看国产| 亚洲亚裔videos黑人hd| 国产精品日韩在线一区| 91在线精品播放| 神马久久久久久| 国产亚洲一区二区在线| 国产日韩视频在线观看| 国产69精品久久久| 国产精品亚发布| 国产不卡精品视男人的天堂| 亚洲成人三级在线| 欧美日韩在线看| 国产精品免费在线免费| 国产欧美精品在线播放| 91国产美女视频| 欧美黑人xxxⅹ高潮交| 欧美激情按摩在线| 精品日本高清在线播放| 日韩在线观看免费|