Oracle listener log配置與管理
十一假期間,某客戶因為監聽日誌問題導致系統登入掛起,當時在返京的路上,因客戶業務不允許中斷,無奈之下,借了個本子幫客戶做了緊急處理,今天恰好有空,在網上搜了下有關監聽日誌的內容,發現一個不錯的帖子,內容比較全,且比較準確,記錄一下,以便同學和自己今後研究學習。該貼轉自:https://blog.csdn.net/leshami/article/details/6629043。
--========================
-- Oracle listener log配置與管理
--========================
Oracle 監聽器是一個伺服器端程式,用於監聽所有來自客戶端的請求,併為其提供資料庫服務。因此對監聽器的管理與維護相當重要。
本文主要描述對Oracle listener log的配置與管理。有關監聽器的描述請參考
配置 ORACLE 客戶端連線到資料庫
配置非預設埠的動態服務註冊
一、 listener log特性
1. listener log是一個純文字檔案,通常位於$ORACLE_HOME/network/log目錄下,與sqlnet.log日誌檔案處於同一路徑
2. 其預設的檔名為listener.log。對於非預設的監聽器,則產生的日誌檔案通常為listenername.log
3. 該檔案預設由監聽器自動建立,當日志檔案丟失時或不存在時,會自動重新建立一個同名的檔案,與alert_<SID>.log檔案類似
4. 該檔案的尺寸會不斷自動增長,當尺寸過大時或不便於閱讀時,考慮將其備份
5. Oracle監聽器在執行時不允許對日誌檔案做刪除,重新命名操作
6. 可以設定日誌狀態為ON或OFF來實現啟用或關閉日誌
二、設定日誌檔案目錄及路徑
1. 設定日誌檔案目錄的兩種方法
lsnrctl SET LOG_DIRECTORY directory
LSNRCTL> SET LOG_DIRECTORY /usr/oracle/admin/log
2. 設定日誌檔案的兩種方法
lsnrctl SET LOG_FILE file_name
LSNRCTL> SET LOG_FILE file_name
3. 設定日誌的狀態
lsnrctl ET LOG_STATUS {on | off}
LSNRCTL> SET LOG_STATUS {on | off}
4. 演示設定
a. 切換到日誌目錄檢視日誌檔案
[oracle@test ~]$ cd $ORACLE_HOME/network/log
[oracle@test log]$ ls -hltr
total 348K
-rw-r--r-- 1 oracle oinstall 305K Apr 6 05:30 listener.log
-rw-r--r-- 1 oracle oinstall 26K Jun 27 01:52 listener_demo92.log
b. 檢視當前監聽器的狀態
[oracle@test log]$ lsnrctl status listener_demo92
LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 01:54:31
Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias listener_demo92
Version TNSLSNR for Linux: Version 9.2.0.8.0 - Production
Start Date 27-JUN-2011 01:52:18
Uptime 0 days 0 hr. 2 min. 13 sec
Trace Level off
Security ON
SNMP OFF
Listener Parameter File /oracle/92/network/admin/listener.ora
Listener Log File /oracle/92/network/log/listener_demo92.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary...
Service "demo92" has 1 instance(s).
Instance "demo92", status READY, has 1 handler(s) for this service...
The command completed successfully
c. 設定監聽器目錄及日誌檔案
LSNRCTL> set current_listener listener_demo92
Current Listener is listener_demo92
LSNRCTL> set password
Password:
The command completed successfully
LSNRCTL> set log_directory /home/oracle/log
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
listener_demo92 parameter "log_directory" set to /home/oracle/log
The command completed successfully
LSNRCTL> set log_file listener_test.log
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
listener_demo92 parameter "log_file" set to listener_test.log
The command completed successfully
LSNRCTL> set log_status on
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
listener_demo92 parameter "log_status" set to ON
The command completed successfully
LSNRCTL> save_config
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
Saved listener_demo92 configuration parameters.
Listener Parameter File /oracle/92/network/admin/listener.ora
Old Parameter File /oracle/92/network/admin/listener.bak
The command completed successfully
LSNRCTL> exit
d. 檢視新路徑下產生的日誌檔案
[oracle@test admin]$ cd /home/oracle/log
[oracle@test log]$ ls -hltr
total 16K
-rw-r--r-- 1 oracle oinstall 41 Jun 27 02:11 listener_demo92.log -->設定目錄之後生成的
-rw-r--r-- 1 oracle oinstall 113 Jun 27 02:12 listener_test.log -->設定日誌檔名之後的新日誌檔案
[oracle@test log]$ ls -hltr -->隔段時間檢視,原來的日誌檔案不再增長,使用設定的日誌檔名記錄日誌
total 16K
-rw-r--r-- 1 oracle oinstall 41 Jun 27 02:11 listener_demo92.log
-rw-r--r-- 1 oracle oinstall 1.3K Jun 27 02:17 listener_test.log
e. 檢視listener.ora配置檔案的變化
[oracle@test admin]$ more listener.ora
#----ADDED BY TNSLSNR 27-JUN-2011 02:12:37---
LOG_DIRECTORY_listener_demo92 = /home/oracle/log
LOG_FILE_listener_demo92 = listener_test.log
LOGGING_listener_demo92 = ON
#--------------------------------------------
三、日誌檔案的備份與重新命名
通常情況下,需要停止監聽器來對日誌檔案進行備份,下面使用不停止監聽的情況下對日誌檔案重新命名以實現備份
1. Windows平臺的處理
C:\>cd \oracle\ora92\network\log -->切換到 listener log所在目錄
C:\oracle\ora92\network\log> lsnrctl set log_status off -->暫停或離線記錄日誌檔案
C:\oracle\ora92\network\log> rename listener.log listener.old -->重新命名日誌檔案,一般加上日期
C:\oracle\ora92\network\log> lsnrctl set log_status on -->聯機 listener log,會自動重新建立一個新的日誌檔案
2. Unix/Linux平臺的處理
$ lsnrctl set log_status off
$ mv listener.log listener.old -->另一種方法,cp listener.log /log/bak/. 然後 cp /dev/null >listener.log
$ lsnrctl set log_status on
3. 演示Linux平臺下重新命名日誌檔案
[oracle@test ~]$ cd /home/oracle/log
[oracle@test log]$ lsnrctl set log_status off -->如果存在密碼,應使用LSNRCTL介面來完成
LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:09
Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
LISTENER parameter "log_status" set to OFF
The command completed successfully
[oracle@test log]$ mv listener_test.log listener_test.old
[oracle@test log]$ lsnrctl set log_status on
LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:31
Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
LISTENER parameter "log_status" set to ON
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2674164/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用logrotate命令管理listener.log檔案logrotate
- Oracle listener log 日誌分析方法Oracle
- 管理監聽器日誌listener.log
- [Oracle] Oracle11g listener.log清除步驟Oracle
- oracle 11gr2 SCAN LISTENER配置Oracle
- Oracle清理trace、alert、aud、listener.log檔案Oracle
- rac scan listener log 清理監聽日誌 oracleOracle
- listener_scan1.log、listener.log監聽日誌清理
- [Oracle] Oracle 11g 關閉listener產生xml log方法OracleXML
- Oracle ListenerOracle
- Windows環境配置Oracle 11gR2 ListenerWindowsOracle
- local_listener ,remote_listener 的配置REM
- 2 Day DBA-使用基於SQL的管理工具管理資料庫-Oracle Net Listener配置SQL資料庫Oracle
- [Oracle] 統計listener.log中IP的幾種方法Oracle
- 關於RAC中的監聽log檔案listener.log 及listener_rac01.log
- Oracle 監聽器日誌配置與管理Oracle
- 在一臺機器配置兩個listener(Oracle)(轉)Oracle
- oracle一個listener偵聽多個例項的配置Oracle
- service_update within listener.log
- Oracle OCP(58):ARCHIVELOG 管理OracleHive
- oracle一個例項配置多個listener或多個埠Oracle
- Oracle Listener 動態註冊 與 靜態註冊Oracle
- oracle_sid與netmgr listener的sidOracle
- Oracle Listener 動態註冊與靜態註冊Oracle
- local_listener與remote_listener詳述REM
- Mysql管理與配置MySql
- listener.log太大的處理方法
- Oracle DG管理Broker配置Oracle
- oracle SGA配置和管理Oracle
- oracle listener工具知識Oracle
- 為oracle listener set passwordOracle
- oracle檔案管理之 redo logOracle
- Oracle管理監控之sql developer配置與簡單使用OracleSQLDeveloper
- oracle一個別例項配置多個listener或多個埠Oracle
- oracle網路配置listener.ora、sqlnet.ora、tnsnames.oraOracleSQL
- oracle網路配置(listener.ora/sqlnet.ora/tnsnames.ora)OracleSQL
- oracle實驗記錄 (listener.ora與 tnsnames.ora)Oracle
- SElinux配置與管理Linux