SQLNET.ORA 的常見用法

Ryan_Bai發表於2019-11-13

一、IP 黑白名單

  1. 相關引數

    1. TCP.VALIDNODE_CHECKING = YES

      使用這個引數來啟用下邊的兩個引數。

    2. TCP.EXCLUDED_NODES = (list of IP addresses)

      指定不允許訪問oracle的節點,可以使用主機名或者IP地址 

    3. TCP.INVITED_NODES = (list of IP addresses)

      指定允許訪問db的客戶端,他的優先順序比TCP.EXCLUDED_NODES高。

  2. 注意:

    1. excluded_nodes與invited_nodes為互斥方式,不可以同時使用

    2. 如果tcp.invited_nodes與tcp.excluded_nodes都存在,則tcp.invited_nodes優先

    3. 需要將本地地址,或者Cluster群集其他節點的地址都加入到允許列表,否則監聽器可能無法啟動

    4. 配置或修改之後,一定要重起監聽或reload(lsnrctl reload listener)才能生效。

  3. 例子

    tcp.invited_nodes = (192.168.1.192,192.168.1.193,192.168.1.194,192.168.2.*)

二、登入方式限定

  1. SQLNET.AUTHENTICATION_SERVICES= (NTS)
    指定啟動一個或多個認證服務none:no authentication methods, including Microsoft Windows native operating system authentication. When SQLNET.AUTHENTICATION_SERVICES is set to none, a valid user name and password can be used to access the database.

    1. all:所有的認證方式都支援

    2. beq:native operating system authentication for operating systems other than Microsoft Windows

    3. kerberos5:Kerberos authentication

    4. nts:Windows系統認證

    5. radius:Remote Authentication Dial-In User Service (RADIUS) authentication

    6. tcps:SSL authentication

  2. NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
    指定client name解析方法的次序,預設是NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname) tnsnames:客戶端就會首先在tnsnames.ora檔案中找orcl的記錄(此處orcl為@後面的標記,由於不知道該如何具體稱呼,所以此處用orcl代替,此處可能是庫名,可能是tnsnames的名字,根據環境不同,所指的內容也不同)

    1. ldap(dictionary server):Set to resolve a database service name, net service name, or network service alias through a directory server.

    2. hostname/ezconnect:嘗試把orcl當作一個主機名,透過網路的途徑去解析它的ip地址然後去連線這個ip上GLOBAL_DBNAME=orcl這個例項

    3. cds (分散式環境下):Set to resolve service information through an existing Network Information Service (NIS).

    4. nis (Network Information Service (NIS)

三、其它限制

  1. 時間限制

    連線超時時間,即連線300秒沒有活動自動斷開連線。

    sqlnet.expire_time = 300

  2. 版本限制

    可以對客戶端的版本進行限制,8代表必須是8i以上版本的客戶端才允許連進來

    1. 12c以前版本(Version 9.2.0.8 to 11.2.0.4)

      SQLNET_ALLOWED_LOGON_VERSION=8;

    2. 12c(預設只允許11g和12c客戶端連進來)

      SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

      SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

四、Windows下的配置

  1. SQLNET.AUTHENTICATION_SERVICES  必須設定為NTS 或者ALL 才能使用OS 認證;不設定或者設定為其他任何值都不能使用OS  認證。


  2. 該使用者必須屬於OSDBA  組才能以sysdba  身份登入。這裡的OSDBA  組在不同型別的作業系統上,名稱會不一樣。在unix  系統上名稱為“dba ” ,而在windows  系統上名稱則為“ORA_DBA ” 。

  3. 要保證 remote_login_passwordfile 引數 = EXCLUSIVE


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

相關文章