Oracle 監聽器日誌配置與管理

lhrbest發表於2016-10-17
--========================
-- 
Oracle 監聽器日誌配置與管理
--========================

    Oracle 監聽器是一個伺服器端程式,用於監聽所有來自客戶端的請求,併為其提供資料庫服務。因此對監聽器的管理與維護相當重要。

本文主要描述對Oracle監聽器日誌檔案的配置與管理。有關監聽器的描述請參考

    配置 ORACLE 客戶端連線到資料庫

    配置非預設埠的動態服務註冊    

一、監聽器日誌特性

1.  監聽器日誌是一個純文字檔案,通常位於$ORACLE_HOME/network/log目錄下,與sqlnet.log日誌檔案處於同一路徑            
2.  其預設的檔名為listener.log。對於非預設的監聽器,則產生的日誌檔案通常為listenername.log                        
3.  該檔案預設由監聽器自動建立,當日志檔案丟失時或不存在時,會自動重新建立一個同名的檔案,與alert_<SID>.log檔案類似 
4.  該檔案的尺寸會不斷自動增長,當尺寸過大時或不便於閱讀時,考慮將其備份                                            
5.  Oracle監聽器在執行時不允許對日誌檔案做刪除,重新命名操作                                                          
6.  可以設定日誌狀態為ON或OFF來實現啟用或關閉日誌     

二、設定日誌檔案目錄及路徑

       1.  設定日誌檔案目錄的兩種方法        

[sql] view plain copy
 print?
  1. lsnrctl SET LOG_DIRECTORY directory  
  2.           
  3. LSNRCTL> SET LOG_DIRECTORY /usr/oracle/admin/log  
       2.   設定日誌檔案的兩種方法      
[sql] view plain copy
 print?
  1. lsnrctl SET LOG_FILE file_name  
  2.          
  3. LSNRCTL> SET LOG_FILE file_name  
       3.   設定日誌的狀態      
[sql] view plain copy
 print?
  1. lsnrctl SET LOG_STATUS {on | off}  
  2.   
  3. LSNRCTL> SET LOG_STATUS {on | off}  
       4.   演示設定
        a.   切換到日誌目錄檢視日誌檔案          
[sql] view plain copy
 print?
  1. [oracle@test ~]$ cd $ORACLE_HOME/network/log      
  2. [oracle@test log]$ ls -hltr  
  3. total 348K  
  4. -rw-r--r--  1 oracle oinstall 305K Apr  6 05:30 listener.log  
  5. -rw-r--r--  1 oracle oinstall  26K Jun 27 01:52 listener_demo92.log  
       b.   檢視當前監聽器的狀態          
[sql] view plain copy
 print?
  1. [oracle@test log]$ lsnrctl status listener_demo92  
  2.              
  3. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 01:54:31  
  4.              
  5. Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.  
  6.              
  7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))  
  8. STATUS of the LISTENER  
  9. ------------------------  
  10. Alias                     listener_demo92  
  11. Version                   TNSLSNR for Linux: Version 9.2.0.8.0 - Production  
  12. Start Date                27-JUN-2011 01:52:18  
  13. Uptime                    0 days 0 hr. 2 min. 13 sec  
  14. Trace Level               off  
  15. Security                  ON  
  16. SNMP                      OFF  
  17. Listener Parameter File   /oracle/92/network/admin/listener.ora  
  18. Listener Log File         /oracle/92/network/log/listener_demo92.log  
  19. Listening Endpoints Summary...  
  20. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))  
  21. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))  
  22. Services Summary...  
  23. Service "demo92" has 1 instance(s).  
  24.              Instance "demo92", status READY, has 1 handler(s) for this service...  
  25.            The command completed successfully          
  26.          

        c.   設定監聽器目錄及日誌檔案

[sql] view plain copy
 print?
  1. LSNRCTL> set current_listener listener_demo92                                    
  2. Current Listener is listener_demo92                                              
  3. LSNRCTL> set password                                                            
  4. Password:                                                                        
  5. The command completed successfully                                               
  6. LSNRCTL> set log_directory /home/oracle/log                                      
  7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))       
  8. listener_demo92 parameter "log_directory" set to /home/oracle/log                
  9. The command completed successfully                                               
  10. LSNRCTL> set log_file listener_test.log                                          
  11. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))       
  12. listener_demo92 parameter "log_file" set to listener_test.log                    
  13. The command completed successfully                                               
  14. LSNRCTL> set log_status on                                                       
  15. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))       
  16. listener_demo92 parameter "log_status" set to ON                                 
  17. The command completed successfully                                               
  18. LSNRCTL> save_config                                                             
  19. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))       
  20. Saved listener_demo92 configuration parameters.                                  
  21. Listener Parameter File   /oracle/92/network/admin/listener.ora                  
  22. Old Parameter File   /oracle/92/network/admin/listener.bak                       
  23. The command completed successfully                                               
  24. LSNRCTL> exit                                                                    
        d.   檢視新路徑下產生的日誌檔案 
[sql] view plain copy
 print?
  1. [oracle@test admin]$ cd /home/oracle/log                                                                
  2. [oracle@test log]$ ls -hltr                                                                             
  3. total 16K                                                                                               
  4. -rw-r--r--  1 oracle oinstall  41 Jun 27 02:11 listener_demo92.log  -->設定目錄之後生成的               
  5. -rw-r--r--  1 oracle oinstall 113 Jun 27 02:12 listener_test.log    -->設定日誌檔名之後的新日誌檔案   
  6.                                                                                                         
  7. [oracle@test log]$ ls -hltr    -->隔段時間檢視,原來的日誌檔案不再增長,使用設定的日誌檔名記錄日誌    
  8. total 16K                                                                                               
  9. -rw-r--r--  1 oracle oinstall   41 Jun 27 02:11 listener_demo92.log                                     
  10. -rw-r--r--  1 oracle oinstall 1.3K Jun 27 02:17 listener_test.log                                       
        e.   檢視listener.ora配置檔案的變化
[sql] view plain copy
 print?
  1. [oracle@test admin]$ more listener.ora               
  2. #----ADDED BY TNSLSNR 27-JUN-2011 02:12:37---        
  3. LOG_DIRECTORY_listener_demo92 = /home/oracle/log     
  4. LOG_FILE_listener_demo92 = listener_test.log         
  5. LOGGING_listener_demo92 = ON                         
  6. #--------------------------------------------        

三、日誌檔案的備份與重新命名

    通常情況下,需要停止監聽器來對日誌檔案進行備份,下面使用不停止監聽的情況下對日誌檔案重新命名以實現備份
        1. Windows平臺的處理           
[sql] view plain copy
 print?
  1. C:\>cd \oracle\ora92\network\log     -->切換到監聽器日誌檔案所在目錄                                           
  2. C:\oracle\ora92\network\log> lsnrctl set log_status off -->暫停或離線記錄日誌檔案                              
  3. C:\oracle\ora92\network\log> rename listener.log listener.old -->重新命名日誌檔案,一般加上日期                  
  4. C:\oracle\ora92\network\log> lsnrctl set log_status on -->聯機監聽器日誌檔案,會自動重新建立一個新的日誌檔案   
        2. Unix/Linux平臺的處理          
[sql] view plain copy
 print?
  1. $ lsnrctl set log_status off                                                                               
  2. $ mv listener.log listener.old -->另一種方法,cp listener.log /log/bak/. 然後 cp /dev/null >listener.log   
  3. $ lsnrctl set log_status on                                                                                    
        3. 演示Linux平臺下重新命名日誌檔案                           
[sql] view plain copy
 print?
  1. [oracle@test ~]$ cd /home/oracle/log                                                      
  2. [oracle@test log]$ lsnrctl set log_status off  -->如果存在密碼,應使用LSNRCTL介面來完成   
  3.                                                                                           
  4. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:09                 
  5.                                                                                           
  6. Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.                       
  7.                                                                                           
  8. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))                                         
  9. LISTENER parameter "log_status" set to OFF                                                
  10. The command completed successfully                                                        
  11. [oracle@test log]$ mv listener_test.log listener_test.old                                 
  12. [oracle@test log]$ lsnrctl set log_status on                                              
  13.                                                                                           
  14. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:31                 
  15.                                                                                           
  16. Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.                       
  17.                                                                                           
  18. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))                                         
  19. LISTENER parameter "log_status" set to ON                                                 
  20. The command completed successfully                                                          

 

...............................................................................................................................

● 本文來自於CSDN轉載文章,若有侵權,請聯絡小麥苗及時刪除,非常感謝原創作者的無私奉獻

● 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新

● QQ群:230161599  微信群:私聊

● 原文地址:http://blog.csdn.net/leshami/article/details/6629043

● 小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● QQ群: 230161599   微信群:私聊

● 聯絡我請加QQ好友(642808185),註明新增緣由

●【版權所有,文章允許轉載,但須以連結方式註明源地址,否則追究法律責任】

...............................................................................................................................

手機長按下圖識別二維碼或微信客戶端掃描下邊的二維碼來關注小麥苗的微信公眾號:xiaomaimiaolhr,免費學習最實用的資料庫技術。




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2126607/,如需轉載,請註明出處,否則將追究法律責任。

相關文章