sqlplus之 參數(shù)文件
要得到一個(gè)實(shí)例參數(shù)的當(dāng)前值,可以查詢視圖 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ù)庫可以執(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存儲在數(shù)據(jù)庫服務(wù)器上;必須存在于服務(wù)器主機(jī)本身,不能放在客戶機(jī)上。對于參數(shù)設(shè)置來說,只有一個(gè)"信息來源"
2.不能手動維護(hù),利用alter system,完全可以直接將值寫入spfile.管理員不必再手動的查找和維護(hù)所有參數(shù)文件
命名約定????spfile%oracle_sid%.ora
設(shè)置spfile中的參數(shù)值
spfile是二進(jìn)制文件,不能用文本編輯器來編輯,必須使用alter system命令
alter system set parameter=value
默認(rèn)情況下,alter system set 會更新當(dāng)前運(yùn)行的實(shí)例,并且會修改spfile
1. parameter=value? ? 提供了參數(shù)以及參數(shù)的新值
2. comment='text'? ? 與此參數(shù)設(shè)置相關(guān)的可選注釋,這個(gè)注釋會出現(xiàn)在V$parameter視圖的update_comment字段中。
3. deferred? ? 指定系統(tǒng)修改是否只對以后的會話生效(對當(dāng)前建立的會話無效,包括執(zhí)行此修改的會話)。
????????????默認(rèn)情況下,alter system命令會立即生效,但是有些參數(shù)不能“立即”修改,只能為新建立的會話修改這些參數(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)級修改,但是必須以延遲方式修改
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ù)庫重啟后將不再保存。下一次重啟數(shù)據(jù)庫時(shí),設(shè)置還是修改前的樣子
?scope=spfile? ? 只修改spfile中的值。數(shù)據(jù)庫重啟并再次處理spfile之前,這個(gè)修改不會生效。
????有些參數(shù)只能使用這個(gè)選項(xiàng)來修改,例如,processes參數(shù)必須使用?scope=spfile ,因?yàn)槲覀儫o法修改活動實(shí)例的processes值
scope=both? ? 內(nèi)存+spfile 都會完成參數(shù)修改。這個(gè)修改將反應(yīng)在當(dāng)前實(shí)例中,下一次重啟時(shí),這個(gè)修改也會生效。這是使用spfile時(shí)默認(rèn)的作用域值
5.sid='sid|*'? ? 主要用于集群環(huán)境,默認(rèn)值?sid='*'??梢詾榧褐腥魏谓o定的實(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è)置,想把它刪掉,但不能使用文本編輯器來編輯這個(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ù)庫服務(wù)器上生成。可以看到,參數(shù)文件中不再有sort_area_size參數(shù)了。
從spfile創(chuàng)建pfile
create pfile... from spfile
根據(jù)二進(jìn)制spfile創(chuàng)建一個(gè)純文本文件,生成的這個(gè)文件可以在任何文本編輯器中編輯,并且以后可以用來啟動數(shù)據(jù)庫。
1.創(chuàng)建一個(gè)“一次性的”參數(shù)文件,用于啟動數(shù)據(jù)庫來完成維護(hù),其中有一些特殊的設(shè)置。
可以執(zhí)行create?pfile...?from?spfile命令,并編輯得到的文本pfile,修改所需的設(shè)置。
然后啟動數(shù)據(jù)庫,使用pfile=
完成后,可以正常的啟動,數(shù)據(jù)庫又會使用spfile
2.維護(hù)修改歷史,在注釋中記錄修改
修改被破壞的spfile