sqlplus之 參數(shù)文件
要得到一個(gè)實(shí)例參數(shù)的當(dāng)前值,可以查詢(xún)視圖 V$parameter,也可以使用show parameter
sys@ORCL>select?value?from?v$parameter?where?name='pga_aggregate_target'; VALUE -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------- 0 sys@ORCL>show?parameter?pga_agg; NAME?????????????????????????????????TYPE????????VALUE ------------------------------------?-----------?------------------------------ pga_aggregate_target?????????????????big?integer?0
?DISTRIBUTED_TRANSACTIONS,可以設(shè)置為某個(gè)正整數(shù),它能控制數(shù)據(jù)庫(kù)可以執(zhí)行的并發(fā)分布式事務(wù)的個(gè)數(shù),但9.0.1以后,這個(gè)參數(shù)被去掉了:
sys@ORCL>alter?system?set?distributed_transactions=10; alter?system?set?distributed_transactions=10 * 第?1?行出現(xiàn)錯(cuò)誤: ORA-25138:?DISTRIBUTED_TRANSACTIONS初始化參數(shù)已廢棄
-----------------------------------------------------------------------------------------
服務(wù)器參數(shù)文件 SPFILE
1.SPFILE存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器上;必須存在于服務(wù)器主機(jī)本身,不能放在客戶(hù)機(jī)上。對(duì)于參數(shù)設(shè)置來(lái)說(shuō),只有一個(gè)"信息來(lái)源"
2.不能手動(dòng)維護(hù),利用alter system,完全可以直接將值寫(xiě)入spfile.管理員不必再手動(dòng)的查找和維護(hù)所有參數(shù)文件
命名約定????spfile%oracle_sid%.ora
設(shè)置spfile中的參數(shù)值
spfile是二進(jìn)制文件,不能用文本編輯器來(lái)編輯,必須使用alter system命令
alter system set parameter=value
默認(rèn)情況下,alter system set 會(huì)更新當(dāng)前運(yùn)行的實(shí)例,并且會(huì)修改spfile
1. parameter=value? ? 提供了參數(shù)以及參數(shù)的新值
2. comment='text'? ? 與此參數(shù)設(shè)置相關(guān)的可選注釋?zhuān)@個(gè)注釋會(huì)出現(xiàn)在V$parameter視圖的update_comment字段中。
3. deferred? ? 指定系統(tǒng)修改是否只對(duì)以后的會(huì)話生效(對(duì)當(dāng)前建立的會(huì)話無(wú)效,包括執(zhí)行此修改的會(huì)話)。
????????????默認(rèn)情況下,alter system命令會(huì)立即生效,但是有些參數(shù)不能“立即”修改,只能為新建立的會(huì)話修改這些參數(shù)。
sys@ORCL>select?name?from?v$parameter?where?issys_modifiable='DEFERRED'; NAME -------------------------------------------------------------------------------- backup_tape_io_slaves recyclebin audit_file_dest object_cache_optimal_size object_cache_max_size_percent sort_area_size sort_area_retained_size olap_page_pool_size 已選擇8行。
如上顯示,sort_area_size可以在系統(tǒng)級(jí)修改,但是必須以延遲方式修改
sys@ORCL>alter?system?set?sort_area_size=65536; alter?system?set?sort_area_size=65536 ????????????????????????????????????* 第?1?行出現(xiàn)錯(cuò)誤: ORA-02096:?此選項(xiàng)的指定初始化參數(shù)不可修改 sys@ORCL>alter?system?set?sort_area_size=65536?deferred; 系統(tǒng)已更改。
4. scope=memory|spfile|both 指示這個(gè)參數(shù)設(shè)置的“作用域”
scope=memory? ? 只在實(shí)例中修改;數(shù)據(jù)庫(kù)重啟后將不再保存。下一次重啟數(shù)據(jù)庫(kù)時(shí),設(shè)置還是修改前的樣子
?scope=spfile? ? 只修改spfile中的值。數(shù)據(jù)庫(kù)重啟并再次處理spfile之前,這個(gè)修改不會(huì)生效。
????有些參數(shù)只能使用這個(gè)選項(xiàng)來(lái)修改,例如,processes參數(shù)必須使用?scope=spfile ,因?yàn)槲覀儫o(wú)法修改活動(dòng)實(shí)例的processes值
scope=both? ? 內(nèi)存+spfile 都會(huì)完成參數(shù)修改。這個(gè)修改將反應(yīng)在當(dāng)前實(shí)例中,下一次重啟時(shí),這個(gè)修改也會(huì)生效。這是使用spfile時(shí)默認(rèn)的作用域值
5.sid='sid|*'? ? 主要用于集群環(huán)境,默認(rèn)值?sid='*'。可以為集群中任何給定的實(shí)例唯一地指定參數(shù)設(shè)置。
????????????? ? 除非使用oracle RAC,否則一般不需要指定sid=設(shè)置
用法如下:
sys@ORCL>alter?system?set?pga_aggregate_target=1024m; 系統(tǒng)已更改。 sys@ORCL>alter?system?set?pga_aggregate_target=1024m?comment='changed?21-March-2018?of?Anna'; 系統(tǒng)已更改。 sys@ORCL>select?value,update_comment?from?v$parameter?where?name='pga_aggregate_target'; VALUE -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------- UPDATE_COMMENT -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------- 1073741824 changed?21-March-2018?of?Anna
取消spfile中的值設(shè)置
不希望spfile有這個(gè)參數(shù)設(shè)置,想把它刪掉,但不能使用文本編輯器來(lái)編輯這個(gè)文件,同樣的使用alter system命令完成:
alter system reset parameter
scope和sid 設(shè)置的含義與前面的一樣,但是SID=部分是必選的:
sys@ORCL>alter?system?reset?sort_area_size?scope=spfile?sid='*'; 系統(tǒng)已更改。 sys@ORCL>create?pfile='D:appAdministratorproduct11.2.0dbhome_1databasepf le.tst'?from?spfile; 文件已創(chuàng)建。
然后查看D:appAdministratorproduct11.2.0dbhome_1databasepfile.tst的內(nèi)容,這個(gè)文件將在數(shù)據(jù)庫(kù)服務(wù)器上生成??梢钥吹?,參數(shù)文件中不再有sort_area_size參數(shù)了。
從spfile創(chuàng)建pfile
create pfile... from spfile
根據(jù)二進(jìn)制spfile創(chuàng)建一個(gè)純文本文件,生成的這個(gè)文件可以在任何文本編輯器中編輯,并且以后可以用來(lái)啟動(dòng)數(shù)據(jù)庫(kù)。
1.創(chuàng)建一個(gè)“一次性的”參數(shù)文件,用于啟動(dòng)數(shù)據(jù)庫(kù)來(lái)完成維護(hù),其中有一些特殊的設(shè)置。
可以執(zhí)行create?pfile...?from?spfile命令,并編輯得到的文本pfile,修改所需的設(shè)置。
然后啟動(dòng)數(shù)據(jù)庫(kù),使用pfile=
完成后,可以正常的啟動(dòng),數(shù)據(jù)庫(kù)又會(huì)使用spfile
2.維護(hù)修改歷史,在注釋中記錄修改
修改被破壞的spfile