sqlnet.ora的參數說明
oracle網絡設置主要包括三個文件,sqlnet.ora\ lisnter.ora\ tnsnames.ora
可以通過netmgr配置lisnter.ora 和 tnsnames.ora
lisnter.ora 為oracle服務器使用的監(jiān)聽器配置文件,監(jiān)聽器可以通過 lsnrctl 程序進行設置
tnsnames.ora 為客戶端配置文件,為連接服務器的參數信息
sqlnet.ora 為服務端sql*net 網絡配置文件 主要有以下參數
1.names.default_domain = localdomain ;
//可以通過 show parameter domain 查看, 一般將該參數注釋掉;如果設置了該參數
//通過netmgr設置本地服務名時系統(tǒng)會在本地服務名后面自動追加該參數
//sql*plus 訪問時如果該參數存在,則會在服務名追加該參數,然后利用追加后的服務名,在tns中查找
//造成 tnsping 可以 但是使用 sqlplus 不可以的現象
2.names.directory_path = (tnsnames,onames,hostname)
// 服務端的解析路徑 1.tnsname; 2.oname; 3.hostname
3.設置日志參數
#設置客戶端和服務器端的log文件的目錄
LOG_DIRECTORY_CLIENT
LOG_DIRECTORY_SERVER
#設置客戶端和服務器端的log文件的名稱
LOG_FILE_CLIENT
LOG_FILE_SERVER
4.設置默認的domain,會在連接中自動追加domain
NAMES.DEFAULT_DOMAIN
如設置NAMES.DEFAULT_DOMAIN=us.acme.com,
使用conn連接時會自動追 加domain,變成conn ,而直接使用conn連接數據庫則不會追加
5.設置客戶端的命名方法和優(yōu)先級(最常用的參數),
可選值有tnsnames,onames,hostname,ldap等
NAMES.DIRECTORY_PATH
6.設置允許連入數據庫的客戶端版本,可選值10,9,8,7
SQLNET_ALLOWED_LOGON_VERSIONS
7.設置使用何種驗證方式
SQLNET.AUTHENTICATION_SERVICES
可選值
none(使用用戶名/密碼的方式連接數據庫)
all(使用所有方式的驗證,包括OS驗證)
nts(OS驗證方式,連入OS后可以不用密碼連接數據庫)
8.設置客戶端和服務器是否使用加密,可選值
accepted(如果對方設置為requested或required,則使用加密服務)
rejected(不使用加密服務,即使對方設置為requested也不使用)
requested(如果對方使用加密服務,則使用加密服務)
required(使用加密服務,如果對方沒有使用則無法連接)
SQLNET.ENCRYPTION_CLIENT
SQLNET.ENCRYPTION_SERVER
9#設置使用的加密算法
SQLNET.ENCRYPTION_TYPES_CLIENT
SQLNET.ENCRYPTION_TYPES_SERVER
10.設置連入數據庫后必須在多長時間內完成認證(如:輸入用戶名/密碼),
超過此時間沒有完成的話,數據庫會斷開此連接,并將客戶端的IP地址和
ORA-12170: TNS:Connect timeout occurred錯誤信息記錄到sqlnet.log,
而且客戶端會收到ORA-12547: TNS:lost contact或ORA-12637: Packet receive failed錯誤信息。
這個設置主要是為了防止denial-of-service攻擊
SQLNET.INBOUND_CONNECT_TIMEOUT
11.設置在指定的時間間隔內必須有數據接收/發(fā)送,為了防止長時間的等待
SQLNET.RECV_TIMEOUT
SQLNET.SEND_TIMEOUT
12.限制訪問數據庫的客戶端IP:
#允許訪問的IP
TCP.INVITED_NODES=(192.168.133.103)
#不允許訪問的IP
TCP.EXCLUDED_NODES=(192.168.133.102)
#檢測上述參數的設置
TCP.VALIDNODE_CHECKING=yes
當不允許訪問的客戶端連入時,會出現下列錯誤
as sysdba
ERROR: ORA-12537: TNS:connection closed
Warning: You are no longer connected to ORACLE.
13.對tnsping命令進行跟蹤,文件名是tnsping.trc
#trace文件的目錄,默認在$ORACLE_HOME/network/trace下
TNSPING.TRACE_DIRECTORY
#trace的等級:有off,user,admin,support4個可選值,默認是off的(不進行跟蹤)
TNSPING.TRACE_LEVEL
14.設置trace參數
#設置客戶端和服務器端的trace文件的目錄
TRACE_DIRECTORY_CLIENT
TRACE_DIRECTORY_SERVER
#設置客戶端和服務器端的trace文件的名稱
TRACE_FILE_CLIENT
TRACE_FILE_SERVER
#設置客戶端和服務器端的trace文件的最大大小,超過后trace信息會寫入新的文件
TRACE_FILELEN_CLIENT
TRACE_FILELEN_SERVER
#設置客戶端和服務器端的trace文件的最多個數,trace文件是循環(huán)寫的
TRACE_FILENO_CLIENT
TRACE_FILENO_SERVER#trace的等級:有off,user,admin,support4個可選值,默認是off的(不進行跟蹤)
TRACE_LEVEL_CLIENT
TRACE_LEVEL_SERVER
#是否在trace中寫入每條trace信息的dd-mon-yyyy hh:mi:ss:mi時間戳
TRACE_TIMESTAMP_CLIENT
TRACE_TIMESTAMP_SERVER#trace是否只寫入獨立的文件:設為off后,每個新的客戶端會話的 trace信息都會覆蓋已有信息;設為on后,每個新的客戶端會話的trace信息都會寫入單獨的文件
TRACE_UNIQUE_CLIENT
15.強制使用dedicated方式連接數據庫
#當設置為on時,會在連接描述中自動添加(SERVER=dedicated),如果已經設置了
(SERVER=shared)也會被覆蓋,默認為offUSE_DEDICATED_SERVER
