這篇文章給大家分享的是有關(guān)在Oracle實例關(guān)閉時怎樣修改spfile的參數(shù)的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),克州企業(yè)網(wǎng)站建設(shè),克州品牌網(wǎng)站建設(shè),網(wǎng)站定制,克州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,克州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
具體的操作如下:
一、查詢sga大小
SQL> show parameter sga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 1G sga_target big integer 1G
二、修改sga大小為500M
SQL> alter system set sga_target=500M scope=spfile; System altered.
三、因為是指定參數(shù)為spfile,因此要重啟instance才能使參數(shù)生效
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down.
四、重啟instance 時,提示sga最小值應(yīng)該為668M
SQL> startup ORA-01078: failure in processing system parameters ORA-00821: Specified value of sga_target 500M is too small, needs to be at least 668M
解決細路:
首先我們要理解一下oracle數(shù)據(jù)庫在啟動過程中調(diào)用 的參數(shù),其順序為:
spfilesid.ora -> spfile.ora ->initsid.ora-> init.ora 從這條啟動線來說,如果第一個spfilesid.ora文件找不到的話,它會找到二個spfile.ora文件,如果能找到就能正常啟動,若找不到,再繼續(xù)找下一個initsid.ora文件,一直找到最后一個init.ora文件,說明:如果找到其中一個則會正常啟動instance
解決方法:
通過創(chuàng)建pfile文件方式來啟動數(shù)據(jù)庫,然后再以pfile文件為模板創(chuàng)建spfile,具體步驟是:
1、以spfile模板創(chuàng)建pfile文件,并指定路徑為本地硬盤位置
create pfile='/oracle/initudevasm.ora' from spfile='+DGDATA02/udevasm/spfileudevasm.ora';
2、修改initudevasm.ora文件,找到sga_target字段,修改大于 668M
vi /oracle/initudevasm.ora udevasm.__db_cache_size=826277888 udevasm.__java_pool_size=4194304 udevasm.__large_pool_size=8388608 udevasm.__oracle_base='/oracle/app/oracle'#ORACLE_BASE set from environment udevasm.__pga_aggregate_target=629145600 udevasm.__sga_target=1073741824 udevasm.__shared_io_pool_size=0 udevasm.__shared_pool_size=222298112 udevasm.__streams_pool_size=0 *.audit_file_dest='/oracle/app/oracle/admin/udevasm/adump' *.audit_trail='db' *.compatible='11.2.0.4.0' *.control_files='+DGDATA02/udevasm/controlfile/current.256.945212019' *.db_block_size=8192 *.db_create_file_dest='+DGDATA02' *.db_domain='' *.db_name='udevasm' *.db_recovery_file_dest_size=3221225472 *.diagnostic_dest='/oracle/app/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=udevasmXDB)' udevasm.log_archive_dest_1='LOCATION=+DGRECOVERY/' *.nls_language='AMERICAN' *.nls_territory='AMERICA' *.open_cursors=300 *.pga_aggregate_target=629145600 *.processes=1000 *.remote_login_passwordfile='EXCLUSIVE' *.sessions=170 *.sga_target= 754288000 --大于668M *.undo_tablespace='UNDOTBS1'
3、以pfile文件啟動instance
SQL> startup pfile= '/oracle/initudevasm.ora' ORACLE instance started. Total System Global Area 751595520 bytes Fixed Size 2257032 bytes Variable Size 603983736 bytes Database Buffers 142606336 bytes Redo Buffers 2748416 bytes Database mounted. Database opened.
4、以pfile文件為模板創(chuàng)建spfile文件
SQL> create spfile= '+DGDATA02/udevasm/spfileudevasm.ora' from pfile= '/oracle/initudevasm.ora' ; File created.
5、關(guān)閉實例,并重新啟動spfile,因為在在創(chuàng)建spfile時已經(jīng)默認指定原來的路徑,并把原來的spfile文件覆蓋了,所以只要直接啟動即可
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 751595520 bytes Fixed Size 2257032 bytes Variable Size 603983736 bytes Database Buffers 142606336 bytes Redo Buffers 2748416 bytes Database mounted. Database opened.
6、查詢修改后的sga大小
SQL> show parameter sga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 720M sga_target big integer 720M
通過上面查詢則判斷已經(jīng)修改恢復(fù)成功
總結(jié):
1、當數(shù)據(jù)庫發(fā)生因為有關(guān)參數(shù)文件異常無法啟動正常時,可以先把原理理解,然后通過創(chuàng)建pfile與spfile文件方式解決啟動問題。
2、要備份有關(guān)數(shù)據(jù)庫參數(shù)文件以防止誤操作導致數(shù)據(jù)庫無法正常啟動
感謝各位的閱讀!關(guān)于“在Oracle實例關(guān)閉時怎樣修改spfile的參數(shù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!