新聞中心
隨著大數(shù)據(jù)時(shí)代的到來(lái),數(shù)據(jù)量的急速增長(zhǎng)使得企業(yè)需要使用更多的數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)和管理數(shù)據(jù)。然而,在這些數(shù)據(jù)分散存儲(chǔ)的數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)分析和處理變得越來(lái)越困難,這導(dǎo)致了許多企業(yè)在生產(chǎn)中的數(shù)據(jù)處理效率低下和各種管理問(wèn)題。要解決這些問(wèn)題,企業(yè)需要把這些分散存儲(chǔ)的數(shù)據(jù)庫(kù)整合起來(lái),實(shí)現(xiàn)多個(gè)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)互通和共享。

創(chuàng)新互聯(lián)建站是一家網(wǎng)站設(shè)計(jì)公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營(yíng)產(chǎn)品:響應(yīng)式網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、全網(wǎng)整合營(yíng)銷(xiāo)推廣。我們專(zhuān)注企業(yè)品牌在網(wǎng)站中的整體樹(shù)立,網(wǎng)絡(luò)互動(dòng)的體驗(yàn),以及在手機(jī)等移動(dòng)端的優(yōu)質(zhì)呈現(xiàn)。成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、移動(dòng)互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運(yùn)營(yíng)、VI設(shè)計(jì)、云產(chǎn)品.運(yùn)維為核心業(yè)務(wù)。為用戶提供一站式解決方案,我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價(jià)值服務(wù)。
Oracle作為世界領(lǐng)先的數(shù)據(jù)庫(kù)產(chǎn)商,有許多的實(shí)現(xiàn)多個(gè)數(shù)據(jù)庫(kù)鏈接的方式,比如使用數(shù)據(jù)庫(kù)觸發(fā)器、使用視圖、使用同義詞等等。然而,這些方法往往需要繁瑣的配置和復(fù)雜的操作,不易于企業(yè)管理人員快速上手操作。那么,如何實(shí)現(xiàn)Oracle多個(gè)數(shù)據(jù)庫(kù)的快速鏈接呢?下面給大家介紹幾種簡(jiǎn)便的實(shí)現(xiàn)方法。
1. 使用Oracle數(shù)據(jù)庫(kù)鏈路服務(wù)器鏈接數(shù)據(jù)庫(kù)
Oracle數(shù)據(jù)庫(kù)鏈路服務(wù)器可以將多個(gè)數(shù)據(jù)庫(kù)連接起來(lái),使用一些特殊的SQL語(yǔ)句來(lái)進(jìn)行多個(gè)數(shù)據(jù)庫(kù)間的數(shù)據(jù)互通。這種方法非常便捷,具有高效、簡(jiǎn)潔、穩(wěn)定的特點(diǎn),同時(shí)也支持各種操作系統(tǒng)平臺(tái)。
使用Oracle數(shù)據(jù)庫(kù)鏈路服務(wù)器的方法如下:
a. 在目標(biāo)數(shù)據(jù)庫(kù)上創(chuàng)建一個(gè)鏈接,指向源數(shù)據(jù)庫(kù)的IP地址和端口號(hào),同時(shí)使用源數(shù)據(jù)庫(kù)的用戶名和密碼進(jìn)行連接。
CREATE DATABASE LINK LinkName
CONNECT TO UserName IDENTIFIED BY Password
USING ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=xxx))(CONNECT_DATA=(SERVICE_NAME=xxx)))’;
b. 在目標(biāo)數(shù)據(jù)庫(kù)上使用“表名@鏈接名”的方式來(lái)查詢(xún)和操作源數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
SELECT * FROM TableName@LinkName;
可以看到,使用Oracle數(shù)據(jù)庫(kù)鏈路服務(wù)器來(lái)實(shí)現(xiàn)多個(gè)數(shù)據(jù)庫(kù)間的鏈接是一種非常便捷和高效的方法。但是,在使用時(shí)需要注意連接的質(zhì)量,以及數(shù)據(jù)庫(kù)外部網(wǎng)絡(luò)環(huán)境的穩(wěn)定性。
2. 使用Oracle數(shù)據(jù)庫(kù)同義詞鏈接數(shù)據(jù)庫(kù)
Oracle數(shù)據(jù)庫(kù)同義詞是另一種實(shí)現(xiàn)多個(gè)數(shù)據(jù)庫(kù)鏈接的好方法。同義詞是一個(gè)指向其他表或者視圖的別名,通過(guò)使用同義詞來(lái)引用其他數(shù)據(jù)庫(kù)中的表就可以實(shí)現(xiàn)多個(gè)數(shù)據(jù)庫(kù)的鏈接了。
使用Oracle數(shù)據(jù)庫(kù)同義詞的方法如下:
a. 在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建同義詞,并通過(guò)數(shù)據(jù)庫(kù)鏈接名來(lái)指向源數(shù)據(jù)庫(kù)的表。
CREATE SYNONYM SynonymName
FOR TableName@LinkName;
b. 直接使用同義詞來(lái)對(duì)源數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢(xún)或者操作。
SELECT * FROM SynonymName;
需要注意的是,同義詞可以是不同庫(kù)之間的表和視圖,同時(shí)也可以是構(gòu)建在相同庫(kù)中的表和視圖。使用同義詞的話,需要注意的是在查詢(xún)時(shí)不要使用沒(méi)有前綴的表名。否則會(huì)導(dǎo)致數(shù)據(jù)被誤解為目標(biāo)數(shù)據(jù)庫(kù)的表。
3. 使用Oracle數(shù)據(jù)庫(kù)鏈接池來(lái)鏈接數(shù)據(jù)庫(kù)
Oracle數(shù)據(jù)庫(kù)鏈接池是一種連接到數(shù)據(jù)庫(kù)的重要資源。連接池可以在開(kāi)始訪問(wèn)數(shù)據(jù)庫(kù)之前就預(yù)先分配數(shù)據(jù)庫(kù)鏈接資源,從而可以有效地提高連接的響應(yīng)速度、減少數(shù)據(jù)庫(kù)連接時(shí)間和資源占用,也可以在數(shù)據(jù)庫(kù)連接過(guò)多時(shí)進(jìn)行優(yōu)化處理,從而確保能夠同時(shí)快速連接多個(gè)數(shù)據(jù)庫(kù)。
使用Oracle數(shù)據(jù)庫(kù)鏈接池的方法如下:
a. 在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新的鏈接池。
CREATE OR REPLACE DATABASE LINK LinkName
CONNECT TO UserName IDENTIFIED BY Password
USING ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=xxx))(CONNECT_DATA=(SERVICE_NAME=xxx)))’;
b. 在鏈接池中設(shè)置所需資源的更大和最小數(shù)量,并分配鏈接池中分配到的鏈接和數(shù)據(jù)源的信息。
c. 使用分配給鏈接池的鏈接來(lái)查詢(xún)和操作目標(biāo)數(shù)據(jù)庫(kù)的數(shù)據(jù)。
SELECT * FROM TableName;
通過(guò)使用Oracle數(shù)據(jù)庫(kù)鏈接池,可以明顯地提高多個(gè)數(shù)據(jù)庫(kù)的鏈接效率,使企業(yè)在處理數(shù)據(jù)時(shí)更加快捷和方便。
Oracle是一個(gè)非常強(qiáng)大的數(shù)據(jù)庫(kù),不僅可以支持大量的數(shù)據(jù)應(yīng)用,在多個(gè)數(shù)據(jù)庫(kù)間進(jìn)行鏈接也有多種實(shí)現(xiàn)的方式。本文介紹了使用Oracle數(shù)據(jù)庫(kù)鏈路服務(wù)器、同義詞和鏈接池三種簡(jiǎn)單方便的方法,但是在實(shí)際使用中需要根據(jù)具體情況選擇更適合的方法,以提高數(shù)據(jù)庫(kù)的效率和處理數(shù)據(jù)的速度。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
在Linux的oracle服務(wù)器上同時(shí)創(chuàng)建兩個(gè)數(shù)據(jù)庫(kù),我怎么連上這兩個(gè)數(shù)據(jù)庫(kù)?
我怎么給一個(gè)用戶只能連接其中一個(gè)數(shù)據(jù)庫(kù)的權(quán)限?
=》 正常的create user 即可
我怎么連上這兩個(gè)數(shù)據(jù)庫(kù)?
==》即便使笑培用同樣的 碼好IP , 也遲升鉛可以使用不同的service_name 區(qū)分
dbdao.com
如何連接oracle數(shù)據(jù)庫(kù)?
如何配置才能使客戶端連到數(shù)據(jù)庫(kù):
要使一個(gè)客戶端機(jī)器能連接oracle數(shù)據(jù)庫(kù),需要在客戶端機(jī)器上安裝oracle的客戶端軟件,唯一的例外就是java連接數(shù)據(jù)庫(kù)的時(shí)候,可以用
jdbc
thin模式,不用裝oracle的客戶端軟件。加入你在機(jī)器上裝了oracle數(shù)據(jù)庫(kù),就不需要在單獨(dú)在該機(jī)器上安裝中賀oracle客戶端了,因?yàn)檠b
oracle數(shù)據(jù)庫(kù)的時(shí)候會(huì)自動(dòng)安裝oracle客戶端。
用過(guò)sql
server數(shù)據(jù)庫(kù)然后又用oracle的新手可能會(huì)有這樣的疑問(wèn):?jiǎn)柺裁次矣胹ql server的時(shí)候不用裝sql
server的客戶端呢?原因很簡(jiǎn)單,sql server也是microsoft的,它在操作系統(tǒng)中集成了sql
server客戶端,如果microsoft與oracle有協(xié)議,將oracle客戶端也集成到操作系統(tǒng)中,那我們也就不用在客戶端機(jī)器裝oracle
客戶端軟機(jī)就可訪問(wèn)數(shù)據(jù)庫(kù)了,不過(guò)磨滾,這好像是不可能實(shí)現(xiàn)的事情。
也有的人會(huì)問(wèn):為什么在sql
server中沒(méi)有偵聽(tīng)端口一說(shuō),而在oracle中要配置偵聽(tīng)端口?其實(shí)sql
server中也有偵聽(tīng)端口,只不過(guò)microsoft將偵聽(tīng)端口固定為1433,不允許你隨便改動(dòng),這樣給你一個(gè)錯(cuò)覺(jué)感覺(jué)sql
server中沒(méi)有偵聽(tīng)端口,咳,microsoft把太多的東西都封裝到黑盒子里,方便使用的同時(shí)也帶來(lái)的需要副作用。而oracle中的偵聽(tīng)端口直接
在配置文件中,允許隨便改動(dòng),只不過(guò)無(wú)論怎樣改動(dòng),要與oracle服務(wù)器端設(shè)置的偵聽(tīng)端口一致。
好,言歸正傳,我們?nèi)绾巫霾拍苁箍蛻舳藱C(jī)器連接到oracle數(shù)據(jù)庫(kù)呢?
A.瞎培余 安裝相關(guān)軟件
B. 進(jìn)行適當(dāng)?shù)呐渲?/p>
A.在適當(dāng)?shù)奈恢冒惭b適當(dāng)?shù)能浖?/p>
在客戶端機(jī)器:
1.在客戶端機(jī)器上安裝ORACLE的Oracle Net通訊軟件,它包含在oracle的客戶端軟件中。
2.正確配置了sqlnet.ora文件:
NAMES.DIRECTORY_PATH = (TNSNAMES, ….)
NAMES.DEFAULT_DOMAIN=DB_DOMAIN
一般情況下我們不用NAMES.DEFAULT_DOMAIN參數(shù)。如果想不用該參數(shù)用#注釋掉或?qū)⒃搮?shù)刪除即可,對(duì)于NAMES.DIRECTORY_PATH參數(shù)采用缺省值即可,對(duì)于NAMES.DEFAULT_DOMAIN參數(shù)有時(shí)需要注釋掉,在下面有詳細(xì)解釋。
3.正確配置了tnsname.ora文件
在服務(wù)器端機(jī)器:
1.保證listener已經(jīng)啟動(dòng)
2.保證數(shù)據(jù)庫(kù)已經(jīng)啟動(dòng)。
如果數(shù)據(jù)庫(kù)沒(méi)有啟動(dòng),用:
Oracle 9i:
dos>sqlplus “/ as sysdba”
sqlplus> startup
Oracle 8i:
dos>svrmgrl
svrmgrl>connect internal
svrmgrl>startup
命令啟動(dòng)數(shù)據(jù)庫(kù)
如果listener沒(méi)有啟動(dòng),用:
lsnrctl start
lsnrctl status
命令啟動(dòng)listener
B.進(jìn)行適當(dāng)?shù)呐渲?/p>
如何正確配置tnsname.ora文件:
可
以在客戶端機(jī)器上使用oracle Net Configuration Assistant或oracle Net
Manager圖形配置工具對(duì)客戶端進(jìn)行配置,該配置工具實(shí)際上修改tnsnames.ora文件。所以我們可以直接修改tnsnames.ora文件,
下面以直接修改tnsnames.ora文件為例:
該文件的位置為: …\network\admin\tnsnames.ora (for windows)
…/network/admin/tnsnames.ora (for unix)
此處,假設(shè)服務(wù)器名為testserver,服務(wù)名為orcl.testserver.com,使用的偵聽(tīng)端口為1521,則tnsnams.ora文件中的一個(gè)test網(wǎng)絡(luò)服務(wù)名(數(shù)據(jù)庫(kù)別名)為:
test =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)
)
)
此處的笑臉為)。
紅色的內(nèi)容為需要根據(jù)實(shí)際情況修改的內(nèi)容,現(xiàn)解釋如下:
PROTOCOL:客戶端與服務(wù)器端通訊的協(xié)議,一般為T(mén)CP,該內(nèi)容一般不用改。
HOST:數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的機(jī)器名或IP地址,數(shù)據(jù)庫(kù)偵聽(tīng)一般與數(shù)據(jù)庫(kù)在同一個(gè)機(jī)器上,所以當(dāng)我說(shuō)數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器一般也是指數(shù)據(jù)庫(kù)所在的機(jī)
器。在UNIX或WINDOWS下,可以通過(guò)在數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的命令提示符下使用hostname命令得到機(jī)器名,或通過(guò)ipconfig(for
WINDOWS) or ifconfig(for
UNIX)命令得到IP地址。需要注意的是,不管用機(jī)器名或IP地址,在客戶端一定要用ping命令ping通數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的機(jī)器名,否則需要在
hosts文件中加入數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的機(jī)器名的解析。
PORT:數(shù)據(jù)庫(kù)偵聽(tīng)正在偵聽(tīng)的端口,可以察看服務(wù)器端的listener.ora文件或在數(shù)據(jù)庫(kù)偵聽(tīng)所在的機(jī)器的命令提示符下通過(guò)lnsrctl status 命令察看。此處Port的值一定要與數(shù)據(jù)庫(kù)偵聽(tīng)正在偵聽(tīng)的端口一樣。
SERVICE_NAME:在服務(wù)器端,用system用戶登陸后,sqlplus> show parameter service_name命令察看。
如何利用配置的網(wǎng)絡(luò)服務(wù)名連接到數(shù)據(jù)庫(kù):
用sqlplus程序通過(guò)test網(wǎng)絡(luò)服務(wù)名進(jìn)行測(cè)試,如sqlplus system/manager@test。
如果不能連接到數(shù)據(jù)庫(kù),則在tnsname.ora文件中的test網(wǎng)絡(luò)服務(wù)名(net
service)后面加上sqlnet.ora文件中NAMES.DEFAULT_DOMAIN參數(shù)的值,此處我的參數(shù)值為
testserver.com,將其加到網(wǎng)絡(luò)服務(wù)名后面,修改后的tnsname.ora中關(guān)于該網(wǎng)絡(luò)服務(wù)名的內(nèi)容為:
什么情況下會(huì)引起oracle自動(dòng)設(shè)置NAMES.DEFAULT_DOMAIN參數(shù)?
出現(xiàn)這種情況的典型環(huán)境為windows的客戶端的‘我得電腦à屬性à計(jì)算機(jī)名à更改à其它…à此計(jì)算機(jī)的主DNS后綴’中設(shè)置了‘primary
dns
suffix’,因?yàn)樵谶@種情況下安裝客戶端時(shí),會(huì)在sqlnet.ora文件中自動(dòng)設(shè)置NAMES.DEFAULT_DOMAIN參數(shù),或許當(dāng)把計(jì)算機(jī)
加入域中安裝oracle客戶端時(shí)也會(huì)出現(xiàn)這種情況,有條件的話大家可以試一下。
我在設(shè)置oracle的客戶端時(shí)一般手工修改tnsnames.ora文件,但是還有許多人喜歡用圖形工具配置,該圖形工具最終還是修改tnsnames.ora文件,但是它有時(shí)會(huì)引起其它的問(wèn)題:
在用oracle的圖形配置軟件’net assistant’或‘Net Configuration
Assistant’配置網(wǎng)絡(luò)服務(wù)名時(shí),假如已經(jīng)設(shè)置了‘primary dns
suffix’,但是在圖形配置軟件中寫(xiě)的網(wǎng)絡(luò)服務(wù)名的名字中沒(méi)有‘primary dns
suffix’,如只是寫(xiě)了test,則圖形配置軟件會(huì)自動(dòng)在后面加上‘primary dns
suffix’,使之變?yōu)閠est.testserver.com,并存在tnsnames.ora中,而不管你的sqlnet.ora文件中是否有
NAMES.DEFAULT_DOMAIN參數(shù)。此時(shí),用圖形工具進(jìn)行測(cè)試連接是通過(guò)的,但是假如此時(shí)sqlnet.ora文件中沒(méi)有
NAMES.DEFAULT_DOMAIN參數(shù),則你在使用網(wǎng)絡(luò)服務(wù)名時(shí)應(yīng)該使用在tnsnames.ora中的
test.testserver.com,而不是你在圖形配置軟件中鍵入的test。解決的辦法為:
可以在sqlnet.ora文件中設(shè)置NAMES.DEFAULT_DOMAIN= testserver.com,這時(shí)你可以用test或test.testserver.com連接數(shù)據(jù)庫(kù)
在sqlnet.ora文件中不設(shè)置NAMES.DEFAULT_DOMAIN參數(shù),在tnsnames.ora文件中將test.testserver.com中的.testserver.com去掉,這時(shí)你可以用test連接數(shù)據(jù)庫(kù)。
關(guān)于為什們?cè)诰W(wǎng)絡(luò)服務(wù)名后面加db_domain參數(shù),需要了解sql*plus連接數(shù)據(jù)庫(kù)的原理,我在后面解決12154常見(jiàn)故障中給出了詳細(xì)的說(shuō)明。
如果上面的招數(shù)還不奏效的話,只好用一下乾坤大挪移了。
將客戶端的網(wǎng)絡(luò)服務(wù)名部分
test.testserver.com =
(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)
)
)
此處的笑臉為)。
拷貝到服務(wù)器的tnsnames.ora文件中。然后再服務(wù)器端用sqlplus 。
如果能連接成功,說(shuō)明你的客戶端與服務(wù)器端的網(wǎng)絡(luò)有問(wèn)題。
如果連接不成功,用前面的部分檢查網(wǎng)絡(luò)服務(wù)名部分部分是否正確,如果確信網(wǎng)絡(luò)服務(wù)名部分正確而且所有的客戶端都連不上數(shù)據(jù)庫(kù)則可能為系統(tǒng)TCP/IP或Oracle系統(tǒng)有問(wèn)題,建議重新安裝數(shù)據(jù)庫(kù)。
該錯(cuò)誤表示用于連接的網(wǎng)絡(luò)服務(wù)名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的網(wǎng)絡(luò)服務(wù)名只有test,假如用戶在連接時(shí)用sqlplus system/manager@test1則就會(huì)給出TNS-12154錯(cuò)誤。
要注意的是,有時(shí)即使在tnsnames.ora文件中有相應(yīng)的網(wǎng)絡(luò)服務(wù)名,可是用該網(wǎng)絡(luò)服務(wù)名連接時(shí)還會(huì)出錯(cuò),出現(xiàn)這種情況的典型配置如下(在客戶端的機(jī)器上):
sqlnet.ora文件:
NAMES.DIRECTORY_PATH = (TNSNAMES, ….)
NAMES.DEFAULT_DOMAIN = server.com
tnsnames.ora文件:
test =
(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)
)
)
此處的笑臉為)。
sql*plus運(yùn)行基本機(jī)理:
在用戶輸入sqlplus system/manager@test后,sqlplus程序會(huì)自動(dòng)到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN參數(shù),假 如該參數(shù)存在,則將該參數(shù)中的值取出,加到網(wǎng)絡(luò)服務(wù)名的后面,
即此例中你的輸入由sqlplus system/manager@test自動(dòng)變?yōu)閟qlplus
,然后再到tnsnames.ora文件中找test.server.com網(wǎng)絡(luò)服務(wù)名,這當(dāng)然找不到了,因?yàn)樵撐募兄挥衪est網(wǎng)絡(luò)服務(wù)名,所以報(bào)
錯(cuò)。解決的辦法就是將sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN參數(shù)注釋掉即可,如
#NAMES.DEFAULT_DOMAIN =
server.com。假如NAMES.DEFAULT_DOMAIN參數(shù)不存在,則sqlplus程序會(huì)直接到tnsnames.ora文件中找
test網(wǎng)絡(luò)服務(wù)名,然后取出其中的host,port,tcp,service_name,利用這些信息將連接請(qǐng)求發(fā)送到正確的數(shù)據(jù)庫(kù)服務(wù)器上。
另外原則上tnsnames.ora中的配置不區(qū)分大小寫(xiě),但是我的確遇到區(qū)分大小寫(xiě)的情況,所以更好將使用的網(wǎng)絡(luò)服務(wù)與tnsnames.ora中配置的完全一樣。
ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect Descriptor.
該錯(cuò)誤表示能在tnsnames.ora中找到網(wǎng)絡(luò)服務(wù)名,但是在tnsnames.ora中指定的SERVICE_NAME與服務(wù)器端的SERVICE_NAME不一致。解決的辦法是修改tnsnames.ora中的SERVICE_NAME。
易混淆術(shù)語(yǔ)介紹:
Db_name:對(duì)一個(gè)數(shù)據(jù)庫(kù)(Oracle database)的唯一標(biāo)識(shí),該數(shù)據(jù)庫(kù)為之一章講到的Oracle
database。這種表示對(duì)于單個(gè)數(shù)據(jù)庫(kù)是足夠的,但是隨著由多個(gè)數(shù)據(jù)庫(kù)構(gòu)成的分布式數(shù)據(jù)庫(kù)的普及,這種命令數(shù)據(jù)庫(kù)的方法給數(shù)據(jù)庫(kù)的管理造成一定的負(fù)
擔(dān),因?yàn)楦鱾€(gè)數(shù)據(jù)庫(kù)的名字可能一樣,造成管理上的混亂。為了解決這種情況,引入了Db_domain參數(shù),這樣在數(shù)據(jù)庫(kù)的標(biāo)識(shí)是由Db_name和
Db_domain兩個(gè)參數(shù)共同決定的,避免了因?yàn)閿?shù)據(jù)庫(kù)重名而造成管理上的混亂。這類(lèi)似于互連網(wǎng)上的機(jī)器名的管理。我們將Db_name和
Db_domain兩個(gè)參數(shù)用’.’連接起來(lái),表示一個(gè)數(shù)據(jù)庫(kù),并將該數(shù)據(jù)庫(kù)的名稱(chēng)稱(chēng)為Global_name,即它擴(kuò)展了Db_name。
Db_name參數(shù)只能由字母、數(shù)字、’_’、’#’、’$’組成,而且最多8個(gè)字符。
Db_domain:定義一個(gè)數(shù)據(jù)庫(kù)所在的域,該域的命名同互聯(lián)網(wǎng)的’域’沒(méi)有任何關(guān)系,只是數(shù)據(jù)庫(kù)管理員為了更好的管理分布式數(shù)據(jù)庫(kù)而根據(jù)實(shí)際情況決定的。當(dāng)然為了管理方便,可以將其等于互聯(lián)網(wǎng)的域。
Global_name:對(duì)一個(gè)數(shù)據(jù)庫(kù)(Oracle
database)的唯一標(biāo)識(shí),oracle建議用此種方法命令數(shù)據(jù)庫(kù)。該值是在創(chuàng)建數(shù)據(jù)庫(kù)是決定的,缺省值為Db_name.
Db_domain。在以后對(duì)參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值,如果要修改
Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO
命令進(jìn)行修改,然后修改相應(yīng)參數(shù)。
Service_name:該參數(shù)是oracle8i新引進(jìn)的。在8i以前,我們用SID來(lái)表示標(biāo)識(shí)數(shù)據(jù)庫(kù)的一個(gè)實(shí)例,但是在Oracle的并行環(huán)境中,
一個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)多個(gè)實(shí)例,這樣就需要多個(gè)網(wǎng)絡(luò)服務(wù)名,設(shè)置繁瑣。為了方便并行環(huán)境中的設(shè)置,引進(jìn)了Service_name參數(shù),該參數(shù)對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù),
而不是一個(gè)實(shí)例,而且該參數(shù)有許多其它的好處。該參數(shù)的缺省值為Db_name.
Db_domain,即等于Global_name。一個(gè)數(shù)據(jù)庫(kù)可以對(duì)應(yīng)多個(gè)Service_name,以便實(shí)現(xiàn)更靈活的配置。該參數(shù)與SID沒(méi)有直接關(guān)
系,即不必Service name 必須與SID一樣。
關(guān)于oracle鏈接多個(gè)數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港云服務(wù)器機(jī)房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專(zhuān)業(yè)云服務(wù)器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務(wù),提供一站式解決方案。香港服務(wù)器-免備案低延遲-雙向CN2+BGP極速互訪!
本文題目:Oracle實(shí)現(xiàn)多個(gè)數(shù)據(jù)庫(kù)鏈接的簡(jiǎn)便方法(oracle鏈接多個(gè)數(shù)據(jù)庫(kù))
URL分享:http://www.5511xx.com/article/cdogpsj.html


咨詢(xún)
建站咨詢(xún)
