show parameter parameter_name;用于查詢相關(guān)參數(shù)設(shè)置。
為新安等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及新安網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、新安網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
alter system set parameter_name=xxxx scope=spfile;該語句執(zhí)行完后需要重啟數(shù)據(jù)庫才生效。(應(yīng)對那些必須重啟數(shù)據(jù)庫的參數(shù)使用)
alter system set parameter_name=xxxx scope=both;該語句執(zhí)行完后立即生效。(應(yīng)對那些可以在線修改的,且需要保存的參數(shù))
alter system set parameter_name=xxxx ;該語句執(zhí)行完后立即生效。(應(yīng)對那些可以在線修改的,且不需要保存的參數(shù),下次重啟后會(huì)被改為原有值。當(dāng)然,也可以自己手工改回去)
oracle網(wǎng)絡(luò)設(shè)置主要包括三個(gè)文件,sqlnet.ora\ lisnter.ora\ tnsnames.ora
1、通過netmgr 可以配置 lisnter.ora 和 tnsnames.ora
2、lisnter.ora 為oracle服務(wù)器使用的監(jiān)聽器配置文件,監(jiān)聽器可以通過 lsnrctl 進(jìn)行管理
3、tnsnames.ora 為客戶端配置文件,為連接服務(wù)器的參數(shù)信息
4、sqlnet.ora 為服務(wù)端sql*net 網(wǎng)絡(luò)配置文件,主要參數(shù)如下:
1.設(shè)置日志參數(shù)
#設(shè)置客戶端和服務(wù)器端的log文件的目錄
LOG_DIRECTORY_CLIENT
LOG_DIRECTORY_SERVER
#設(shè)置客戶端和服務(wù)器端的log文件的名稱
LOG_FILE_CLIENT
LOG_FILE_SERVER
2.設(shè)置默認(rèn)的domain,會(huì)在連接中自動(dòng)追加domain
NAMES.DEFAULT_DOMAIN
如設(shè)置NAMES.DEFAULT_DOMAIN=us.acme.com
使用conn scott/tiger@test連接數(shù)據(jù)庫時(shí)會(huì)自動(dòng)追加domain,變成conn scott/tiger@test.us.acme.com,而直接使用conn scott/tiger@test.us.acme.com連接數(shù)據(jù)庫則不會(huì)追加
//可以通過 show parameter domain 查看, 一般將該參數(shù)注釋掉;如果設(shè)置了該參數(shù)
//通過netmgr設(shè)置本地服務(wù)名時(shí)系統(tǒng)會(huì)在本地服務(wù)名后面自動(dòng)追加該參數(shù)
//sql*plus 訪問時(shí)如果該參數(shù)存在,則會(huì)在服務(wù)名追加該參數(shù),然后利用追加后的服務(wù)名,在tns中查找
//造成 tnsping 可以 但是使用 sqlplus 不可以的現(xiàn)象
3.設(shè)置客戶端的命名方法和優(yōu)先級(jí)(最常用的參數(shù)),可選值有tnsnames,onames,hostname,ldap等
NAMES.DIRECTORY_PATH
例如:names.directory_path = (tnsnames,onames,hostname)
// 服務(wù)端的解析路徑 1.tnsname; 2.oname; 3.hostname
4.設(shè)置允許連入數(shù)據(jù)庫的客戶端版本,可選值10,9,8,7
SQLNET_ALLOWED_LOGON_VERSIONS
5.設(shè)置使用何種驗(yàn)證方式,可選值
none(使用用戶名/密碼的方式連接數(shù)據(jù)庫)
all(使用所有方式的驗(yàn)證,包括OS驗(yàn)證)
nts(OS驗(yàn)證方式,連入OS后可以不用密碼連接數(shù)據(jù)庫)
SQLNET.AUTHENTICATION_SERVICES
6.設(shè)置客戶端和服務(wù)器是否使用加密,可選值
accepted(如果對方設(shè)置為requested或required,則使用加密服務(wù))
rejected(不使用加密服務(wù),即使對方設(shè)置為requested也不使用)
requested(如果對方使用加密服務(wù),則使用加密服務(wù))
required(使用加密服務(wù),如果對方?jīng)]有使用則無法連接)
SQLNET.ENCRYPTION_CLIENT
SQLNET.ENCRYPTION_SERVER
#設(shè)置使用的加密算法
SQLNET.ENCRYPTION_TYPES_CLIENT
SQLNET.ENCRYPTION_TYPES_SERVER
7.設(shè)置連入數(shù)據(jù)庫后必須在多長時(shí)間內(nèi)完成認(rèn)證(如:輸入用戶名/密碼),超過此時(shí)間沒有完成的話,數(shù)據(jù)庫會(huì)斷開此連接,并將客戶端的IP地址和ORA-12170: TNS:Connect timeout occurred錯(cuò)誤信息記錄到sqlnet.log,而且客戶端會(huì)收到ORA-12547: TNS:lost contact或ORA-12637: Packet receive failed錯(cuò)誤信息。這個(gè)設(shè)置主要是為了防止denial-of-service攻擊
SQLNET.INBOUND_CONNECT_TIMEOUT
8.設(shè)置在指定的時(shí)間間隔內(nèi)必須有數(shù)據(jù)接收/發(fā)送,為了防止長時(shí)間的等待
SQLNET.RECV_TIMEOUT
SQLNET.SEND_TIMEOUT
9.限制訪問數(shù)據(jù)庫的客戶端IP:
#允許訪問的IP
TCP.INVITED_NODES=(192.168.1.103)
#不允許訪問的IP
TCP.EXCLUDED_NODES=(192.168.1.102)
#檢測上述參數(shù)的設(shè)置
TCP.VALIDNODE_CHECKING=yes
當(dāng)不允許訪問的客戶端連入時(shí),會(huì)出現(xiàn)下列錯(cuò)誤
sys/oracle@approd.test as sysdba
ERROR:
ORA-12537: TNS:connection closed
Warning: You are no longer connected to ORACLE.
10.對tnsping命令進(jìn)行跟蹤,文件名是tnsping.trc
#trace文件的目錄,默認(rèn)在$ORACLE_HOME/network/trace下
TNSPING.TRACE_DIRECTORY
#trace的等級(jí):有off,user,admin,support4個(gè)可選值,默認(rèn)是off的(不進(jìn)行跟蹤)
TNSPING.TRACE_LEVEL
11.設(shè)置trace參數(shù)
#設(shè)置客戶端和服務(wù)器端的trace文件的目錄
TRACE_DIRECTORY_CLIENT
TRACE_DIRECTORY_SERVER
#設(shè)置客戶端和服務(wù)器端的trace文件的名稱
TRACE_FILE_CLIENT
TRACE_FILE_SERVER
#設(shè)置客戶端和服務(wù)器端的trace文件的最大大小,超過后trace信息會(huì)寫入新的文件
TRACE_FILELEN_CLIENT
TRACE_FILELEN_SERVER
#設(shè)置客戶端和服務(wù)器端的trace文件的最多個(gè)數(shù),trace文件是循環(huán)寫的
TRACE_FILENO_CLIENT
TRACE_FILENO_SERVER#trace的等級(jí):有off,user,admin,support4個(gè)可選值,默認(rèn)是off的(不進(jìn)行跟蹤)
TRACE_LEVEL_CLIENT
TRACE_LEVEL_SERVER
#是否在trace中寫入每條trace信息的dd-mon-yyyy hh:mi:ss:mi時(shí)間戳
TRACE_TIMESTAMP_CLIENT
TRACE_TIMESTAMP_SERVER#trace是否只寫入獨(dú)立的文件:設(shè)為off后,每個(gè)新的客戶端會(huì)話的trace信息都會(huì)覆蓋已有信息;設(shè)為on后,每個(gè)新的客戶端會(huì)話的trace信息都會(huì)寫入單獨(dú)的文件
TRACE_UNIQUE_CLIENT
12.強(qiáng)制使用dedicated方式連接數(shù)據(jù)庫
#當(dāng)設(shè)置為on時(shí),會(huì)在連接描述中自動(dòng)添加(SERVER=dedicated),如果已經(jīng)設(shè)置了(SERVER=shared)也會(huì)被覆蓋,默認(rèn)為off
USE_DEDICATED_SERVER
idleconn sys/oracle@test1 as sysdba
Connected.
sys@TESTselect server from v$session where username='SYS';
SERVER
---------
SHARED
在sqlnet.ora中設(shè)置了USE_DEDICATED_SERVER=on
sys@TESTselect server from v$session where username='SYS';
SERVER
---------
DEDICATED
最近,對Linux大頁的調(diào)整,所以重溫了一些Linux內(nèi)存及SGA等相關(guān)概念、參數(shù)和配置,這里進(jìn)行一下記錄,省的總Google.
limits.conf文件實(shí)際是Linux PAM(插入式認(rèn)證模塊,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,突破系統(tǒng)的默認(rèn)限制,對系統(tǒng)訪問資源有一定保護(hù)作用。 limits.conf 和sysctl.conf區(qū)別在於limits.conf是針對用戶,而sysctl.conf是針對整個(gè)系統(tǒng)參數(shù)配置。
limits.conf是 pam_limits.so的 配置文件,然後/etc/pam.d/下的應(yīng)用程序調(diào)用pam_***.so模塊。譬如說,當(dāng)用戶訪問服務(wù)器,服務(wù)程序?qū)⒄埱蟀l(fā)送到PAM模塊,PAM模塊根據(jù)服務(wù)名稱在/etc/pam.d目 錄下選擇一個(gè)對應(yīng)的服務(wù)文件,然後根據(jù)服務(wù)文件的內(nèi)容選擇具體的PAM模塊進(jìn)行處理。
格式為:
-c 指定修改core文件的大小,1000指定了core文件大小。也可以對core文件的大小不做限制,如: ulimit -c unlimited
對於需要做許多套接字連接并使它們處於打開狀態(tài)的應(yīng)用程序而言,最好通過使用ulimit -n,或者通過設(shè)置nofile參數(shù),為用戶把文件描述符的數(shù)量設(shè)置得比默認(rèn)值高一些
maxlogins - 此用戶允許登錄的最大數(shù)目
注意:要使 limits.conf 文件配置生效,必須要確保 pam_limits.so 文件被加入到啟動(dòng)文件中。查看 /etc/pam.d/login 文件中有:session required /lib/security/pam_limits.so
詳細(xì)說明:
username|@groupname:設(shè)置需要被限制的用戶名,組名前面加@和用戶名區(qū)別。也可以用通配符*來做所有用戶的限制。
type:有 soft,hard 和 -,
soft 指的是當(dāng)前系統(tǒng)生效的設(shè)置值。
hard 表明系統(tǒng)中所能設(shè)定的最大值。
soft 的限制不能比har 限制高。
用 - 就表明同時(shí)設(shè)置了 soft 和 hard 的值。
resource:
示例,若機(jī)器上部署了ORACLE數(shù)據(jù)庫,我們需要對oracle用戶的資源做下調(diào)整,如下:
要使 limits.conf 文件配置生效,必須要確保 pam_limits.so 文件被加入到啟動(dòng)文件中。查看 /etc/pam.d/login 文件中有:
--查看當(dāng)前系統(tǒng)配置文件ulimit的全局配置
ulimit -a
如果未進(jìn)行具體設(shè)置的話,會(huì)使用默認(rèn)配置,如下查看:
批注:當(dāng)使用*號(hào)讓全局用戶生效的時(shí)候,生效的nproc的值大小是受文件/etc/security/limits.d/90-nproc.conf中nproc值大小制約的,而如果僅僅是針對某個(gè)用戶,那麼就不受該文件nproc值大小的影響。
Linux系統(tǒng) /etc/security/limits.conf 配置
參考自
i之前 oracle使用的初始化參數(shù)文件是pfile i開始引用了SPFILE 但保留了pfile
初始化參數(shù)文件在整個(gè)ORACLE系統(tǒng)之中起著關(guān)鍵的作用 啟動(dòng)的過程中 oracle根據(jù)初始化參數(shù)的設(shè)置分配SGA 啟動(dòng)后臺(tái)進(jìn)程 數(shù)據(jù)庫打開后 還是依據(jù)初始化的參數(shù)設(shè)置運(yùn)行數(shù)據(jù)庫
I以后的oracle版本 初始化參數(shù)文件有spfileSID ORA spfile ORA init ORA oracle在啟動(dòng)過程中也是按照這個(gè)順序依次查找初始化參數(shù)文件 若最終沒有找到 則數(shù)據(jù)庫啟動(dòng)失敗 同時(shí)Alert_sid log報(bào)錯(cuò)
i之后的版本 默認(rèn)啟動(dòng)都是使用spfile參數(shù)文件啟動(dòng) 當(dāng)然也可以指定pfile參數(shù)文件啟動(dòng)ORACLE spfile參數(shù)文件的格式為spfileSID ORA 而pfile參數(shù)文件的格式為initSID ORA
startup pfile= /oradata/oracle/admin/TEST/pfile/init ora *****
另外 pfile和spfile兩者可以相互創(chuàng)建 創(chuàng)建默認(rèn)目錄在$ORACLE_HOME/dbs/
CREATE SPFILE FROM PFILE;
CREATE PFILE FROM SPFILE;
通過spfile創(chuàng)建的的初始化參數(shù)格式為 initSID ORA
修改初始化參數(shù)有兩種方式
一 在mond下修改初始化參數(shù)
修改pfile參數(shù) 可編輯的修改init ora
修改spfile參數(shù) 不可編輯參數(shù)文件 只能通過命令或者EM動(dòng)態(tài)修改初始化參數(shù)
命令 Alter system set AAA=N scope=MEMORY|SPFILE|BOTH;
SCOPE參數(shù)有三個(gè)選項(xiàng)
MEMORY 修改只對運(yùn)行的實(shí)例有效
SPFILE 修改SPFILE設(shè)置
BOTH 同時(shí)修改了SPFILE和此實(shí)例
注意 在修改靜態(tài)參數(shù)時(shí)必須得指定SPFILE參數(shù) 否則會(huì)報(bào)錯(cuò) 亦即修改靜態(tài)參數(shù)時(shí)SCOPE參數(shù)不允許為BOTH
二 在EM中修改初始化參數(shù)設(shè)置
以sys用戶登錄EM
在主界面上選擇 管理 標(biāo)簽按鈕
在管理頁面下選擇 數(shù)據(jù)庫配置 下的 所有初始化參數(shù) 按鈕 轉(zhuǎn)入初始化參數(shù)設(shè)置頁面
默認(rèn)修改的的是SCOPE=MEMORY的設(shè)置 當(dāng)把 在當(dāng)前正在運(yùn)行的實(shí)例模式下將更改應(yīng)用與SPFile 復(fù)選框選中時(shí) 相當(dāng)于SCOPE=BOTH的設(shè)置
在值那項(xiàng)文本框輸入新的值之后 點(diǎn)擊右上角的應(yīng)用按鈕 修改生效
修改屬性為SCOPE=SPFILE
lishixinzhi/Article/program/Oracle/201311/16518
修改 /etc/sysctl.conf 文件之后,執(zhí)行命令 # sysctl -p 立刻生效
1、kernel.shmmax
用于定義單個(gè)共享內(nèi)存段的最大值
shmmax 設(shè)置應(yīng)該足夠大,能在一個(gè)共享內(nèi)存段下容納下整個(gè)的SGA ,設(shè)置的過低可能會(huì)
導(dǎo)致需要?jiǎng)?chuàng)建多個(gè)共享內(nèi)存段,這樣可能導(dǎo)致系統(tǒng)性能的下降。
2、kernel.shmall
控制共享內(nèi)存頁數(shù)。Linux 共享內(nèi)存頁大小為4KB, 共享內(nèi)存段的大小都是共享內(nèi)存頁大小的整數(shù)倍。
例如:一個(gè)共享內(nèi)存段的最大大小是16G,那么需要共享內(nèi)存頁數(shù)是 16GB/4KB=16777216KB/4KB=4194304 (頁),也就是64Bit 系統(tǒng)下16GB 物理內(nèi)存,設(shè)置 kernel.shmall = 4194304 才符合要求(幾乎是原來設(shè)置2097152
的兩倍)。這時(shí)可以將shmmax 參數(shù)調(diào)整到 16G 了,同時(shí)可以修改SGA_MAX_SIZE 和SGA_TARGET 為 12G(您想設(shè)置的SGA 最大大小,當(dāng)然也可以是2G~14G 等,還要協(xié)調(diào)PGA參數(shù)及OS等其他內(nèi)存使用,不能設(shè)置太滿,比如16G)。
3、kernel.shmmni
是共享內(nèi)存段的最大數(shù)量(注意這個(gè)參數(shù)不是 shmmin,是shmmni, shmmin 表示內(nèi)存段最小大小 ) 。shmmni 缺省值4096 ,一般肯定是夠用了。