新聞中心
Linux操作系統(tǒng)是眾所周知的穩(wěn)定、高效、安全的操作系統(tǒng)之一。它得到了許多IT專業(yè)人士的青睞,是處理各種服務(wù)器和網(wǎng)站的首選。與其他任何操作系統(tǒng)一樣,Linux操作系統(tǒng)也為用戶提供了許多不同的配置選項,網(wǎng)路服務(wù)是其中之一。在Linux系統(tǒng)中,TNS配置文件是網(wǎng)路服務(wù)的關(guān)鍵之一。因此,本文將介紹幾種。

網(wǎng)站的建設(shè)成都創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計體驗!已為木托盤等企業(yè)提供專業(yè)服務(wù)。
1. Linux TNS配置文件簡介
TNS配置文件(tnsnames.ora)是Oracle開發(fā)的網(wǎng)絡(luò)服務(wù)名配置文件,Linux系統(tǒng)下的TNS配置文件用于以指定格式存儲數(shù)據(jù)庫的連接字符串。TNS (Transparent Network Substrate)透明網(wǎng)絡(luò)子系統(tǒng),是Oracle的一種基于標(biāo)準(zhǔn)TCP / IP協(xié)議的網(wǎng)絡(luò)協(xié)議棧,它連接了客戶端和Oracle服務(wù)器上的數(shù)據(jù)庫。TNS配置文件是客戶端連接Oracle服務(wù)的重要配置文件。
2. TNS配置文件結(jié)構(gòu)
TNS配置文件是一個純文本文件。TNS配置文件以一行注釋或空白塊開頭,以按名稱排序的連接字符串結(jié)束。每個連接字符串必須以別名號開頭,表示為“ALIAS =”。一個完整的TNS配置文件結(jié)構(gòu)通常包括以下部分:
(1)注釋或空白行:文件的之一行通常是注釋或空白行,以表示文件的用途。
(2)客戶端配置:使用客戶端連接到遠(yuǎn)程服務(wù)器的配置信息。
(3)服務(wù)端配置:用于指定服務(wù)器上數(shù)據(jù)庫服務(wù)的OSN配置。
(4)傳輸層協(xié)議:TNS協(xié)議中三種傳輸層協(xié)議(TCP/IP、SPX、DECNet),是必須設(shè)置的。
(5)統(tǒng)一命名器:配置服務(wù)名稱,由Oracle Net管理。
3. 如何編輯TNS配置文件
編輯TNS配置文件需要使用編輯器,例如vim、gedit等。具體步驟如下:
(1)打開TNS配置文件:在Linux終端中輸入以下命令打開TNS配置文件:vi /usr/local/Oracle/product/11.2/tnsnames.ora
(2)在編輯器中編輯內(nèi)容:在編輯器中,使用光標(biāo)鍵移動到需要編輯的位置,然后編輯連接字符串或添加新的連接字符串。
(3)保存文件:使用如下命令保存編輯后的文件::w。保存后,使用如下命令退出文件編輯器::q。
4. TNS配置文件示例
下面是一個典型的TNS配置文件示例:
#注釋或空白行
DATABASE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LINUXSERVER)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
#注釋或空白行
PROD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = LINUXSERVER)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PROD)
)
)
以上是兩個基本的連接字符串示例,它們描述如何連接到名為ORCL和PROD的兩個數(shù)據(jù)庫。
在Linux系統(tǒng)中,掌握TNS配置文件的方法是管理Oracle數(shù)據(jù)庫的非常重要的技能之一。本文介紹了TNS配置文件的結(jié)構(gòu)、內(nèi)容編輯和典型示例,希望能夠給你提供一個快速掌握TNS配置文件技巧的基礎(chǔ),讓你能夠輕松處理Oracle數(shù)據(jù)庫的連接問題。
相關(guān)問題拓展閱讀:
- 請linux oracle高手幫忙 ora 12154
- linux下怎么把oracle的監(jiān)聽變成主機名
- Linux下Oracle
請linux oracle高手幫忙 ora 12154
今天,從上周就捆饒我的問題終于在下班前被我搞定!小得意了一下.
我的電腦上之前安裝了Oracle 10g database,配置完變量用PL/SQL操作一切OK .當(dāng)又安裝完Oracle 10g client后,問攜喊題出現(xiàn)了,用PL/SQL登陸時反復(fù)提示:ORA-12154: TNS: could not resolve the connect identifier specified
對于初學(xué)者,我反復(fù)的在”O(jiān)racle – OraDb10g_home3″下的”配置和移植工具”中的”Net Manager”中查找問題所在.請教高手,也沒有召見問題的原因.我郁悶了,隨后自己決定來搞定這個問題.
我做了大量的反復(fù)的資料查看和自我檢查,靈感在下班的時候出現(xiàn),我突然意識到我的”
環(huán)境變量
“一直被忽視.
打開后我發(fā)薯前現(xiàn)我當(dāng)前的環(huán)境變量這樣設(shè)置的:
path == E:\oraclient_2;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
問題出現(xiàn)了.隨后我該成如下:
path == E:\oracle;E:\數(shù)隱清oracle\oradata\bin;E:\oracle\bin;E:\Program Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
OK !!! 問題在最后的
關(guān)頭
被我解決了!!!不錯.
這就是: “不拋棄 不放棄”
你仿者有沒有用NETCA配置LISTENER?
你塌大謹(jǐn)這應(yīng)該是沒有配團基置HOST=后面應(yīng)該是你的機器名或者IP地址
配置好了使用lsnrctl start +你的LISTENER的名字
host后面空著呢,監(jiān)聽無效
如何連接oracle數(shù)據(jù)庫及故障解決辦法
如何配置才能使客戶端連到數(shù)據(jù)庫:
要使一個客戶端機器能連接oracle數(shù)據(jù)庫,需要在客戶端機器上安裝oracle的客戶端軟件,唯一的例外就是java連接數(shù)據(jù)庫的時候,可以用jdbc thin模式,不用裝oracle的客戶端軟件。加入你在機器上裝了oracle數(shù)據(jù)庫,就不需要在單獨在該機器上安裝oracle客戶端了,因為裝oracle數(shù)據(jù)庫的時候會自動安裝oracle客戶端。
用過sql server數(shù)據(jù)庫然后又用oracle的新手可能會有這樣的疑問:液改問什么我用sql server的時候不用裝sql server的客戶端呢?原因很簡單,sql server也是microsoft的,它在操作系統(tǒng)中集成了sql server客戶端,如果microsoft與oracle有協(xié)議,將oracle客戶端也集成到操作系統(tǒng)中,那我們也就不用在客戶端機器裝oracle客戶端軟機就可訪問數(shù)據(jù)庫了,不過,這好像是不可能實現(xiàn)的事情。
也有的人會問:為什么在sql server中沒有偵聽端口一說,而在oracle中要配置偵聽端口?其實sql server中也有偵聽端口,只不過microsoft將虛橋偵聽端口固定為1433,不允許你隨便改動,這樣給你一個錯覺感覺sql server中沒有偵聽端口,咳,microsoft把太多的東西都封裝到黑盒子里,方便使用的同時也帶來的需要副作用。而oracle中的偵聽端口直接在配置文件中,允許隨便改動,只不過無論怎樣改動,要與oracle服務(wù)器端設(shè)置的偵聽端口一致。
好,言歸正傳,我們?nèi)绾巫霾拍苁箍蛻舳藱C器連接到oracle數(shù)據(jù)庫呢?
A. 安裝相關(guān)軟件
B. 進行適當(dāng)?shù)呐渲?
A.在適當(dāng)?shù)奈恢冒惭b適當(dāng)?shù)能浖?
在客戶端機器:
.在客戶端機器上安裝ORACLE的Oracle Net通訊軟件,它包含在oracle的客戶端軟件中。
.正確配置了sqlnet.ora文件:
NAMES.DIRECTORY_PATH = (TNSNAMES, ….)
NAMES.DEFAULT_DOMAIN=DB_DOMAIN
一般情況下我們不用NAMES.DEFAULT_DOMAIN參數(shù)。如果想不用該參數(shù)用#注鬧譽判釋掉或?qū)⒃搮?shù)刪除即可,對于NAMES.DIRECTORY_PATH參數(shù)采用缺省值即可,對于NAMES.DEFAULT_DOMAIN參數(shù)有時需要注釋掉,在下面有詳細(xì)解釋。
.正確配置了tnsname.ora文件
在服務(wù)器端機器:
1.保證listener已經(jīng)啟動
2.保證數(shù)據(jù)庫已經(jīng)啟動。
如果數(shù)據(jù)庫沒有啟動,用:
Oracle 9i:
dos>sqlplus “/ as sysdba”
sqlplus> startup
Oracle 8i:
dos>svrmgrl
svrmgrl>connect internal
svrmgrl>startup
命令啟動數(shù)據(jù)庫
如果listener沒有啟動,用:
lsnrctl start
lsnrctl status
命令啟動listener
B.進行適當(dāng)?shù)呐渲?
如何正確配置tnsname.ora文件:
可以在客戶端機器上使用oracle Net Configuration Assistant或oracle Net Manager圖形配置工具對客戶端進行配置,該配置工具實際上修改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,使用的偵聽端口為1521,則tnsnams.ora文件中的一個test網(wǎng)絡(luò)服務(wù)名(數(shù)據(jù)庫別名)為:
test =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)
)
)
此處的笑臉為)。
紅色的內(nèi)容為需要根據(jù)實際情況修改的內(nèi)容,現(xiàn)解釋如下:
PROTOCOL:客戶端與服務(wù)器端通訊的協(xié)議,一般為TCP,該內(nèi)容一般不用改。
HOST:數(shù)據(jù)庫偵聽所在的機器的機器名或IP地址,數(shù)據(jù)庫偵聽一般與數(shù)據(jù)庫在同一個機器上,所以當(dāng)我說數(shù)據(jù)庫偵聽所在的機器一般也是指數(shù)據(jù)庫所在的機器。在UNIX或WINDOWS下,可以通過在數(shù)據(jù)庫偵聽所在的機器的命令提示符下使用hostname命令得到機器名,或通過ipconfig(for WINDOWS) or ifconfig(for UNIX)命令得到IP地址。需要注意的是,不管用機器名或IP地址,在客戶端一定要用ping命令ping通數(shù)據(jù)庫偵聽所在的機器的機器名,否則需要在hosts文件中加入數(shù)據(jù)庫偵聽所在的機器的機器名的解析。
PORT:數(shù)據(jù)庫偵聽正在偵聽的端口,可以察看服務(wù)器端的listener.ora文件或在數(shù)據(jù)庫偵聽所在的機器的命令提示符下通過lnsrctl status 命令察看。此處Port的值一定要與數(shù)據(jù)庫偵聽正在偵聽的端口一樣。
SERVICE_NAME:在服務(wù)器端,用system用戶登陸后,sqlplus> show parameter service_name命令察看。
如何利用配置的網(wǎng)絡(luò)服務(wù)名連接到數(shù)據(jù)庫:
用sqlplus程序通過test網(wǎng)絡(luò)服務(wù)名進行測試,如sqlplus system/manager@test。如果不能連接到數(shù)據(jù)庫,則在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)容為:
什么情況下會引起oracle自動設(shè)置NAMES.DEFAULT_DOMAIN參數(shù)?
出現(xiàn)這種情況的典型環(huán)境為windows的客戶端的‘我得電腦à屬性à計算機名à更改à其它…à此計算機的主DNS后綴’中設(shè)置了‘primary dns suffix’,因為在這種情況下安裝客戶端時,會在sqlnet.ora文件中自動設(shè)置NAMES.DEFAULT_DOMAIN參數(shù),或許當(dāng)把計算機加入域中安裝oracle客戶端時也會出現(xiàn)這種情況,有條件的話大家可以試一下。
我在設(shè)置oracle的客戶端時一般手工修改tnsnames.ora文件,但是還有許多人喜歡用圖形工具配置,該圖形工具最終還是修改tnsnames.ora文件,但是它有時會引起其它的問題:
在用oracle的圖形配置軟件’net assistant’或‘Net Configuration Assistant’配置網(wǎng)絡(luò)服務(wù)名時,假如已經(jīng)設(shè)置了‘primary dns suffix’,但是在圖形配置軟件中寫的網(wǎng)絡(luò)服務(wù)名的名字中沒有‘primary dns suffix’,如只是寫了test,則圖形配置軟件會自動在后面加上‘primary dns suffix’,使之變?yōu)閠est.testserver.com,并存在tnsnames.ora中,而不管你的sqlnet.ora文件中是否有NAMES.DEFAULT_DOMAIN參數(shù)。此時,用圖形工具進行測試連接是通過的,但是假如此時sqlnet.ora文件中沒有NAMES.DEFAULT_DOMAIN參數(shù),則你在使用網(wǎng)絡(luò)服務(wù)名時應(yīng)該使用在tnsnames.ora中的test.testserver.com,而不是你在圖形配置軟件中鍵入的test。解決的辦法為:
可以在sqlnet.ora文件中設(shè)置NAMES.DEFAULT_DOMAIN= testserver.com,這時你可以用test或test.testserver.com連接數(shù)據(jù)庫
在sqlnet.ora文件中不設(shè)置NAMES.DEFAULT_DOMAIN參數(shù),在tnsnames.ora文件中將test.testserver.com中的.testserver.com去掉,這時你可以用test連接數(shù)據(jù)庫。
關(guān)于為什們在網(wǎng)絡(luò)服務(wù)名后面加db_domain參數(shù),需要了解sql*plus連接數(shù)據(jù)庫的原理,我在后面解決12154常見故障中給出了詳細(xì)的說明。
如果上面的招數(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 。
如果能連接成功,說明你的客戶端與服務(wù)器端的網(wǎng)絡(luò)有問題。
如果連接不成功,用前面的部分檢查網(wǎng)絡(luò)服務(wù)名部分部分是否正確,如果確信網(wǎng)絡(luò)服務(wù)名部分正確而且所有的客戶端都連不上數(shù)據(jù)庫則可能為系統(tǒng)TCP/IP或Oracle系統(tǒng)有問題,建議重新安裝數(shù)據(jù)庫。
常見故障解決辦法:
TNS(ORA-12154):TNS:could not resolve service name
該錯誤表示用于連接的網(wǎng)絡(luò)服務(wù)名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的網(wǎng)絡(luò)服務(wù)名只有test,假如用戶在連接時用sqlplus system/manager@test1則就會給出TNS-12154錯誤。
要注意的是,有時即使在tnsnames.ora文件中有相應(yīng)的網(wǎng)絡(luò)服務(wù)名,可是用該網(wǎng)絡(luò)服務(wù)名連接時還會出錯,出現(xiàn)這種情況的典型配置如下(在客戶端的機器上):
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運行基本機理:
在用戶輸入sqlplus system/manager@test后,sqlplus程序會自動到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN參數(shù),假如該參數(shù)存在,則將該參數(shù)中的值取出,加到網(wǎng)絡(luò)服務(wù)名的后面,即此例中你的輸入由sqlplus system/manager@test自動變?yōu)閟qlplus ,然后再到tnsnames.ora文件中找test.server.com網(wǎng)絡(luò)服務(wù)名,這當(dāng)然找不到了,因為該文件中只有test網(wǎng)絡(luò)服務(wù)名,所以報錯。解決的辦法就是將sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN參數(shù)注釋掉即可,如#NAMES.DEFAULT_DOMAIN = server.com。假如NAMES.DEFAULT_DOMAIN參數(shù)不存在,則sqlplus程序會直接到tnsnames.ora文件中找test網(wǎng)絡(luò)服務(wù)名,然后取出其中的host,port,tcp,service_name,利用這些信息將連接請求發(fā)送到正確的數(shù)據(jù)庫服務(wù)器上。
另外原則上tnsnames.ora中的配置不區(qū)分大小寫,但是我的確遇到區(qū)分大小寫的情況,所以更好將使用的網(wǎng)絡(luò)服務(wù)與tnsnames.ora中配置的完全一樣。
ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect Descriptor.
該錯誤表示能在tnsnames.ora中找到網(wǎng)絡(luò)服務(wù)名,但是在tnsnames.ora中指定的SERVICE_NAME與服務(wù)器端的SERVICE_NAME不一致。解決的辦法是修改tnsnames.ora中的SERVICE_NAME。
易混淆術(shù)語介紹:
Db_name:對一個數(shù)據(jù)庫(Oracle database)的唯一標(biāo)識,該數(shù)據(jù)庫為之一章講到的Oracle database。這種表示對于單個數(shù)據(jù)庫是足夠的,但是隨著由多個數(shù)據(jù)庫構(gòu)成的分布式數(shù)據(jù)庫的普及,這種命令數(shù)據(jù)庫的方法給數(shù)據(jù)庫的管理造成一定的負(fù)擔(dān),因為各個數(shù)據(jù)庫的名字可能一樣,造成管理上的混亂。為了解決這種情況,引入了Db_domain參數(shù),這樣在數(shù)據(jù)庫的標(biāo)識是由Db_name和Db_domain兩個參數(shù)共同決定的,避免了因為數(shù)據(jù)庫重名而造成管理上的混亂。這類似于互連網(wǎng)上的機器名的管理。我們將Db_name和Db_domain兩個參數(shù)用’.’連接起來,表示一個數(shù)據(jù)庫,并將該數(shù)據(jù)庫的名稱稱為Global_name,即它擴展了Db_name。Db_name參數(shù)只能由字母、數(shù)字、’_’、’#’、’$’組成,而且最多8個字符。
Db_domain:定義一個數(shù)據(jù)庫所在的域,該域的命名同互聯(lián)網(wǎng)的’域’沒有任何關(guān)系,只是數(shù)據(jù)庫管理員為了更好的管理分布式數(shù)據(jù)庫而根據(jù)實際情況決定的。當(dāng)然為了管理方便,可以將其等于互聯(lián)網(wǎng)的域。
Global_name:對一個數(shù)據(jù)庫(Oracle database)的唯一標(biāo)識,oracle建議用此種方法命令數(shù)據(jù)庫。該值是在創(chuàng)建數(shù)據(jù)庫是決定的,缺省值為Db_name. Db_domain。在以后對參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO 命令進行修改,然后修改相應(yīng)參數(shù)。
Service_name:該參數(shù)是oracle8i新引進的。在8i以前,我們用SID來表示標(biāo)識數(shù)據(jù)庫的一個實例,但是在Oracle的并行環(huán)境中,一個數(shù)據(jù)庫對應(yīng)多個實例,這樣就需要多個網(wǎng)絡(luò)服務(wù)名,設(shè)置繁瑣。為了方便并行環(huán)境中的設(shè)置,引進了Service_name參數(shù),該參數(shù)對應(yīng)一個數(shù)據(jù)庫,而不是一個實例,而且該參數(shù)有許多其它的好處。該參數(shù)的缺省值為Db_name. Db_domain,即等于Global_name。一個數(shù)據(jù)庫可以對應(yīng)多個Service_name,以便實現(xiàn)更靈活的配置。該參數(shù)與SID沒有直接關(guān)系,即不必Service name 必須與SID一樣。
Net service name:網(wǎng)絡(luò)服務(wù)名,又可以稱為數(shù)據(jù)庫別名(database alias)。是客戶端程序訪問數(shù)據(jù)庫時所需要,屏蔽了客戶端如何連接到服務(wù)器端的細(xì)節(jié),實現(xiàn)了數(shù)據(jù)庫的位置透明的特性。
linux下怎么把oracle的監(jiān)聽變成主機名
1. 修改監(jiān)聽器配租禪置文件Linux下Oracle監(jiān)聽器配置文件在:$ ORACLE_HOME/network/admin/listerer.ora, 如: /bank/oracle/oracle10g/product/10.2.0/network/admin/listener.ora 修改并配置要監(jiān)聽SID的相關(guān)信息,如:#listener.ora Network Configuration File: /bank/oracle/oracle10g/product/10.2.0/network/admin/listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER = (SID_LIST = (SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /bank/oracle/oracle10g/product/10.2.0)(PROGRAM = extproc) ) (SID_DESC =(GLOBAL DBNAME = bkserver)(SID_NAME = bkserver) ) )LISTENER = (DESCRIPTION_LIST = (DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521)) ) ) 2. 啟動監(jiān)聽器(1). 切換至oracle安裝用戶(一般為oracle)su – oracle (2). 啟動監(jiān)弊晌塵聽器lsnrctl start 另:停止監(jiān)聽器lsnrctl stop3. 測試監(jiān)聽器是否運行正常在客戶端修改tnsnames.ora配置文件就訪問Oracle數(shù)據(jù)庫,如:BKSERVER = (DESCRIPTION = (ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521)) ) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = BKSERVER) ) ) 通過命令tnsping測試是否能訪問到監(jiān)聽器,如:M:\>tnsping bkserverTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 – Production on 12-8月:11:04Copyright (c) 1997, 2023, Oracle. All rights reserved.已使用的參數(shù)文件:D:\oracle\謹(jǐn)晌product\10.2.0\client_1\network\admin\sqlnet.ora已使用 TNSNAMES 適配器來解析別名Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = BKSERVER)))OK (20 毫秒)注意: 監(jiān)聽器是否能被tnsping通跟數(shù)據(jù)庫的開啟/關(guān)閉無關(guān),所以就算可以tnsping通監(jiān)聽器但未必能連接到數(shù)據(jù)庫,這時請檢查listener.ora文件配置信息是否正確,還有數(shù)據(jù)庫是否已經(jīng)被開啟。
Linux下Oracle
DataGuard 雙節(jié)點 node node
在node 上配置網(wǎng)絡(luò) 包括 網(wǎng)卡mac地址 ip dns名 并測試網(wǎng)絡(luò)
在node 上 運行終端terminal命令——env |grep PATH
在node 上創(chuàng)建數(shù)據(jù)庫 選擇 特殊數(shù)據(jù)庫 類型
在node 上 運行終端terminal命令——env |grep ORA全局?jǐn)?shù)據(jù)庫名要和配置文件里的oracle_sid設(shè)置的同名
在node 上不設(shè)置默認(rèn)歸檔日志 alter system set db_recovery_file_dest= scope=spfile 同時需要啟用arch日志進程 并兆前手工創(chuàng)建歸檔日志目錄及路徑(mkdir p /u /app/arch 在DBCA上添加相關(guān)歸檔路徑/u /app/arch)
注意事項 族備清 在更換默認(rèn)歸檔路徑后 不會立即生效 應(yīng)重新生成spfile文件
create spfile= from pfile
創(chuàng)建數(shù)據(jù)庫開始——結(jié)束完成后
在node 上 運行終端命令——ps ef 查看進程 出現(xiàn)oracle相關(guān)服務(wù)進程注意 /etc/hosts 查看id IP 在/etc/hosts下node 和node 都需配置為主機設(shè)置快捷方式
ca(dbca) ——netmgr & 也可以主數(shù)據(jù)庫
創(chuàng)建listener
查看listener——在/oracle下執(zhí)行cd neork/admin/
里面有個 listener ora文件編輯文件
命令 vi listener ora
ca配置tnsname ora node 和node 都需配置(連接后臺服務(wù)的)
注意 在從庫上面也滾雹要在建立一個一模一樣的庫 采取方法 從主庫復(fù)制一份過去詳見 最下面 使用RMAN duplicate命令復(fù)制數(shù)據(jù)庫
注意 在從庫上面也要在建立一個一模一樣的庫 采取方法 從主庫復(fù)制一份過去
詳見 最下面 使用RMAN duplicate命令復(fù)制數(shù)據(jù)庫
ps ef | more查看配置是否成功也可以在netca界面上看結(jié)果
ps ef |grep oracle 查看進程
在node 上配置listener tnsname
配置完后 測試兩個node的網(wǎng)絡(luò)互通 ——sqlplus scott/tiger@test
sqlplus scott/tiger@test
開始配置DataGuard
配置主庫(Primary Database)相關(guān)工作
enable forced logging——alter database force logging
create a password file ——配置dbca時 oracle 自動創(chuàng)建
——database不處于open狀態(tài)時使用 處于open狀態(tài)是 使用 user$表
setting 主庫 初始化 參數(shù) ——主要工作
++++++++++++++++db_unique_name=uqn_node 自定義命名log_archive_config= dg_config=(uqn_node uqn_node ) log_archive_dest_ = SERVICE=lsnode tnsnamevalid_for=(ONLINE_LOGFILES PRIMARY_ROLE) db_unique_name=uqn_node LOG_ARCHIVE_DEST_STATE_ =ENABLELOG_ARCHIVE_DEST_STATE_ =ENABLEfal_server=lsnode fal_client=lsnode STANDBY_FILE_MANAGEMENT=AUTO* db_file_name_convert= /u /oradata/test /oradata/test * log_file_name_convert= /u /oradata/test /oradata/test enable archiving shutdown immediate;startup mount;alter database archivelog;alter database open;
創(chuàng)建主庫 備庫(Primary Standby)
備份主庫數(shù)據(jù)文件——rman備份 backup database
創(chuàng)建控制文件 for the Standby Database
startup mount;alter database create standby controlfile as /u /oradata/test /standby ctl ;alter database open;
配置初始化參數(shù) for the Standby Database
從主庫拷貝文件到備庫
包括datafiles standby control file initial file Ps create pfile from spfile 前面在創(chuàng)建oracle初始化參數(shù)文件時是使用initdgdemo ora文件 而之前的spfiledgdemo ora文件應(yīng)該刪除掉
刪除命令 rm f spfiledgdemo ora
cp initdgdemo ora /u /oradatacp orapwdgdemo /u /oradata檢查一下/u /oradata目錄下的文件包括arch dgdemo initdgdemo ora orapwdgdemo boston ctl有兩種方式: 打包用ftp工具傳過去在/u 目錄下 scp r admin oradata root@IP:/u
為備庫配置環(huán)境
修改配置文件之前先執(zhí)行一下操作
先把/oradata/下的控制文件用boston ctl替換掉 在dgdemo下 rm f control * mv /boston ctl /control ctl cp control ctl control ctl cp control ctl control ctl 將初始化參數(shù)文件拷到/oracle/dbs 下 mv $ORACLE_HOME/dbs/inittest ora mv $ORACLE_HOME/dbs/orapwtest
setting 備庫 初始化 參數(shù)
* db_unique_name=uqn_node 自定義命名* log_archive_config= dg_config=(uqn_node uqn_node ) * log_archive_dest_ = location=/u /app/arch * log_archive_dest_ = SERVICE=lsnode tnsname valid_for=(ONLINE_LOGFILES PRIMARY_ROLE) db_unique_name=uqn_node * LOG_ARCHIVE_DEST_STATE_ =ENABLE* LOG_ARCHIVE_DEST_STATE_ =ENABLE* fal_server=lsnode * fal_client=lsnode * STANDBY_FILE_MANAGEMENT=AUTO* db_file_name_convert= /u /app/oradata /u /app/oradata * log_file_name_convert= /u /app/oradata /u /app/oradata
實例
test __db_cache_size= test __java_pool_size= test __large_pool_size= test __shared_pool_size= test __streams_pool_size= * audit_file_dest= /u /app/admin/test /adump * background_dump_dest= /u /app/admin/test /bdump patible= ntrol_files= /u /app/oradata/control ctl /u /app/oradata/control ctl /u /app/oradata/control ctl re_dump_dest= /u /app/admin/test /cdump * db_block_size= * db_domain= * db_file_multiblock_read_count= * db_name= test * db_recovery_file_dest_size= * db_recovery_file_dest= * dispatchers= (PROTOCOL=TCP) (SERVICE=test XDB) * job_queue_processes= * log_archive_start=TRUE* open_cursors= * pga_aggregate_target= * processes= * remote_login_passwordfile= EXCLUSIVE a_target= * undo_management= AUTO * undo_tablespace= UNDOTBS * user_dump_dest= /u /app/admin/test /udump * db_unique_name=test * log_archive_config= dg_config=(test dubdg) * log_archive_dest_ = location=/u /app/oradata * log_archive_dest_ = service=dubdg valid_for=(online_logfiles primary_role) db_unique_name=dubdg * log_archive_dest_state_ =enable* log_archive_dest_state_ =enable* fal_server=dubdg * fal_client=dubdg * standby_file_management=auto* db_file_name_convert= /u /app/oradata /u /app/oradata * log_file_name_convert= /u /app/oradata /u /app/oradata
詳見 最下面 使用RMAN duplicate命令復(fù)制數(shù)據(jù)庫
啟動物理備庫(補充 startup open read only 默認(rèn)備庫就是只讀啟動)
ps ef 進程查看 lsnrctl start 主備庫 注意監(jiān)聽 startup 主庫 測試lsnode 訪問 sqlplus system/oracle@lsnode startup 備庫 startup mount; Start Redo Apply:alter database recover managed standby database disconnect from session; 到這一步 DataGuard 已經(jīng)配置好了 測試:在主庫上執(zhí)行 創(chuàng)建一個表scott_dept_test alter system switch logfile; 或者alter system archive log current; 看備庫那邊有沒有接收主庫的redo log信息;
驗證物理備庫是否運行正常
接收主庫多少redo log 信息
select sequence# first_time next_time from v$archived_log order by sequence#; select sequence# applied from v$archived_log order by sequence#;
管理備庫
lishixinzhi/Article/program/Oracle/202311/17349
linux tns配置 文件的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux tns配置 文件,快速掌握Linux TNS配置文件的方法,請linux oracle高手幫忙 ora 12154,linux下怎么把oracle的監(jiān)聽變成主機名,Linux下Oracle的信息別忘了在本站進行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文題目:快速掌握LinuxTNS配置文件的方法(linuxtns配置文件)
網(wǎng)頁網(wǎng)址:http://fisionsoft.com.cn/article/dhjcgpi.html


咨詢
建站咨詢
