记一次修改sga大小之后出现的一系列报错

记录一次修改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目录下即可,复制后的名字按照之前报错的提示输入。

[[email protected] ~]$ 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内存的和。

原文地址:https://blog.51cto.com/xiaowangzai/2384925

时间: 2024-08-28 11:15:28

记一次修改sga大小之后出现的一系列报错的相关文章

将Linux中文语言修改成英文的具体操作方法及报错解决

-bash: warning: setlocale: LC_CTYPE: cannot change locale (EN_US.UTF-8) 把linux系统从中文设置英文字符集后发生以下报错 首先本系统字符集为中文UTF-8 [[email protected] ~]# more /etc/sysconfig/i18n LANG="zh_CN.UTF-8" 修改为英文UTF-8 [[email protected] ~]# vim /etc/sysconfig/i18n LANG=

SpringBoot高版本修改为低版本时测试类报错解决

有时在使用idea通过Spring Initailizr创建项目时,默认只能创建最近的版本的SpringBoot项目. 这是如果想要换成版本,就可以在项目创建好了之后,在pom文件中直接将版本修改过来. 如下所示 比如在创建项目时默认的版本为2.2.2版本: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artif

Homestead 修改 Homestead.yaml 文件后 vagrant up 报错的问题

一般情况是 TAB 和空格的问题. 虽然表面看来,缩进是一致的. 但是 TAB 没能替换为空格,从而导致问题. 解决: $ sudo vim /etc/vim/vimrc.local syntax onset tabstop=4set softtabstop=4set shiftwidth=4set expandtabset autoindent 原文地址:https://www.cnblogs.com/mouseleo/p/10662430.html

mysql8 修改my.ini配置 重启服务 报错

mysql8 修改my.in 配置重启服务之后 报错:本地计算机上的MySQL服务启动后停止.某些服务在未由其他服务或程序使用时将自动停止 解决方案:1.备份mysql数据目录 整个目录备份到其他地方,然后清空该目录 2.找到之前下载的安装文件 例如:mysql-installer-community-8.0.16.0.msi 双击打开 然后重新配置安装 重新安装成功之后 3.把刚才备份的 data目录 全部拷贝 覆盖回来,覆盖之前先停止mysql服务 4.覆盖之后重启mysql服务 原文地址:

ORACLE数据库 memory_target SGA 大小

修改 memory_target 用oracle用户登录,sqlplus "/as sysdba"SQL> show parameters target;     show parameters spfile;     alter system set memory_max_target=4G scope=spfile;     alter system set memory_max_target=4G scope=both;     tmpfs /dev/shm tmpfs d

修改帧大小和socket缓冲区大小(转)

修改帧大小和socket缓冲区大小 MTU (最大传输单元)的缺省值为1500. 通过下面命令将其改为9000(jumbo frame) % ifconfig eth0 mtu 9000 socket buffer size缺省为64 kB. 理论上,最优的buffer大小为<bandwidth>*<round-trip delay> 可以通过下列命令改变其大小(如256KB) % sysctl -w net.core.rmem_max=262144 :最大的接收缓冲区大小(tcp

java关于图片处理修改图片大小

最近做了一个关于图片浏览的内容.因为图片都是一些证件的资料的扫描件所以比较大,对系统的影响也是非常之大的,有很大可能直接把系统干死.那么我是这么处理的,给大家分享一下.如果大家有好的方案的话一定要早点告诉我. 需求简单介绍: 上传文件是压缩包,但是到查看资料的时候压缩包可下载本地看,同时也可以在系统中直接在线浏览. 设计方案 1 营业部用户上传图片文件压缩包文件到综合业务系统tomcat服务器,系统在tomcat服务器将压缩文件解压到系统临时目录. 2 系统分析解压的图片文件(文件名上有分类和序

icheck如何修改样式大小

icheck默认样式比较大,有需求调整checkbox大小. 1. 最简单的方法可用css3来实现,让整个模块层缩放,不兼容低版本浏览器. transform:scale(0.7,0.7) 2. 为了更好的兼容,最好的解决方案: 修改icheck本身默认样式的 width / height 来实现, 虽然宽高改变了,但是背景图片大小依旧,所以多了一步步骤,修改图片大小.完成. .icheckbox_square-blue, .iradio_square-blue { width: 22px;  

初学IOS遇到的问题(三)UIButton修改文字大小问题

问题: 创建UIButton对象,设置对象显示文字“按钮”,然后修改文字大小,很自然点出对象的font属性,却发现该属性在2.0.3.0就已经被废弃,ios不建议使用.应该如何修改UIButton对象的文字大小? 图1-1:点出UIButton对象的font属性提示被废弃 图1-2:UIButton类的font属性被标记为NS_DEPRECATED_IOS 解决办法: 在xcode3.0之后,建议使用UIButton对象的属性titleLabel设置文字大小. 代码如下: UIButton *b