SQLNET.ORA 的常見用法

Ryan_Bai發表於2019-11-13

一、IP 黑白名單

  1. 相關引數
    • TCP.VALIDNODE_CHECKING = YES
      使用這個引數來啟用下邊的兩個引數。
    • TCP.EXCLUDED_NODES = (list of IP addresses)
      指定不允許訪問oracle的節點,可以使用主機名或者IP地址 
    • 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.
    • all:所有的認證方式都支援
    • beq:native operating system authentication for operating systems other than Microsoft Windows
    • kerberos5:Kerberos authentication
    • nts:Windows系統認證
    • radius:Remote Authentication Dial-In User Service (RADIUS) authentication
    • tcps:SSL authentication
  2. NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME) 
    指定client name解析方法的次序,預設是NAMES.DIRECTORY_PATH=(tnsnames, onames, hostname) tnsnames:客戶端就會首先在tnsnames.ora檔案中找orcl的記錄(此處orcl為@後面的標記,由於不知道該如何具體稱呼,所以此處用orcl代替,此處可能是庫名,可能是tnsnames的名字,根據環境不同,所指的內容也不同)
    • ldap(dictionary server):Set to resolve a database service name, net service name, or network service alias through a directory server.
    • hostname/ezconnect:嘗試把orcl當作一個主機名,通過網路的途徑去解析它的ip地址然後去連線這個ip上GLOBAL_DBNAME=orcl這個例項
    • cds (分散式環境下):Set to resolve service information through an existing Network Information Service (NIS).
    • nis (Network Information Service (NIS)

三、其它限制

  1. 時間限制
    連線超時時間,即連線300秒沒有活動自動斷開連線。
    sqlnet.expire_time = 300
  2. 版本限制
    可以對客戶端的版本進行限制,8代表必須是8i以上版本的客戶端才允許連進來
    • 12c以前版本(Version 9.2.0.8 to 11.2.0.4)
      SQLNET_ALLOWED_LOGON_VERSION=8;
    • 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/24851054/viewspace-2149256/,如需轉載,請註明出處,否則將追究法律責任。

相關文章