主頁 > 知識庫 > 在Oracle實例關(guān)閉時如何修改spfile的參數(shù)詳解

在Oracle實例關(guān)閉時如何修改spfile的參數(shù)詳解

熱門標(biāo)簽:南寧人工智能電銷機器人費用 貴陽電話外呼系統(tǒng)哪家好 圖像地圖標(biāo)注 呼倫貝爾智能手機地圖標(biāo)注 400電話是不是免費申請 濟南地圖標(biāo)注公司 安陽外呼系統(tǒng)免費 海南400電話哪里辦理 分布式呼叫中心

問題描述:

最近在工作遇到一個問題,在Oracle 11G單機ASM中修改sga大小,修改完后,關(guān)閉instance并startup時,提示sga沒有達到最小值,因些無法啟動,而此時數(shù)據(jù)庫實例已經(jīng)關(guān)閉,已不能在之前的那種模式修改參數(shù),下面來一起看看詳細(xì)的介紹。

具體的操作如下:

一、查詢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

解決細(xì)路:

首先我們要理解一下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)默認(rèn)指定原來的路徑,并把原來的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、當(dāng)數(shù)據(jù)庫發(fā)生因為有關(guān)參數(shù)文件異常無法啟動正常時,可以先把原理理解,然后通過創(chuàng)建pfile與spfile文件方式解決啟動問題。
2、要備份有關(guān)數(shù)據(jù)庫參數(shù)文件以防止誤操作導(dǎo)致數(shù)據(jù)庫無法正常啟動

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • 在Oracle關(guān)閉情況下如何修改spfile的參數(shù)

標(biāo)簽:滁州 郴州 涼山 合肥 南充 焦作 遼源 許昌

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Oracle實例關(guān)閉時如何修改spfile的參數(shù)詳解》,本文關(guān)鍵詞  在,Oracle,實例,關(guān)閉,時,如何,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Oracle實例關(guān)閉時如何修改spfile的參數(shù)詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Oracle實例關(guān)閉時如何修改spfile的參數(shù)詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章