Oracle調整內存參後報ORA-00844和ORA-00851

數據庫服務器內存由16G增長爲64G,爲充分利用內存資源,對Oracle內存參數作了以下調整:sql

SQL>alter system set sga_max_size=40960M scope=spfile;
SQL>alter system set sga_target=40960M scope=spfile;
SQL>alter system set pga_aggregate_target=10240M scope=spfile;

在重啓數據庫時出現以下報錯:數據庫

SQL> shutdown immediate
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 42949672960 cannot be set to more than MEMORY_TARGET 6979321856.

該問題是因爲memory_target小於sga_max_size致使的,一般memory_target值需爲sga+pga內存的和,所以需將memory_target值調大。服務器

先備用的pfile啓動Oracle,從新建立spfile,並重啓數據庫。app

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on 星期日 11月 11 17:22:34 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

已鏈接到空閒例程。

SQL> startup pfile='E:\app\admin\orcl\pfile\init.ora.7312017152243'
ORACLE 例程已經啓動。

Total System Global Area 6847938560 bytes
Fixed Size                  2294256 bytes
Variable Size            3657436688 bytes
Database Buffers         3170893824 bytes
Redo Buffers               17313792 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL> create spfile from pfile='E:\app\admin\orcl\pfile\init.ora.7312017152243';

文件已建立。

SQL> shutdown immediate
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啓動。

以後從新修改內存參數值,並重啓數據庫便可spa

SQL>alter system set memory_target = 52430m scope = spfile;
SQL>alter system set sga_max_size=40960M scope=spfile;
SQL>alter system set sga_target=40960M scope=spfile;
SQL>alter system set pga_aggregate_target=10240M scope=spfile;

SQL> shutdown immediate
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啓動。code

Total System Global Area 4.2758E+10 bytes
Fixed Size 2290648 bytes
Variable Size 3221228584 bytes
Database Buffers 3.9460E+10 bytes
Redo Buffers 74391552 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL>
SQL> show parameter sgablog

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 40G
sga_target big integer 40G
SQL> show parameter pga內存

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 10G資源

OKget

相關文章
相關標籤/搜索