内容简介:修改了oracle的sga大小之后,遇到了一系列的报错。00844和00851报错01078报错
记录一次修改sga大小之后出现的一系列报错
修改了oracle的sga大小之后,遇到了一系列的报错。
00844和00851报错
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报错
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'
一、修改过程
1.1 为什么我要修改sga大小
在测试的时候,插入大量数据发现30009错误,我以为是sga小导致的
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>
1.2 修改sga
更改sga
SQL> alter system set sga_max_size=2048M scope=spfile; System altered. Elapsed: 00:00:00.06 SQL>
1.3 报错1
关闭和启动数据库
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.
结果出错了。经过查找资料,发现 11g
新增了个参数 MEMORY_TARGET
,其大小等于 PGA+SGA
,当 sga
的大小大于 MEMORY_TARGET
就会报如上错误。
查看 MEMORY_TARGET
大小,发现大小为1584M,与sga不符。
SQL> show parameter memory_target; NAME TYPE VALUE ------------------------------------ --------------------------------- ------------------------------ memory_target big integer 1584M SQL>
修改 spfile
文件中的参数
sga_max_size=1653604352
启动数据库
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>
1.4 报错2
启动后遇到了 01078
报错。解决办法如下:
将 test
(实例名)文件夹下的 init.ora.xxx
文件复制到 dbs
目录下即可,复制后的名字按照之前报错的提示输入。
[oracle@localhost ~]$ cp /u01/app/oracle/admin/test/pfile/init.ora.922018114616 /u01/app/oracle/product/11.2.4/db_1/dbs/inittest.ora
启动数据库
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>
二、总结
归根结底还是对数据库原理不熟导致的,牢记 memory_target
值需为 sga+pga
内存的和。
以上所述就是小编给大家介绍的《记一次修改sga大小之后出现的一系列报错》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 修改树莓派交换分区 SWAP 的大小
- ReactNative字体大小不随系统字体大小变化而变化
- JVM 参数最佳实践:元空间的初始大小和最大大小
- 原 荐 java计算对象占用内存大小:lucene专用于计算堆内存占用大小的工具类
- 获取网络图片的大小
- 获取网络图片的大小
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
疯狂Java讲义
李刚 / 电子工业出版社 / 2008-10 / 99.00元
《疯狂Java讲义》2000年至今,Java语言一直是应用最广的开发语言,并拥有最广泛的开发人群。如今,Java已经不再简单地是一门语言,它更像一个完整的体系,一个系统的开发平台。更甚至,它被延伸成一种开源精神。 《疯狂Java讲义》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编......一起来看看 《疯狂Java讲义》 这本书的介绍吧!