Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”
Posted catoop
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”相关的知识,希望对你有一定的参考价值。
错误内容
SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.
ORA-01078: 处理系统参数失败
问题原因
sga_max_size
必须比 memory_target
参数小,错误内容中可以看出 SGA_MAX_SIZE
超过了 MEMORY_TARGET
。
解决步骤
1、请注意以下内容命令最前面的
$
或者SQL>
,区分对应的命令是在命令行执行的,还是在连接 sqlplus 后执行的。
2、以下命令中路径中的 /orcl/ 请使用你自己的 SID 值。
1、修改memory_target的值
修改 /u01/app/oracle/admin/orcl/pfile/init.ora.10272020145730
文件中的 memory_target
的值,大于错误中的 SGA_MAX_SIZE
的值(SGA_MAX_SIZE/1024/1024
计算后再增加一些,不要完全等于),如下示例:
memory_target=7680m
#memory_target=1516m
2、使用startup指定pfile启动服务
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 12.2.0.1.0 Production on 星期二 8月 16 18:22:08 2022
Copyright (c) 1982, 2016, Oracle. All rights reserved.
SQL> conn / as sysdba;
已连接到空闲例程。
SQL> startup pfile=/u01/app/oracle/admin/orcl/pfile/init.ora.10272020145730
ORACLE 例程已经启动。
Total System Global Area 1593835520 bytes
Fixed Size 8621184 bytes
Variable Size 1275069312 bytes
Database Buffers 301989888 bytes
Redo Buffers 8155136 bytes
数据库装载完毕。
数据库已经打开。
SQL>
3、生成pfile文件
SQL> create pfile from spfile;
生成的文件位置 /u01/app/oracle/product/12.2.0/dbhome_1/dbs/initorcl.ora
4、编辑initorcl.ora文件
使用 vi 命令编辑 initorcl.ora 文件,修改其中的 *.memory_target=7680m
的值,当然你也可以修改 *.sga_max_size
,注意同步修改 *.sga_target
和 *.sga_max_size
一致,如下是本例示例:
*.memory_target=7680m
*.sga_max_size=5368709120
*.sga_target=5368709120
5、备份spfileorcl.ora文件
[root@localhost /]# cd /u01/app/oracle/product/12.2.0/dbhome_1/dbs
[root@localhost dbs]# mv spfileorcl.ora spfileorcl.ora.bak
6、创建生成新的spfile文件
SQL> create spfile from pfile;
pfile默认读取dbs目录中的initorcl.ora文件,或者如下指定绝对路径的方式
SQL> create spfile from pfile='/u01/app/oracle/product/12.2.0/dbhome_1/dbs/initorcl.ora';
命令执行成功后,会生成一个新的 spfileorcl.ora 文件,虽然这个文件是二进制文件不能直接修改,但是我们还是可以通过
cat spfileorcl.ora
检查文件内容是否修改生效。
pfile(initorcl.ora)和spfile(spfileorcl.ora)都是数据库的重要文件,数据库优先使用spfile。
spfile是二进制文件,无法直接进行修改。
pfile是文本文件,可以进行修改,所以这两种文件可根据对方来进行生成。
7、关闭服务重启服务并启动监听
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 5368709120 bytes
Fixed Size 8632016 bytes
Variable Size 1845496112 bytes
Database Buffers 3506438144 bytes
Redo Buffers 8142848 bytes
数据库装载完毕。
数据库已经打开。
SQL> exit
从 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 断开
[oracle@localhost ~]$ lsnrctl start
(END)
以上是关于Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”的主要内容,如果未能解决你的问题,请参考以下文章
linux下oracle数据库由于参数文件丢失导致的数据库服务启动失败,报“failure in processing system parameters“错误问题解决
oracle创建不了数据库,提示:ORA-01078 处理系统参数失败
在装oracle 11g的时候出现 由于以下错误,Enterprise Manager 配置失败:
Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”
Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”