在Oracle關(guān)閉情況下如何修改spfile的參數(shù)
發(fā)現(xiàn)問題
我使用的Oracle11g,當(dāng)我敲下如下一段命令后,就讓我傻眼了。。
alter system set sga_max_size=960M scope=spfile; shutdown immediate startup
此時的startup報(bào)錯了,錯誤為:
SQL> startup ORA-00844: Parameter not taking MEMORY_TARGET into account ORA-00851: SGA_MAX_SIZE 985661440 cannot be set to more than MEMORY_TARGET 784334848.
原因分析
原來在Oracle11g中增加了memory_target
參數(shù),sga_max_size
必須比memory_target
參數(shù)小。那么問題來了,此時我已經(jīng)關(guān)閉Oracle了,spfile文件是二進(jìn)制文件,又不能手動修改,那么我該怎么辦呢。。好捉急好捉急。。。
解決思路
通過pfile啟動Oracle–>在Oracle中通過create pfile='' from spfile=''
取出spfile的內(nèi)容(pfile是可以手動修改的)–>修改新建的pfile–>以新的pfile啟動Oracle–>在Oracle中通過create spfile='' from pfile=''
獲得修改后的spfile
實(shí)戰(zhàn)
[oracle@wing ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 15 14:04:46 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> create pfile='/home/oracle/pfile.new' from spfile='/u01/app/oracle/product/11.2.0/db_1/dbs/spfilewingdb.ora'; File created. SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options 通過vi修改pfile.new文件中相應(yīng)的參數(shù)(本文檔中是memory_target參數(shù)),修改后保存 [oracle@wing ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 15 14:04:46 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> startup pfile='/home/oracle/pfile.new' ORACLE instance started. Total System Global Area 810090496 bytes Fixed Size 2257520 bytes Variable Size 415239568 bytes Database Buffers 390070272 bytes Redo Buffers 2523136 bytes Database mounted. Database opened. SQL> create spfile='/u01/app/oracle/product/11.2.0/db_1/dbsspfilewingdb.ora' from pfile='/home/oracle/pfile.new'; File created. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options [oracle@wing ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Mon Feb 15 14:08:40 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> SQL> startup ORACLE instance started. Total System Global Area 810090496 bytes Fixed Size 2257520 bytes Variable Size 415239568 bytes Database Buffers 390070272 bytes Redo Buffers 2523136 bytes Database mounted. Database opened. SQL> show parameter memory NAME TYPE ------------------------------------ -------------------------------- VALUE ------------------------------ hi_shared_memory_address integer 0 memory_max_target big integer 800M memory_target big integer 800M shared_memory_address integer 0 SQL> show parameter sga NAME TYPE ------------------------------------ -------------------------------- VALUE ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 776M sga_target big integer 740M # 至此Oracle使用新的spfile啟動成功,參數(shù)也得到相應(yīng)的修改
總結(jié)
以上就是關(guān)于如何在Oracle關(guān)閉的情況下修改spfile里面參數(shù)的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
Oracle中行轉(zhuǎn)列與行轉(zhuǎn)列的實(shí)現(xiàn)方法
行轉(zhuǎn)列和列轉(zhuǎn)行是數(shù)據(jù)處理中常見的操作,可以將原始數(shù)據(jù)的行和列進(jìn)行轉(zhuǎn)換,以滿足特定的需求,本文給大家詳細(xì)介紹了Oracle中行轉(zhuǎn)列與行轉(zhuǎn)列的實(shí)現(xiàn)方法,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-07-07Linux環(huán)境下Oracle安裝參數(shù)設(shè)置方法詳解
這篇文章主要介紹了Linux環(huán)境下Oracle安裝參數(shù)設(shè)置方法,本文通過代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-06-06解讀Oracle中代替like進(jìn)行模糊查詢的方法instr(更高效)
這篇文章主要介紹了解讀Oracle中代替like進(jìn)行模糊查詢的方法instr(更高效),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11CMD操作oracle數(shù)據(jù)導(dǎo)庫過程圖解
這篇文章主要介紹了CMD操作oracle數(shù)據(jù)導(dǎo)庫過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07