startup; ORA-00844: Parameter not taking..."/>
您好,登錄后才能下訂單哦!
修改了oracle的sga大小之后,遇到了一系列的報(bào)錯(cuò)。
00844和00851報(bào)錯(cuò)
SQL> startup;
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 2147483648 cannot be set to more than MEM
SQL>
01078報(bào)錯(cuò)
SQL> startup;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.4/db_1/dbs/inittest.ora'
在測(cè)試的時(shí)候,插入大量數(shù)據(jù)發(fā)現(xiàn)30009錯(cuò)誤,我以為是sga小導(dǎo)致的
SQL> insert into t select rownum from dual connect by level<=10000000;
insert into t select rownum from dual connect by level<=10000000
*
ERROR at line 1:
ORA-30009: Not enough memory for CONNECT BY operation
Elapsed: 00:00:13.51
SQL>
查看sga
SQL> show parameter sga;
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 1584M
sga_target big integer 1G
SQL>
查看pga
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
pga_aggregate_target big integer 0
SQL>
更改sga
SQL> alter system set sga_max_size=2048M scope=spfile;
System altered.
Elapsed: 00:00:00.06
SQL>
關(guān)閉和啟動(dòng)數(shù)據(jù)庫(kù)
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 2147483648 cannot be set to more than MEMORY_TARGET 1660944384.
結(jié)果出錯(cuò)了。經(jīng)過(guò)查找資料,發(fā)現(xiàn)11g
新增了個(gè)參數(shù)MEMORY_TARGET
,其大小等于PGA+SGA
,當(dāng)sga
的大小大于MEMORY_TARGET
就會(huì)報(bào)如上錯(cuò)誤。
查看MEMORY_TARGET
大小,發(fā)現(xiàn)大小為1584M,與sga不符。
SQL> show parameter memory_target;
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
memory_target big integer 1584M
SQL>
修改spfile
文件中的參數(shù)
sga_max_size=1653604352
啟動(dòng)數(shù)據(jù)庫(kù)
SQL> startup nomount;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.4/db_1/dbs/inittest.ora'
SQL>
啟動(dòng)后遇到了01078
報(bào)錯(cuò)。解決辦法如下:
將test
(實(shí)例名)文件夾下的init.ora.xxx
文件復(fù)制到dbs
目錄下即可,復(fù)制后的名字按照之前報(bào)錯(cuò)的提示輸入。
[oracle@localhost ~]$ cp /u01/app/oracle/admin/test/pfile/init.ora.922018114616 /u01/app/oracle/product/11.2.4/db_1/dbs/inittest.ora
啟動(dòng)數(shù)據(jù)庫(kù)
SQL> startup;
ORACLE instance started.
Total System Global Area 1653518336 bytes
Fixed Size 2213896 bytes
Variable Size 956303352 bytes
Database Buffers 687865856 bytes
Redo Buffers 7135232 bytes
Database mounted.
Database opened.
SQL>
歸根結(jié)底還是對(duì)數(shù)據(jù)庫(kù)原理不熟導(dǎo)致的,牢記memory_target
值需為sga+pga
內(nèi)存的和。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。