记录一次修改sga大小之后出现的一系列报错
修改了甲骨文的sga大小之后,遇到了一系列的报的错。
00844和00851报错
<代码>完成;启动; ora - 00844:不考虑MEMORY_TARGET参数 ora - 00851:不能将超过MEM SGA_MAX_SIZE 2147483648 完成;代码>
01078报的错
<代码>完成;启动; ora - 01078:故障处理系统参数 lrm - 00109:无法打开参数文件'/u01/app/oracle/产品/11.2.4/db_1/dbs/inittest.ora”代码>
一、修改过程
1.1为什么我要修改sga大小
在测试的时候,插入大量数据发现30009错误,我以为是sga小导致的
<代码>完成;插入t从双重连接选择rownum level<=10000000; 插入t从双重连接选择rownum level<=10000000 * 误差在1号线: ora - 30009:没有足够的内存连接的操作 运行:00:00:13.51 完成代码>
查看sga
<代码>完成;显示参数sga; 名称类型值 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lock_sga逻辑错误 pre_page_sga逻辑错误 sga_max_size大整数1584 sga_target大整数1 g 完成;代码>
查看pga
<代码>完成;显示参数pga 名称类型值 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pga_aggregate_target大整数0 完成; 代码>
1.2修改sga
更改sga
<代码>完成;改变系统设置sga_max_size=2048=spfile范围; 系统的改变。 运行:00:00:00.06 完成; 代码>
1.3报错1
关闭和启动数据库
<代码>完成;关闭 数据库关闭。 数据库下马。 ORACLE实例关闭。 完成; 完成;启动 ora - 00844:不考虑MEMORY_TARGET参数 ora - 00851: SGA_MAX_SIZE 2147483648不能被设置为MEMORY_TARGET 1660944384以上。 代码>
结果出错了。经过查找资料,发现<代码> 11 g代码>新增了个参数<代码> MEMORY_TARGET> 代码,其大小等于<代码> PGA + SGA> 代码,当<代码> SGA> 代码的大小大于<代码> MEMORY_TARGET> 代码就会报如上错误。
查看<代码> MEMORY_TARGET 代码>大小,发现大小为1584米,与sga不符。
<代码>完成;显示参数memory_target; 名称类型值 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - memory_target大整数1584 完成; 代码>
修改<代码> spfile 代码>文件中的参数
<代码> sga_max_size=1653604352 代码> >之前启动数据库
<代码>完成;启动nomount; ora - 01078:故障处理系统参数 lrm - 00109:无法打开参数文件'/u01/app/oracle/产品/11.2.4/db_1/dbs/inittest.ora” 完成;代码>1.4报错2
启动后遇到了<代码> 01078 代码>报错。解决办法如下:
将<代码> 代码>测试(实例名)文件夹下的<代码> init.ora。xxx> 代码文件复制到<代码> dbs 代码>目录下即可,复制后的名字按照之前报错的提示输入。<代码> [oracle@localhost ~]美元cp/u01/app/oracle/管理/测试/pfile/init.ora。922018114616/u01/app/oracle/产品/11.2.4/db_1/dbs/inittest.ora 代码>启动数据库
<代码>完成;启动; ORACLE实例开始。 系统全局总面积1653518336字节 固定大小2213896字节 变量大小956303352字节 数据库缓冲区687865856字节 重做缓冲区7135232字节 数据库安装。 数据库打开。 完成;代码>二,总结
归根结底还是对数据库原理不熟导致的,牢记<代码> memory_target> 代码值需为<代码> sga + pga> 代码内存的和。
记一次修改sga大小之后出现的一系列报的错