溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

oracle有哪些網(wǎng)絡(luò)配置文件

發(fā)布時間:2021-11-16 17:02:20 來源:億速云 閱讀:151 作者:小新 欄目:云計算

這篇文章主要介紹了oracle有哪些網(wǎng)絡(luò)配置文件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在oracle的網(wǎng)絡(luò)配置中,經(jīng)常會遇到sqlnet.ora,tnsnames.ora,listener.ora這三個配置文件,為方便具體應(yīng)用索性總結(jié)一下。

1、sqlnet.ora文件:作用類似于linux或者其他unix的nsswitch.conf文件,通過這個文件來決定怎樣找一個連接中出現(xiàn)的連接字符串(connect descriptor)  (sqlnet.ora還可以對特定客戶端的IP進(jìn)行限制,限制客戶端訪問ORACLE數(shù)據(jù)庫,當(dāng)作了這樣的限制,客戶端連接數(shù)據(jù)庫時會報ORA-12537錯誤)
 
假如sqlnet.ora 是下面這個樣子
NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
當(dāng)客戶端輸入sqlplus sys/oracle@orcl時, 就會首先在 tnsnames.ora文件中找orcl的記錄.如果沒有相應(yīng)的記錄則嘗試把orcl當(dāng)作一個主機(jī)名。通過網(wǎng)絡(luò)的途徑去解析它的ip地址然后去連接這個ip上GLOBAL_DBNAME=orcl這個實(shí)例,當(dāng)然我這里orcl并不是一個主機(jī)名。
  
如果我是這個樣子NAMES.DIRECTORY_PATH= (TNSNAMES),那么客戶端就只會從tnsnames.ora查找orcl的記錄。括號中還有其他選項,如LDAP等,但HOSTNAME,LDAP通常并不常用,通常只設(shè)TNSNAME即可.

 
2、tnsnames.ora文件:提供tnsname到主機(jī)名或者ip的對應(yīng)(也是客戶端監(jiān)聽器配置文件)
ORCL =
 (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))   #對應(yīng)的SOCKET信息
      (CONNECT_DATA =                  
           (SERVER = DEDICATED)            #使用專用服務(wù)器模式去連接(server=shared共享模式)
            (SERVICE_NAME = orcl)           #這里填入對應(yīng) service_name,
                                           
  )      
  
SALES =
 (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.219)(PORT = 1521))
    (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = sales)
     )
 )
配置tnsname.ora里面的service_name,可以用下面命令查看:
SQL> show parameter service_name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      orcl

tnsnames.ora是為oracle客戶端訪問數(shù)據(jù)庫而設(shè)的,不是為了遠(yuǎn)程客戶端連接oracle 服務(wù)器而設(shè)的.

刪除tnsnames.ora
[oracle@oracle admin]$ rm tnsnames.ora
重啟oracle,會發(fā)現(xiàn)本地客戶端無法訪問數(shù)據(jù)庫了
[oracle@oracle ~]$ sqlplus scott/scott@orcl

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Feb 16 17:32:41 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
在遠(yuǎn)端(另一臺機(jī)器)通過sqlplus方式連接oracle數(shù)據(jù)庫,沒問題;通過jdbc連接orcle數(shù)據(jù)庫,沒問題。


3、listener.ora文件:接受遠(yuǎn)程對數(shù)據(jù)庫的接入請求并轉(zhuǎn)交給oracle的服務(wù)器進(jìn)程。所以如果不是使用的遠(yuǎn)程的連接,listener進(jìn)程就不是必需的,同樣的如果關(guān)閉listener進(jìn)程并不會影響已經(jīng)存在的數(shù)據(jù)庫連接。(服務(wù)器端監(jiān)聽器配置文件)
    Listener.ora
    #SID_LIST_LISTENER 定義, 定義LISTENER進(jìn)程監(jiān)聽SID
  SID_LIST_LISTENER =
  (SID_LIST =                            #可以監(jiān)聽多個SID,都存在一個SID表中

    (SID_DESC =
        (GLOBAL_DBNAME = boway)         # GLOBAL_DBNAME不是必需的除非使用HOSTNAME做數(shù)據(jù)庫連接
        (ORACLE_HOME = E:\oracle\product\10.1.0\Db_2)
        (SID_NAME = orcl)
    )
  )
  
  #監(jiān)聽器定義,一臺數(shù)據(jù)庫可以有不止一個監(jiān)聽器
  LISTENER =
    (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = boway)(PORT = 1521))
     )
JDBC連接請求的URL 要對應(yīng)Listener.ora 
 jdbc:oracle:thin:@192.168.3.98:1521:orcl

總結(jié):
1 .三個配置文件都是放在$ORACLE_HOME\network\admin目錄下。
2 .sqlnet.ora確定名稱的解析方式
3 .listener.ora上設(shè)SID_NAME,通常用于JDBC訪問,對應(yīng)的錯誤碼為12505
4 .tnsnames.ora上設(shè)SERVICE_NAME,通常用于linux sqlplus客戶端,對應(yīng)的錯誤碼為12514

客戶端連接服務(wù)器端常見問題排除方法:
要排除客戶端與服務(wù)器端的連接問題,首先檢查客戶端配置是否正確(客戶端配置必須與數(shù)據(jù)庫服務(wù)器端監(jiān)聽配置一致),再根據(jù)錯誤提示解決。下面列出幾種常見的連接問題:
1、 ORA-12541: TNS: 沒有監(jiān)聽器 顯而易見是服務(wù)器端的監(jiān)聽器沒有啟動,另外檢查客戶端IP地址或端口填寫是否正確。啟動監(jiān)聽器: $ lsnrctl start 或 C:lsnrctl start
2、 ORA-12500: TNS: 監(jiān)聽程序無法啟動專用服務(wù)器進(jìn)程 對于Windows而言,沒有啟動Oracle實(shí)例服務(wù)。啟動實(shí)例服務(wù): C:oradim –startup -sid myoracle
3、 ORA-12535: TNS: 操作超時   出現(xiàn)這個問題的原因很多,但主要跟網(wǎng)絡(luò)有關(guān)。解決這個問題,首先檢查客戶端與服務(wù)端的網(wǎng)絡(luò)是否暢通,如果網(wǎng)絡(luò)連通,則檢查兩端的防火墻是否阻擋了連接。
4、 ORA-12154: TNS: 無法處理服務(wù)名   檢查輸入的服務(wù)名與配置的服務(wù)名是否一致。另外注意生成的本地服務(wù)名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每項服務(wù)的首 行服務(wù)名稱前不能有空格。
5、 ORA-12514: TNS: 監(jiān)聽進(jìn)程不能解析在連接描述符中給出的 SERVICE_NAME   打開Net Manager,選中服務(wù)名稱,檢查服務(wù)標(biāo)識欄里的服務(wù)名輸入是否正確。該服務(wù)名必須與服務(wù)器端監(jiān)聽器配置的全局?jǐn)?shù)據(jù)庫名一致。
6、ORA-12518 TNS:監(jiān)聽程序無法分發(fā)客戶機(jī)連接         出現(xiàn)該報錯有兩個原因:在共享模式下是由于調(diào)度進(jìn)程(dispatchers)太少,在獨(dú)占模式下是由于進(jìn)程數(shù)(proces ses)超過了數(shù)據(jù)庫默認(rèn)的最大進(jìn)程數(shù)。
解決步驟:1、 show parameter process查看數(shù)據(jù)庫允許最大進(jìn)程數(shù)
          2、select count(*) from v$session;查看當(dāng)前系統(tǒng)進(jìn)程數(shù)如果進(jìn)程數(shù)不夠,可通過擴(kuò)大PGA來增大進(jìn)程數(shù):             alter system set workarea_size_policy=auto scope=both;
             alter system set pga_aggregate_target=512m scope=both; 
          3、show parameter dispatchers查看調(diào)度進(jìn)程數(shù)量如果調(diào)度進(jìn)程太少,則可執(zhí)行:alter system set dispatchers = '(protocol=tcp)(dispatchers=3)(service=oracle10xdb)';
7、  Windows 下啟動監(jiān)聽服務(wù)提示找不到路徑   用命令或在服務(wù)窗口中啟動監(jiān)聽提示找不到路徑,或監(jiān)聽服務(wù)啟動異常。打開注冊表,進(jìn)入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener項,查看ImagePath字符串項是否存在,如果沒有,設(shè)定值為D:oracleora92BINTNSLSNR,不同的安裝路徑設(shè)定值做相應(yīng)的更改。這種方法同樣適用于Oracle實(shí)例服務(wù),同上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE項,查看ImagePath字符串項是否存在,如果沒有則新建,設(shè)定值為d:oracleora92 binORACLE.EXE MYORACLE。 以上是Oracle客戶端連接服務(wù)器端常見的一些問題,當(dāng)然不能囊括所有的連接異常。解決問題的關(guān)鍵在于方法與思路,而不是每種問題都有固定的答案

平時排錯可能會用到的
 
1.lsnrctl status查看服務(wù)器端listener進(jìn)程的狀態(tài)
 
LSNRCTL>; help
The following operations are available
An asterisk (*) denotes a modifier or extended command:
start stop status
services version reload
save_config trace change_password
quit exit set*
show*
LSNRCTL>; status
:em11:
2.tnsping 查看客戶端sqlnet.ora和tnsname.ora文件的配置正確與
否,及對應(yīng)的服務(wù)器的listener進(jìn)程的狀態(tài)。
 
C:\>tnsping orcl
TNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 -

Production on 16-8月 -
2010 09:36:08
Copyright (c) 1997, 2003, Oracle. All rights reserved.
Used parameter files:
E:\oracle\product\10.1.0\Db_2\network\admin\sqlnet.ora
 
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS =
(PROTOCOL = TCP)
(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVER =
DEDICATED) (SERVICE_
NAME = orcl)))
OK (20 msec)
3.
 
SQL>;show sga 查看instance是否已經(jīng)啟動
 
SQL>; select open_mode from v$database; 查看數(shù)據(jù)庫是打開還是
mount狀態(tài)。
 
OPEN_MODE
----------
READ WRITE

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“oracle有哪些網(wǎng)絡(luò)配置文件”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI