国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Oracle數(shù)據(jù)庫監(jiān)聽配置淺析與故障定位

2020-08-26 07:46:55弓曉波
電腦知識與技術(shù) 2020年20期
關(guān)鍵詞:Oracle數(shù)據(jù)庫

摘要:Oracle數(shù)據(jù)庫作為市場占比最高的商業(yè)數(shù)據(jù)庫,該系統(tǒng)功能強大,同時也具有一定的復(fù)雜性,Oracle的監(jiān)聽服務(wù)是客戶端連接到數(shù)據(jù)庫的必經(jīng)之路,遠程客戶端進程只有通過服務(wù)端的監(jiān)聽認證、轉(zhuǎn)發(fā)才能連接到數(shù)據(jù)庫。本文首先分析了Oracle監(jiān)聽服務(wù)的工作模式,在此基礎(chǔ)上分別研究了通過配置工具與配置文件實現(xiàn)Oracle客戶端與Oracle服務(wù)器連接的方法,最后以常見的兩例客戶端連接故障為例,分析故障的原因并給出了故障解決方法。

關(guān)鍵詞:Oracle數(shù)據(jù)庫;監(jiān)聽服務(wù);故障解決

中圖分類號:TP393 文獻標(biāo)識碼:A

文章編號:1009-3044(2020)20-0040-02

1引言

Oracle數(shù)據(jù)庫是甲骨文公司的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先的地位,可以說Oracle數(shù)據(jù)庫系統(tǒng)是目前世界上最流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)移植性好、使用方便、功能強大,適用于各類大、中、小、微機環(huán)境[1]。它是一種高效率、可靠性好、適應(yīng)高吞吐量的數(shù)據(jù)庫方案,是各個領(lǐng)域企業(yè)級開發(fā)的首選。

Oracle是C/S(客戶端/服務(wù)器)結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng),其主要由客戶端應(yīng)用程序和數(shù)據(jù)庫服務(wù)器進程組成。這種結(jié)構(gòu)的優(yōu)點是可將大量的數(shù)據(jù)處理工作在客戶端完成,減少服務(wù)器的負載與網(wǎng)絡(luò)通信的負載需求,但同時由于在客戶端與服務(wù)器之間的通信,使得系統(tǒng)在遠程認證與連接方面有一定的復(fù)雜性,在用戶使用過程中,客戶端的連接問題成為一個高發(fā)率的故障點[2]。本文闡述了Oracle數(shù)據(jù)庫的監(jiān)聽服務(wù)工作模式及幾種配置方法,并以常見的兩例客戶端連接故障為例,分析了故障的原因,給出了故障解決方法。

2Oracle通信方式

Oracle的客戶端與服務(wù)端之間有兩種通信方式,進程通信與網(wǎng)絡(luò)通信,進程通信只適用于客戶端與服務(wù)端位于同一服務(wù)器,當(dāng)客戶端和服務(wù)端位于不同的服務(wù)器上,只可采用網(wǎng)絡(luò)通信的方式。目前大部分的應(yīng)用系統(tǒng)部署方式是數(shù)據(jù)庫與服務(wù)器分別獨立部署,這樣可分解服務(wù)器的負載和壓力,提高系統(tǒng)的安全性[3],本文主要描述網(wǎng)絡(luò)通信的配置與管理。

當(dāng)客戶端與服務(wù)端采用網(wǎng)絡(luò)通信的方式連接時,Oracle監(jiān)聽成為客戶端連接到數(shù)據(jù)庫的必經(jīng)之路,遠程客戶端進程只有通過服務(wù)端的監(jiān)聽認證、轉(zhuǎn)發(fā)才能連接到數(shù)據(jù)庫。數(shù)據(jù)庫的連接方式有多種,如Easy ConneCt、Local naming、DireCtory naming、External naming,Local Naming(本地命名)是常用的數(shù)據(jù)庫連接方式,也就是使用位于客戶端的配置文件tnsnames.ora連接,本文主要分析的是Local Naming連接方式。

3Oracle監(jiān)聽配置與管理

3.1監(jiān)聽配置模板

采用LoCal Naming方式下的監(jiān)聽相關(guān)配置文件主要有3個:listener.ora、sqlnet.ora、tnsnames.ora,其中tnsnames.ora位于客戶端,listener.ora與sqlnet.ora通常位于服務(wù)端。默認位置為ORACLE HOME\NETWORK\ADMIN.

listener.ora主要用于配置監(jiān)聽服務(wù)[4]。sqlnet.ora既可以位于Oracle服務(wù)端,也可以位于Oracle客戶端,主要用于控制客戶端和服務(wù)端Oracle Net Services的行為,例如設(shè)置會話跟蹤級別和控制客戶端連接等,tnsnames.ora位于客戶端,主要是對連接描述符進行定義。典型的listener.ora配置文件模板如下:

SID_LIST_LISTENER=

(SIDLIST=

(SIDDESC=

(GLOBAL_DBNAME=tns)

(SID_NAME=tns)

LISTENER=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.110)(PORT=1521》

ADR BASE LISTENER=*****

該配置文件包含三部分:LISTENER、SID LIST_ LISTENER與ADR BASE LISTENER。LISTENER用于設(shè)置監(jiān)聽基本配置信息,包含監(jiān)聽名字、連接協(xié)議、監(jiān)聽主機與監(jiān)聽端口。第二部分SID_LIST_LISTENER用于配置監(jiān)聽的靜態(tài)注冊特性,主要包含數(shù)據(jù)庫服務(wù)名、實例名等信息。第三部分ADR_BASE_LIS-TENER指定數(shù)據(jù)庫服務(wù)的路徑。

其中,CLOBAL NAME指的是監(jiān)聽處理的數(shù)據(jù)庫的服務(wù)名,SID_NAME指監(jiān)聽處理的數(shù)據(jù)庫實例名,HOST表示監(jiān)聽運行的數(shù)據(jù)庫服務(wù)器,HOST的值可以用IP地址、主機名、IP地址解析名表示,建議使用IP地址,清晰明了。PORT表示連接的端口號,默認為1521,需保證此端口號沒有被其他程序占用。

sqlnet.ora文件指明客戶端以何種方法連接數(shù)據(jù)庫。在訪問方式文件中指明客戶端采用的Local Naming的方式,關(guān)鍵字為TNSNAMES。

tnsnames.ora文件主要是對連接描述符進行定義,與listen-er.ora中的配置相對應(yīng),配置文件模板如下:

TNS=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS = (PROTOCOL = TCP) (HOST =192.168.1.110)(PORT=1521)

(CONNECT_DATA=

(SERVER=DEDICATED)

(SERVICE_NAME=tns)

其中訪問協(xié)議(PROTOCOL)、數(shù)據(jù)庫主機名(HOST),訪問端口(PORT),這三項參數(shù)只需與前面的監(jiān)聽服務(wù)配置文件參數(shù)保持一致。數(shù)據(jù)庫服務(wù)名(SERVICENAME)要與ORACLE參數(shù)文件中定義的服務(wù)名保持一致。

3.2Local Naming下的監(jiān)聽配置

可以采用兩種方式來創(chuàng)建與修改配置文件,一種是可視化配置工具,如Net Configuration Assistant與Net Manager,另一種是使用文本編輯工具手動編輯配置文件[5]。

本文以Net Configuration Assistant為例,該工具可完成lis-tener.ora與tnsnames.ora的配置。sqlnet.ora需手動完成。可視化工具的優(yōu)點是系統(tǒng)性強,不會出現(xiàn)語法、關(guān)鍵字錯誤。建議使用可視化工具完成監(jiān)聽配置。

Oracle的監(jiān)聽服務(wù)由server與listener共同控制。

新建服務(wù)命名:

(1)選中服務(wù)命名,點擊左邊的綠色新建按鈕,如圖1所示;

(2)在后面的對話框中,依次填寫網(wǎng)路服務(wù)名:tns,協(xié)議選擇TCP/IP,主機名填寫數(shù)據(jù)庫服務(wù)器地址(192.168.1.110),填寫端口號(默認1521),填寫服務(wù)名:tns(全局?jǐn)?shù)據(jù)庫名)。此對話框中無保存按鈕,需通過關(guān)閉對話框來保存設(shè)置,至此,完成服務(wù)命名的創(chuàng)建。

建立LISTENER監(jiān)聽程序:

(a)重新打開Net Manager,選中監(jiān)聽程序,點擊左邊的綠色新建按鈕,如圖1所示;

(b)填寫監(jiān)聽程序名稱:LISTENER;

(c)點擊“添加地址”,在網(wǎng)絡(luò)地址填寫:“主機:192.168.1.110(數(shù)據(jù)庫服務(wù)器地址),端口:1521”,端口號與服務(wù)命名中的端口號保持一致,最后保存設(shè)置。

4Oracle連接常見故障

本文以O(shè)racle常見的兩例客戶端連接故障為例,分析故障的原因,給出故障解決方法,其中Oracle的版本為11.2.0。

1)無監(jiān)聽程序故障

數(shù)據(jù)庫服務(wù)器在非正常關(guān)機或者其他異常情況下,出現(xiàn)數(shù)據(jù)庫連接失敗,使用PISqlDeveloper連接數(shù)據(jù)庫,報TNS:無監(jiān)聽程序,錯誤代碼1521,使用命令查看監(jiān)聽服務(wù)的狀態(tài):lsnrctlstatus,同樣報錯:無監(jiān)聽程序。

解決方法:修改監(jiān)聽配置文件,將listener.ora與tnsnames.ora文件中的localhost字段,皆修改為數(shù)據(jù)庫服務(wù)器的IP地址。重啟監(jiān)聽服務(wù)(在cmd命令行下使用lsnrctl stop&&lsnrCtl start重啟),使用PISqIDeveloper連接數(shù)據(jù)庫,連接正常。

2)服務(wù)命名注冊故障

此故障是在配置完監(jiān)聽服務(wù)的基礎(chǔ)上發(fā)生的,按照3.2完成監(jiān)聽服務(wù)的配置,重啟服務(wù)后需要等待幾分鐘,服務(wù)命名才會被注冊成功。但有時服務(wù)命名無法正常完成靜態(tài)注冊,導(dǎo)致監(jiān)聽程序正常,但沒有對應(yīng)的服務(wù)。此時需要使用動態(tài)注冊的方式完成服務(wù)命名的注冊。具體步驟如下:

(1)在命令行中使用管理員登陸oracle:sqlplus/as sysdba;

(2) show parameter service_names查看service_names,如果不是tns,進入第三步,如果是,進去第四步;

(3)使用set ORACLE SID=tns,切換數(shù)據(jù)庫實例;

(4)退出sql,在CMD命令行下,使用alter system register動態(tài)注冊。

最后,查看監(jiān)聽狀態(tài),lsnrctl status,顯示服務(wù)”tns”包含1個實例,則監(jiān)聽正常工作。

5結(jié)論

本文首先分析了Oracle監(jiān)聽服務(wù)的工作模式,在此基礎(chǔ)上分別研究了通過配置工具與配置文件實現(xiàn)Oracle客戶端與服務(wù)器連接的方式,介紹了在Local Naming下Oracle監(jiān)聽服務(wù)的可視化配置步驟,最后以常見的兩例客戶端連接故障為例,分析故障的原因并給出了故障解決方法,為技術(shù)人員解決Oracle連接故障提供了理論知識與參考方法。

參考文獻:

[1]周亮.Oracle DBA實戰(zhàn)攻略[M].機械工業(yè)出版社,2013.

[2]許戈.Oracle數(shù)據(jù)庫網(wǎng)絡(luò)安全訪問機制構(gòu)建策略分析[J].江蘇科技信息,2017(29).

[3]周文瓊,王樂球,鄭述招.Oracle網(wǎng)絡(luò)的配置與管理[J].計算機與數(shù)字工程,2014,42(12):2350-2353+2368.

[4]劉恩海,聶俊嵐,韓煥平,等.Web與數(shù)據(jù)庫的連接[J].河北科技大學(xué)學(xué)報,2001(4):30-33+38.

[5]王廷任.Oracle數(shù)據(jù)庫日常維護與優(yōu)化建議[J].數(shù)字通信世界,2019(6):93.

【通聯(lián)編輯:王力】

收稿日期:2020-04-17

基金項目:中航工業(yè)技術(shù)創(chuàng)新基金(2013A62302R)

作者簡介:弓曉波(1987-),男,工程師,研究方向為計算機應(yīng)用與數(shù)據(jù)管理技術(shù)。

猜你喜歡
Oracle數(shù)據(jù)庫
Oracle數(shù)據(jù)庫安全管理策略的優(yōu)化
Oracle數(shù)據(jù)庫應(yīng)用問題與解決方案分析
Oracle數(shù)據(jù)庫安全問題分析及策略
Oracle數(shù)據(jù)庫的存儲結(jié)構(gòu)
一種Oracle數(shù)據(jù)庫表空間監(jiān)控方法
《Oracle數(shù)據(jù)庫》課程教學(xué)模式探究 
基于ORACLE數(shù)據(jù)庫應(yīng)用系統(tǒng)的優(yōu)化途徑研究
虛擬機技術(shù)在Oracle數(shù)據(jù)庫中的探討與應(yīng)用研究
Oracle數(shù)據(jù)庫備份與恢復(fù)的理論基礎(chǔ)
科技視界(2016年1期)2016-03-30 22:11:50
Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化分析
科技視界(2016年1期)2016-03-30 14:27:50
陵水| 盐亭县| 惠安县| 四子王旗| 巴青县| 临洮县| 库车县| 琼结县| 澄迈县| 石门县| 新余市| 韩城市| 饶平县| 北辰区| 中江县| 泊头市| 高密市| 天水市| 武陟县| 北辰区| 平定县| 崇明县| 微山县| 中方县| 宣恩县| 麻阳| 闻喜县| 武川县| 乡宁县| 新闻| 彰化市| 武功县| 简阳市| 壤塘县| 右玉县| 鹤山市| 台州市| 南宫市| 大足县| 玛沁县| 太原市|