sqlnet.ora

swq618發表於2016-12-02
oracle11g中sqlnet.ora檔案與10g不同是在grid使用者下$GRID_HOME/network/admin/下

在新增白名單時:節點1修改完sqlnet.ora之後
Oracle>srvctl stop listener -n 節點1主機
Oracle>srvctl start listener -n 節點1主機
節點1重啟監聽後節點1的白名單生效,同樣需要在節點2操作

今天遇到個奇葩的問題:
應用由於人員變動需要在11g rac上新增白名單
節點1和節點2都修改了sqlnet.ora 並且都重啟了監聽,按理說這個地址新增完之後那邊就可以連線sqldev了,但是一直反映報錯


最後到現場重新編輯sqlnet.ora
有一個地址之間出現了x.x.x.131,,x.x.x.133出現了兩個“,,”兩個逗號,刪除之後重啟監聽竟然好了,需要後期實驗驗證是不是逗號惹的禍!

轉載
另附sqlnet.ora中的幾個引數:

說到sqlnet.ora檔案,我們平時關注的比較少,可以說是非常少,一般也就配置一下listener.ora和tnsnames.ora這兩個檔案。那麼這個sqlnet.ora是幹嘛的呢?

說白了,sqlnet.ora檔案也就是一個文字配置檔案,裡面有一些配置項,然後程式讀取這裡面的配置項,進行一些配置,控制客戶端訪問資料庫伺服器。我們先看看sqlnet.ora中的內容。

SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

裡面就上面那麼兩行的內容,先簡單說說這兩行分別起什麼作用。

# 指定啟動一個或多個認證服務 SQLNET.AUTHENTICATION_SERVICES= (NTS) # 指定CLIENT NAME解析方法的次序,預設是NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

常見的作用

上面透過註釋簡單說了一下它的兩個作用,而這兩個作用也是最常配置的,下面就說說這兩個配置項的作用。

  1. 指定啟動一個或多個認證服務
    認證服務就是指Oracle的身份驗證服務,你登陸Oracle時,有的時候不需要輸入使用者名稱,有的時候既需要輸入使用者名稱,也需要輸入密碼。那什麼時候什麼都不需要輸入,什麼時候都需要輸入呢?這就和這裡指定的認證服務有關係了。一般有以下三種取值:
    • NONE:作用是不允許透過OS系統使用者登入資料庫,需要提供使用者名稱及密碼;
    • ALL:作用是允許所有的登入方式;
    • NTS:作用是允許本地作業系統使用者認證;

    而關於Oracle的身份認證,這又是一個很大的議題,又夠我寫一篇文章去總結的,我還是點到為止。當然了,我推薦一篇關於Oracle身份認證的文章,大家可以看看:《Oracle 身份驗證方式

  2. 指定CLIENT NAME解析方法的次序
    我們連線資料的時候,會有以下的語法格式的輸入:
    CONNECT username/password [@db_alias] AS [SYSOPER | SYSDBA] ;

    可以看到這個語法中,有一個db_alias,這個東西是什麼呢?這個db_alias就是在tnsnames.ora中定義的資料庫的別名,比如:

    #ORCL是個別名  ORCL =
        (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
            (CONNECT_DATA =
                (SERVER = DEDICATED)
                (SERVICE_NAME = orcl)
            )
        ) 這個db_alias就是上面所說的ORCL,那麼我們連線的時候,怎麼知道這個ORCL是個什麼東西呢?這就和sqlnet.ora中的配置有關係了。

    當第一個指定為TNSNAMES時,就先到tnsnames.ora檔案中去找對應的db_alias;如果找不到,就再按指定的第二種方式去找;如果都找不到,就將指定的db_alias當做主機名在網路上進行解析,得到資料庫伺服器的地址。

    很多朋友對EZCONNECT很不解,這個EZCONNECT表示簡單連線,就是說可以不用在tnsnames.ora檔案去查詢服務名就可以進行資料庫的連線,比如我們可以這樣進行連線:

    username/password@hostname:port/service_name




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

相關文章