国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

教你輕松掌握數(shù)據(jù)庫(kù)鏈路的建立和使用

2024-07-21 02:43:01
字體:
供稿:網(wǎng)友
一、數(shù)據(jù)庫(kù)鏈路的建立:

1、數(shù)據(jù)庫(kù)鏈路的建立語(yǔ)法一般是:CREATE DATABASE LINK [db_link_name] CONNECT TO

[user_name] IDENTIFIED BY [passWord] USING '[tns_name]';

其中:

[DB_LINK_NAME]:是所要連接的數(shù)據(jù)庫(kù)的服務(wù)名,也就是該數(shù)據(jù)庫(kù)的真實(shí)名稱(通常就是SID)。

[USRE_NAME]:是所要連接的用戶名稱。

[PASSWORD]:是所要連接的用戶的密碼。

[TNS_NAME]:是所要連接的數(shù)據(jù)庫(kù)的服務(wù)命名,也就是在本機(jī)上建立的NET8服務(wù)命名。

2、當(dāng)使用當(dāng)前用戶做為連接者時(shí),語(yǔ)法可以是:CREATE DATABASE LINK [db_link_name] CONNECT TO CURRENT_USER USING '[tns_name]' (某些情況下這種方法建立的數(shù)據(jù)庫(kù)鏈路都未處于活動(dòng)狀態(tài),不知道是不是語(yǔ)法有誤,暫不推薦使用)。

3、當(dāng)使用已連接用戶做為連接者時(shí),語(yǔ)法可以是:CREATE DATABASE LINK [db_link_name]

USING '[tns_name]' 。

4、要建立公共的數(shù)據(jù)庫(kù)鏈路語(yǔ)法可以是:只要在CREATE后加PUBLIC關(guān)鍵字就可以了。

5、假如你在init.ora文件里的global_names = true只能用上面的方法,如果global_names =false,[DB_LINK_NAME]不一定要是數(shù)據(jù)庫(kù)的真實(shí)名稱,可以是一個(gè)隨意的名字。也就是說,當(dāng)global_names = true時(shí),數(shù)據(jù)庫(kù)的每一個(gè)用戶只能有一個(gè)數(shù)據(jù)庫(kù)鏈路,而當(dāng)global_names = false時(shí),每一個(gè)用戶都可以建立N多個(gè)鏈路,但一般情況下是沒有意義的。

二、數(shù)據(jù)庫(kù)鏈路的使用:

1、數(shù)據(jù)庫(kù)鏈路的主要用途就是實(shí)現(xiàn)對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的訪問,你可以通過數(shù)據(jù)庫(kù)鏈路直接對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)

的表進(jìn)行讀寫,也可以在本地建立遠(yuǎn)程數(shù)據(jù)庫(kù)的視圖和同意詞,另外在進(jìn)行雙機(jī)熱備份時(shí)也要用到數(shù)據(jù)庫(kù)鏈路。

2、直接訪問:SELECT * FROM [user_name].[table_name]@[db_link_name];INSERT,UPDATE,DELETE等也同樣適用。

3、建立同義詞:CREATE SYNONYM [user_name].[synonym_name] FOR [user_name].[table_name]@

[db_link_name] ; 視圖也是一個(gè)道理。

4、由于雙機(jī)熱備是另一個(gè)復(fù)雜的問題,本文暫不贅述。如果想在兩個(gè)數(shù)據(jù)庫(kù)間實(shí)現(xiàn)幾個(gè)表的同步,做一個(gè)雙機(jī)太復(fù)雜,可以考慮用觸發(fā)器來解決,在觸發(fā)器中用以上方法引用遠(yuǎn)程表,對(duì)其進(jìn)行插入,刪除也可以做到同步。

參考示例如下:

數(shù)據(jù)庫(kù)之間的鏈接建立在DATABASE LINK上。要?jiǎng)?chuàng)建一個(gè)DB LINK,必須先在每個(gè)數(shù)據(jù)庫(kù)服務(wù)器上設(shè)置鏈接字符串。

1、鏈接字符串即服務(wù)名,首先在本地配置一個(gè)服務(wù)名,地址指向遠(yuǎn)程的數(shù)據(jù)庫(kù)地址,服務(wù)名取為將來你要使用的數(shù)據(jù)庫(kù)鏈名:

2、創(chuàng)建數(shù)據(jù)庫(kù)鏈接,

進(jìn)入系統(tǒng)管理員SQL>操作符下,運(yùn)行命令:

SQL>create public database link beijing connect to scott identified by tiger using 'tobeijing';

則創(chuàng)建了一個(gè)以scott用戶和北京數(shù)據(jù)庫(kù)的鏈接beijing,我們可以查詢北京的scott數(shù)據(jù):

SQL>select * from emp@beijing;

這樣就可以把深圳和北京scott用戶的數(shù)據(jù)做成一個(gè)整體來處理。

3、建立同義詞,為了使有關(guān)分布式操作更透明,Oracle數(shù)據(jù)庫(kù)里有同義詞的對(duì)象synonym

SQL>create synonym bjscottemp for emp@beijing;

于是就可以用bjscottemp來替代帶@符號(hào)的分布式鏈接操作emp@beijing。

4、查看所有的數(shù)據(jù)庫(kù)鏈接,進(jìn)入系統(tǒng)管理員SQL>操作符下,運(yùn)行命令:

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

如果子使用數(shù)據(jù)連接出現(xiàn)錯(cuò)誤ORA-02085

SQL> SHOW PARAMETER GLOBAL_NAMES

global_names boolean

TRUE

SQL> ALTER SYSTEM SET GLOBAL_NAMES=FALSE;

簡(jiǎn)單查了一下,Piner的faq上沒有,前面也沒有人提到。

使用數(shù)據(jù)連接可以很方便的引用其它數(shù)據(jù)庫(kù)的數(shù)據(jù),但是設(shè)置不當(dāng)可能遇到ORA-02085錯(cuò)誤。如果被連接對(duì)方的GLOBAL_NAMES參數(shù)設(shè)置成了TRUE,那么要求數(shù)據(jù)庫(kù)連接與對(duì)方實(shí)例名有相同的名稱。這樣就可以通過下面3中的任意一種方法來解決:

1.修改對(duì)方的GLOBAL_NAMES參數(shù)為FALSE

2.將對(duì)方的GLOBAL_NAME設(shè)置成與數(shù)據(jù)庫(kù)連接相同的名稱

3.將數(shù)據(jù)庫(kù)連接刪掉重新創(chuàng)建成與對(duì)方實(shí)例名相同的數(shù)據(jù)庫(kù)連接。下面是測(cè)試結(jié)果:

SQL> CREATE PUBLIC DATABASE LINK "MASTER.COM" USING 'ORA9I';

數(shù)據(jù)庫(kù)鏈接已創(chuàng)建。

SQL> SELECT * FROM DUAL@MASTER.COM;

SELECT * FROM DUAL@MASTER.COM

*

ERROR 位于第 1 行:

ORA-02085: 數(shù)據(jù)庫(kù)鏈接MASTER.COM與ORA9I相連結(jié)

SQL> SHOW PARAMETER GLOBAL_NAMES

global_names boolean

TRUE

select * from v$parameter where name = 'global_names';

SQL> ALTER SYSTEM SET GLOBAL_NAMES=FALSE;

或者修改D:/Oracle/admin/einfo/pfile/init.ora文件中g(shù)lobal_names = false,重啟數(shù)據(jù)庫(kù)。

SQL> SELECT * FROM DUAL@MASTER.COM;

X

SQL> ALTER SYSTEM SET GLOBAL_NAMES=TRUE;

系統(tǒng)已更改。

SQL> SELECT * FROM DUAL@MASTER.COM;

SELECT * FROM DUAL@MASTER.COM

ERROR 位于第 1 行:

ORA-02085: 數(shù)據(jù)庫(kù)鏈接MASTER.COM與ORA9I相連結(jié)

SQL> ALTER DATABASE RENAME GLOBAL_NAME TO MASTER.COM;

數(shù)據(jù)庫(kù)已更改。

SQL> SELECT * FROM DUAL@MASTER.COM;


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 厦门市| 五台县| 柳江县| 遂平县| 探索| 公主岭市| 区。| 永定县| 桓仁| 玛纳斯县| 桐城市| 苏尼特右旗| 崇阳县| 隆林| 京山县| 合水县| 长宁区| 潢川县| 隆昌县| 县级市| 徐州市| 依兰县| 淮安市| 高雄市| 加查县| 友谊县| 玉溪市| 休宁县| 肇庆市| 隆德县| 同江市| 大丰市| 利辛县| 泗阳县| 汉沽区| 精河县| 黄梅县| 通道| 河津市| 台东县| 金乡县|