ORA-00838故障演示和处理

1:ORA-00838故障

故障姿态:ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 4200M----->指定的内存目标值太小,需要至少4200M

故障产生原因之一:导致指定的内存目标值太小,是因为修改小了 MEMORY_TARGET参数----------->可能还有其它原因,但是下面的解决方式应该是一样的

故障产生的结果:导致数据库无法启动                

故障解决方案:

1:先通过spfile创建pfile

2:在pfile文件里面修改MEMORY_TARGET

3:再通过修改过的pfile创建spfile--------->因为spfile不可以直接通过vim修改,pfile可以直接修改

4:通过新的spfile启动数据库

 

1.1:下面来演示一下ORA-00838这个故障                          

1.1.1:先打开数据库

[root@GZjj-ORA-nn ~]# su - oracle

[oracle@GZjj-ORA-nn:/home/oracle]$sqlplus "/as sysdba"

..........

none> startup;

none> conn /as sysdba;

 

下面将MEMORY_TARGET参数改小一点----------------->就给个300M,也可以给小一点

SYS@pghsdb> ALTER SYSTEM SET MEMORY_TARGET=300M SCOPE=SPFILE;

System altered.

 

下面关闭数据库

SYS@pghsdb> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

 

先退出数据库

SYS@pghsdb> exit

 

下面再用sqlplus工具进数据库启动数据库看看有没有报ORA-00838

[oracle@GZjj-ORA-nn:/home/oracle]$sqlplus "/as sysdba"

.......

none> startup;

ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 4200M--->这里报了ORA-00838: 指定的内存目标值太小,需要至少4200M------------->4200M=4404019200字节,这是最低的,可以指定的更高

 

1.2:解决ORA-00838这个故障

1.2.1:先通过spfile来创建pfile------------->创建pfile需要指定路径------------------>不同环境指定的路径不一样,也可以随便指定在那个路径下,但是pfile文件的要遵循命名格式(以.ora结尾)

none> create pfile='/oracle/app/oracle/product/11.2.0/db_1/dbs/pfilepghsdb.ora' from spfile;

File created.

退出数据库

none>exit

 

1.2.2:下面用vim来修改/oracle/app/oracle/product/11.2.0/db_1/dbs/pfilepghsdb.ora这个pfile文件

[oracle@GZjj-ORA-nn:/home/oracle]$vim /oracle/app/oracle/product/11.2.0/db_1/dbs/pfilepghsdb.ora

pghsdb.__db_cache_size=2600468480

pghsdb.__java_pool_size=33554432

pghsdb.__large_pool_size=16777216

pghsdb.__oracle_base='/oracle/app/oracle'#ORACLE_BASE set from environment

pghsdb.__pga_aggregate_target=1056964608

pghsdb.__sga_target=3355443200

pghsdb.__shared_io_pool_size=0

pghsdb.__shared_pool_size=654311424

pghsdb.__streams_pool_size=16777216

*.audit_file_dest='/oracle/app/oracle/admin/pghsdb/adump'

*.audit_trail='NONE'

*.compatible='11.2.0.4.0'

*.control_files='/oradata/pghsdb/control01.ctl','/oradata/pghsdb/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='pghsdb'

*.db_recovery_file_dest_size=108447924224

*.db_recovery_file_dest='/oracle/archive6'

*.diagnostic_dest='/oracle/app/oracle'

*.memory_target=4404019200---------->现在这里memory_target=314572800=300M这就是上面改的大小,现在把这个memory_target参数的大小改为memory_target=4404019200=4200M

.......

:wq

 

1.2.3:下面进到数据库通过/oracle/app/oracle/product/11.2.0/db_1/dbs/pfilepghsdb.ora这个pfile文件来创建spfile文件

[oracle@GZjj-ORA-nn:/home/oracle]$sqlplus "/as sysdba"

none> create spfile from pfile='/oracle/app/oracle/product/11.2.0/db_1/dbs/pfilepghsdb.ora';

File created.

 

1.2.4:下面启动数据库

none> startup;

ORACLE instance started.

Total System Global Area 4392697856 bytes

Fixed Size                  2260368 bytes

Variable Size            1778385520 bytes

Database Buffers         2600468480 bytes

Redo Buffers               11583488 bytes

Database mounted.

Database opened.

posted on 2021-02-03 17:17  gandiao-oracle  阅读(4341)  评论(0)    收藏  举报

导航