Oracle重啟后-遠程無法訪問

對于現網已運行N久的oracle,突然連接不到了,所有人都說沒有動過什么。
這么妖怪的事情,怎么可能是沒動過什么地方呢?

事情已經被處理了一個小時以上,無果。
流轉到我手里-30分鐘,無果。
BOSS請了個外援一個小時,無果。

歷經三個人的手,最后因猜測-修改配置后搞定,只能說運氣好。
在對方不了解你的環境部署和網絡環境時,請外援不一定能快速地解決問題。因為他需要時間去判斷-我們描述的現象去和具體環境做個對比,好確定問題到底出現在哪里。

網絡部署圖


oracle-網絡圖.jpg

oracle服務器和應用服務器在同一網段-網絡是互通的。
oracle啟動后,本機用sqlplus連接是OK的,但是應用服務器就是訪問不到。

剛開始看日志查到 clsc.log 中有異常,還以為是這個異常導致了遠程訪問不了,在處理這個問題,在錯誤的道路上越走越遠。

clsc.log 
2016-09-04 09:55:32.353: [ default][3527604032]utgdv:2:ocr loc file /etc/oracle/olr.loc cannot be opened. errno 2
[    CLSE][3527604032]clse_get_crs_home: Error retrieving OLR configuration [0] [Error opening olr.loc file. No such file or directory]

之后開始檢查配置sqlnet.ora、listener.ora 、tnsnames.ora和/etc/hosts
一:host 和/etc/hosts中定義的不同-改成一致
二:刪除了listener.ora中部分配置
以后處理了問題-及時總結,不然等兩三個月后-好些細節都忘記啦,總結的意義就大大折扣啦

正確的配置如下:
sqlnet.ora 配置

# sqlnet.ora Network Configuration File: /opt/oracle_11/product/112010/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
ADR_BASE = /opt/oracle_11

listener.ora 配置

# listener.ora Network Configuration File: /opt/oracle_11/product/112010/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = chances123)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = /opt/oracle_11

tnsnames.ora配置

# tnsnames.ora Network Configuration File: /opt/oracle_11/product/112010/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = chances123)(PORT = 1521))
    (CONNECT_DATA =
      (SID=ORCL)
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

/etc/hosts配置

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.220.123 chances123

知道了結果,但還是不知道遠程訪問時-Oracle是如何處理,于是翻看了《OCP/OCA認證考試指南手冊-oracle database 11g》,書中給了一張圖,非常清楚地畫出了oracle net的流程


oracle-net.jpg

從流程圖來看-上次應該是Listener錯啦。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容