1. 程式人生 > >設定 Oracle 監聽器密碼 LISTENER

設定 Oracle 監聽器密碼 LISTENER

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                --==================================
-- 設定 Oracle 監聽器密碼(LISTENER)
--==================================


    監聽器也有安全?Sure!在預設的情況下,任意使用者不需要使用任何密碼即通過lsnrctl 工具對Oracle Listener進行操作或關閉,從
而造成任意新的會話都將無法建立連線。在Oracle 9i 中Oracle監聽器允許任何一個人利用lsnrctl從遠端發起對監聽器的管理。也容易導致數
據庫受到損壞。

1. 未設定密碼情形下停止監聽       
[[email protected] ~]$ lsnrctl stop listener_demo92   -->停止監聽,可以看出不需要任何密碼即可停止 
                                                                                            LSNRCTL for
Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 08:22:26                                                                                                               Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.                                                                                                                     Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                  The command completed successfully                                                         
2. 重新啟動監聽並設定密碼
[[email protected] ~]$ lsnrctl                                                                                                                                                                                                                            LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 08:24:09                                                 Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.                                                                                                                                                                                 Welcome to LSNRCTL, type "help" for information.                                                                         LSNRCTL> set current_listener listener_demo92  -->設定當前監聽器                                                          Current Listener is listener_demo92                                                                                       LSNRCTL> start             -->啟動過程也不需要任何密碼,啟動的詳細資訊省略                                                 LSNRCTL> change_password   -->使用change_password來設定密碼                                                               Old password:                                                                                                             New password:                                                                                                             Reenter new password:                                                                                                     Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                                                Password changed for listener_demo92                                                                                      The command completed successfully                                                                                        LSNRCTL> save_config        -->注意此處的save_config失敗                                                                  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                                                TNS-01169: The listener has not recognized the password                                                                   LSNRCTL> set password       -->輸入新設定的密碼驗證                                                                       Password:                                                                                                                 The command completed successfully                                                                                        LSNRCTL> save_config       -->再次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                                                                                                                                                                                                                  -->增加密碼之後可以看到listener.ora檔案中有一條新增的記錄,即密碼選項(注:儘管使用了密碼管理方式,仍然可以無需密碼啟動監聽)[[email protected] admin]$ more listener.ora                                                                                     #----ADDED BY TNSLSNR 26-JUN-2011 05:12:48---                                                                            PASSWORDS_listener_demo92 =                                                                                              #--------------------------------------------                                                                           
3. 嘗試未使用密碼的情況下停止監聽 
[[email protected] ~]$ lsnrctl stop listener_demo92                                               LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 06:09:51                   Copyright (c) 1991, 2006, Oracle Corporation.  All rights reserved.                                                                                                                     Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                  TNS-01169: The listener has not recognized the password    -->收到錯誤資訊,需要使用密碼認證
4. 使用密碼來停止監聽  
[[email protected] ~]$ lsnrctl                                                       LSNRCTL> set current_listener listener_demo92                                  Current Listener is listener_demo92                                            LSNRCTL> stop                                                                  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))     TNS-01169: The listener has not recognized the password                        LSNRCTL> set password                                                          Password:                                                                      The command completed successfully                                             LSNRCTL> stop                                                                  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))     The command completed successfully                                             LSNRCTL> status                                                                Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))     TNS-12541: TNS:no listener                                                      TNS-12560: TNS:protocol adapter error                                           TNS-00511: No listener                                                          Linux Error: 111: Connection refused                                        Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))              TNS-12541: TNS:no listener                                                      TNS-12560: TNS:protocol adapter error                                           TNS-00511: No listener                                                          Linux Error: 2: No such file or directory                                  
5. save_config失敗的問題   
-->在 Oracle 9i中,使用save_config命令將會失敗                                                                          LSNRCTL> save_config                                                                                                  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>)))                                    TNS-01169: The listener has not recognized the password                                                                                                                                                                                     -->應該先使用set password之後再save_config,則儲存配置成功。                                                            LSNRCTL> set password                                                                                                 Password: <the password you chose>                                                                                    The command completed successfully                                                                                                                                                                                                         /*在Oracle 10g 中不會出現類似的問題,因為在10g中可以使用基於作業系統驗證方式。listener將檢測到如果使用者屬於dba組的成員,將會被授予改變密碼,儲存配置以及停止監聽等許可權。 */                                                                    
6.  配置listener.ora中ADMIN_RESTRICTIONS引數
    引數作用:
        當在listener.ora檔案中設定了ADMIN_RESTRICTIONS引數後,在監聽器執行時,不允許執行任何管理命令,同時set命令將不可用
        ,不論是在伺服器本地還是從遠端執行都不行。此時對於監聽的設定僅僅通過手工修改listener.ora檔案,要使修改生效,只能
        使用lsnrctl reload命令或lsnrctl stop/start命令重新載入一次監聽器配置資訊。
    修改方法:
        在listener.ora檔案中手動加入下面這樣一行

            ADMIN_RESTRICTIONS_<監聽器名> = ON


7. 更多參考

有關效能優化請參考

    Oracle硬解析與軟解析

    共享池的調整與優化(Sharedpool Tuning)

    Buffercache 的調整與優化(一)

    Oracle表快取(cachingtable)的使用

 

有關ORACLE體系結構請參考

    Oracle表空間與資料檔案

    Oracle密碼檔案

    Oracle引數檔案

    Oracle聯機重做日誌檔案(ONLINE LOG FILE)

    Oracle控制檔案(CONTROLFILE)

    Oracle歸檔日誌

    Oracle回滾(ROLLBACK)和撤銷(UNDO)

    Oracle資料庫例項啟動關閉過程

    Oracle10g SGA 的自動化管理

    Oracle例項和Oracle資料庫(Oracle體系結構)

 

有關閃回特性請參考

    Oracle閃回特性(FLASHBACK DATABASE)

    Oracle閃回特性(FLASHBACK DROP & RECYCLEBIN)

    Oracle閃回特性(Flashback Query、FlashbackTable)

    Oracle閃回特性(Flashback Version、Flashback Transaction)

 

有關基於使用者管理的備份和備份恢復的概念請參考

    Oracle冷備份

    Oracle熱備份

    Oracle備份恢復概念

    Oracle例項恢復

    Oracle基於使用者管理恢復的處理(詳細描述了介質恢復及其處理)

    SYSTEM表空間管理及備份恢復

    SYSAUX表空間管理及恢復

 

有關RMAN的備份恢復與管理請參考

    RMAN 概述及其體系結構

    RMAN 配置、監控與管理

    RMAN 備份詳解

    RMAN 還原與恢復

    RMANcatalog 的建立和使用

    基於catalog 建立RMAN儲存指令碼

基於catalog 的RMAN 備份與恢復

使用RMAN遷移檔案系統資料庫到ASM

    RMAN 備份路徑困惑(使用plus archivelog時)

 

有關ORACLE故障請參考

    ORA-32004的錯誤處理

    ORA-01658錯誤

    CRS-0215錯誤處理

    ORA-00119,ORA-00132 錯誤處理

    又一例SPFILE設定錯誤導致資料庫無法啟動

    對引數FAST_START_MTTR_TARGET= 0 的誤解及設定

    SPFILE錯誤導致資料庫無法啟動(ORA-01565)

 

有關ASM請參考

    建立ASM例項及ASM資料庫

    ASM 磁碟、目錄的管理

    使用 ASMCMD 工具管理ASM目錄及檔案

 

有關SQL/PLSQL請參考

    SQLPlus常用命令

    替代變數與SQL*Plus環境設定

    使用Uniread實現SQLplus翻頁功能

    SQL 基礎-->SELECT 查詢

    SQL 基礎--> NEW_VALUE的使用

    SQL 基礎--> 集合運算(UNION與UNION ALL)

    SQL 基礎--> 常用函式

    SQL 基礎--> 檢視(CREATEVIEW)

    SQL 基礎--> 建立和管理表

    SQL 基礎--> 多表查詢

    SQL 基礎--> 過濾和排序

    SQL 基礎--> 子查詢

    SQL 基礎--> 分組與分組函式

    SQL 基礎--> 層次化查詢(STARTBY ... CONNECT BY PRIOR)

    SQL 基礎--> ROLLUP與CUBE運算子實現資料彙總

    PL/SQL--> 遊標

    PL/SQL--> 異常處理(Exception)

    PL/SQL--> 語言基礎

    PL/SQL--> 流程控制

    PL/SQL--> PL/SQL記錄

    PL/SQL--> 包的建立與管理

    PL/SQL--> 隱式遊標(SQL%FOUND)

    PL/SQL--> 包過載、初始化

    PL/SQL--> DBMS_DDL包的使用

    PL/SQL--> DML 觸發器

    PL/SQL--> INSTEAD OF 觸發器

    PL/SQL--> 儲存過程

    PL/SQL--> 函式

    PL/SQL--> 動態SQL

    PL/SQL--> 動態SQL的常見錯誤

 

有關ORACLE其它特性

    Oracle常用目錄結構(10g)

    使用OEM,SQL*Plus,iSQL*Plus 管理Oracle例項

    日誌記錄模式(LOGGING、FORCE LOGGING 、NOLOGGING)

    表段、索引段上的LOGGING與NOLOGGING

    OralceOMF 功能詳解

    Oracle使用者、物件許可權、系統許可權  

    Oracle角色、配置檔案

    Oracle分割槽表

    Oracle外部表

    使用外部表管理Oracle 告警日誌(ALAERT_$SID.LOG)

    簇表及簇表管理(Index clustered tables)

    資料泵 EXPDP 匯出工具的使用

    資料泵 IMPDP 匯入工具的使用

    匯入匯出 Oracle 分割槽表資料

    SQL*Loader使用方法

    啟用使用者程序跟蹤

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

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

    systemsys,sysoper sysdba 的區別

    ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME

    Oracle補丁全集 (Oracle 9i 10g 11g Path)

    Oracle10.2.0.1 升級到10.2.0.4

    Oracle徹底 kill session

    




           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述