(1)數(shù)據(jù)庫鏈路(DATABASE LINK)為了使分布式查詢操作更加簡單方便,oRAcLE RDBmS為用戶提供了一個新的數(shù)據(jù)定義方式:數(shù)據(jù)庫鏈路。用戶可以通過數(shù)據(jù)庫鏈路定義,在本地結(jié)點(diǎn)和遠(yuǎn)程之間進(jìn)行查詢和連接。進(jìn)行遠(yuǎn)程訪問的用戶需要明確:遠(yuǎn)程數(shù)據(jù)庫所在的結(jié)點(diǎn);遠(yuǎn)程結(jié)點(diǎn)上的哪個數(shù)據(jù)庫;遠(yuǎn)程數(shù)據(jù)庫的哪個用戶。數(shù)據(jù)庫鏈路即用于標(biāo)識以上內(nèi)容。用戶通過SQL的cREATE DATABASE LINK語句定義數(shù)據(jù)庫鏈路。其格式為:cREATE[PuBLIc]DATABASE LINK鏈路名coNNEcT To用戶名INENTIFIED BY口令uSINg‘驅(qū)動器前綴:結(jié)點(diǎn)名““操作系統(tǒng)用戶名口令”””::“““TASK=oRDN后綴”””;如果用戶事先定義一個邏輯名:$ASSIgN結(jié)點(diǎn)名,“““操作系統(tǒng)用戶名口令”””::“““TASK=oRDN后綴”””,邏輯名那么cREATE DATABASE LINK就變得十分簡潔:cREATE[PuBLIc]DATABASE LINK鏈路名coNNEcT To用戶名IDENTIFIED BY口令uSINg‘驅(qū)動器前綴:邏輯名’;這里PuBLIc代表公用數(shù)據(jù)庫鏈路,只有DBA才能使用PuBLIc限定詞。
(2)遠(yuǎn)程查詢操作在數(shù)據(jù)庫鏈路定義以后,遠(yuǎn)程查詢就變得非常簡單和方便。用戶訪問查詢數(shù)據(jù)庫的表或視圖時,只要在表名或視圖名后面附上數(shù)據(jù)庫鏈路名即可通過SELEcT語句進(jìn)行查詢。其形式為:SELEcT列表達(dá)式[,列表達(dá)式,…] FRom表名@數(shù)據(jù)庫鏈路名[,表名@數(shù)據(jù)庫鏈路名,…] [wHERE邏輯表達(dá)式];
(3)定義同義名用戶可以用同義名來簡化一些繁瑣的表名或視圖名。對于遠(yuǎn)程查詢操作,用戶也可以為遠(yuǎn)程數(shù)據(jù)庫的表名或視圖名定義相應(yīng)的同義名。
(4)連接操作在遠(yuǎn)程查詢中,用戶可以連接相同(或不同)結(jié)點(diǎn)上數(shù)據(jù)庫中的表。連接(JoIN)操作可以針對以下情況:同一數(shù)據(jù)庫中的兩個表或多個表;同一結(jié)點(diǎn)不同數(shù)據(jù)庫中的兩個表或多個表;不同結(jié)點(diǎn)上數(shù)據(jù)庫中的兩個表或多個表;
(5)查詢遠(yuǎn)程數(shù)據(jù)庫中其他用戶的數(shù)據(jù)用戶在通過數(shù)據(jù)庫鏈路進(jìn)行遠(yuǎn)程查詢時,可以訪問其他用戶的數(shù)據(jù)。數(shù)據(jù)庫鏈路的定義中指定一個遠(yuǎn)程用戶名及口令,這個用戶名被稱為鏈路用戶名。上面所述的“其他用戶”即指非鏈路用戶。如果鏈路用戶具有訪問其他某一用戶,記為用戶A的權(quán)限,那么,client用戶就可以通過數(shù)據(jù)庫鏈路查詢服務(wù)器用戶A中的數(shù)據(jù)。
(6)遠(yuǎn)程子查詢前面介紹的是基于主查詢的遠(yuǎn)程訪問。事實(shí)上,SQL語句中的子查詢(Sub-query)也可以訪問遠(yuǎn)程結(jié)點(diǎn)的數(shù)據(jù)庫數(shù)據(jù)。這種子查詢稱為遠(yuǎn)程子查詢?汕度氩樵兊恼Z句有:SELEcT INSERT uPDATE cREATE TABLE cREATE VIEw
5.遠(yuǎn)程數(shù)據(jù)傳輸
目前網(wǎng)絡(luò)oRAcLE系統(tǒng)尚不能通過INSERT,uPDATE語句更新遠(yuǎn)程結(jié)點(diǎn)的數(shù)據(jù)庫數(shù)據(jù)。但是oRAcLE提供結(jié)點(diǎn)之間傳輸數(shù)據(jù)庫數(shù)據(jù)的能力。SQL/plus的coPY命令將用于實(shí)現(xiàn)這一功能。用戶使用coPY命令可以進(jìn)行從一個結(jié)點(diǎn)(稱為源結(jié)點(diǎn))到另一結(jié)點(diǎn)(稱為目標(biāo)結(jié)點(diǎn))之間的數(shù)據(jù)傳輸或復(fù)制。使用coPY命令與數(shù)據(jù)庫鏈路的定義類似,需要反映定結(jié)點(diǎn)名、數(shù)據(jù)庫(即命令文件和“用戶名/口令”。其中源描述和目標(biāo)描述分別用于指示源結(jié)點(diǎn)目標(biāo)結(jié)點(diǎn)上的結(jié)點(diǎn)名、數(shù)據(jù)庫(即命令文件)和“用戶名/口令”,下面是coPY命令的基本形式:coPY[FRom源名][To目標(biāo)名] {APPEND|cREATE|INSERT|REPLAcE} 表名[(列名[,列名…])] uSINg SELEcT語句其中源名和目標(biāo)名分別用于指定源結(jié)點(diǎn)和目標(biāo)結(jié)點(diǎn)上的結(jié)點(diǎn)名、數(shù)據(jù)庫和“用戶名/口令”,如:用戶名/口令@驅(qū)動器前綴:結(jié)點(diǎn)名“““用戶名口令”””::“““TASK=oRDN后綴”””;如果事先分配了邏輯名,則源描述和目標(biāo)描述會變得更簡潔一些。如果源結(jié)點(diǎn)為本地,則coPY命令可略去FRom子句。如果目標(biāo)結(jié)點(diǎn)為本地,則可除去To子句。coPY命令將傳送數(shù)據(jù)到目標(biāo)數(shù)據(jù)庫指定表。具體傳輸?shù)臄?shù)據(jù)是子查詢的結(jié)果。其中APPEND、cREATE、INSERT和REPLAcE限定詞用于指定傳輸?shù)姆绞?APPEND 將傳輸?shù)臄?shù)據(jù)加在指定表中。如果該表不存在,則先建表,再加入;INSERT 將傳輸?shù)臄?shù)據(jù)加在指定的表中。如果該表不存在,則先建表,再加入數(shù)據(jù);cREATE 建立指定的表,并加入數(shù)據(jù),如果該表存在,則出錯;REPLAcE 將傳輸數(shù)據(jù)替換原表中已有的數(shù)據(jù)。
相關(guān)推薦:2010年9月計算機(jī)等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |