oracle00312,Oracle教程:ORA-16038 ORA-19809 ORA-00312 错误解决

出现ORA-16038 ORA-19809 ORA-00312 Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了2G大小当归档日志超过2G的时候,空间不足,于是无法归档,当时手工删除归档日志文件,Oracle是无法识别空间是否释放, 导致数据库无法启动 .

解决办法:

1、mount数据库

sql> startup mount (注意,这时候还会报错,但是可以更改系统参数)

2、 更改系统参数

sql> alter system set db_recovery_file_dest_size=2g scope=spfile;

参数db_recovery_file_dest_size的值根据磁盘剩余空间大小和实际需要来设置,没有定论

3、打开数据库

sql> alter database open 不会成功的

4、删除失效归档日志.

RMAN> connect target /

RMAN> crosscheck archivelog all;

RMAN> delete expired archivelog all;

RMAN> exit

5、重新启动数据库

sql> shutdown immediate

sql> startup

-------------另一个版本的解决方法-------------

oracle出现ORA-16038,ORA-19809,ORA-00312问题的解决方法

1:SQL> startup ORACLE 例程已经启动。

数据库装载完毕。

ORA-16038: 日志 3 序列号 46 无法归档

ORA-19809: 超出了恢复文件数的限制

ORA-00312: 联机日志 3 线程 1: 'D:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG'

2:SQL> alter database clear unarchived logfile 'D:ORACLEPRODUCT10.2.0ORADATAO RCLREDO03.LOG';

数据库已更改。

3:SQL> shutdown immediate

ORA-01109: 数据库未打开 已经卸载数据库。

ORACLE 例程已经关闭。

4:SQL> startup

ORACLE 例程已经启动。

数据库装载完毕。

数据库已经打开。

无法归档错误主要是因为数据库不正常关闭,SQL语句出错造成数据线程停止所因起。

-------------另一个版本的解决方法-------------

还有就是设置归档日志的大小,设置为10G的时候,错误可解决,报错的时候系统ALERT日志里也提示有几种参考方法如下工作日志所示:

1:监控邮件监控到ALERT日志中的错误如下:

2:查看ALERT日志详细错误如下

ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.

Tue May 31 14:57:42 2011

************************************************************************

You have following choices to free up space from flash recovery area:

1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,

then consider changing RMAN ARCHIVELOG DELETION POLICY.

2. Back up files to tertiary device such as tape using RMAN

BACKUP RECOVERY AREA command.

3. Add disk space and increase db_recovery_file_dest_size parameter to

reflect the new space.

4. Delete unnecessary files using RMAN DELETE command. If an operating

system command was used to delete files, then use RMAN CROSSCHECK and

DELETE EXPIRED commands.

************************************************************************

Tue May 31 14:57:42 2011

Errors in file /usr/app/db-server/ora_base/admin/gis/bdump/gis_arc1_3602.trc:

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 43570176 bytes disk space from 2147483648 limit

ARC1: Error 19809 Creating archive log file to '/usr/app/db-server/ora_base/flash_recovery_area/GIS/archivelog/2011_05_31/o1_mf_1_44477_0_.arc'

Tue May 31 15:17:20 2011

Thread 1 advanced to log sequence 44479

Current log# 3 seq# 44479 mem# 0: /usr/app/db-server/ora_base/oradata/gis/redo03.log

Tue May 31 15:17:20 2011

Errors in file /usr/app/db-server/ora_base/admin/gis/bdump/gis_arc0_3600.trc:

很明显的错误信息,说明归档空间满了

3:查看归档参数

SQL> show parameter rec

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

buffer_pool_recycle                  string

control_file_record_keep_time        integer     7

db_recovery_file_dest                string      /usr/app/db-server/ora_base/fl

ash_recovery_area

db_recovery_file_dest_size           big integer2G

db_recycle_cache_size                big integer 0

ldap_directory_access                string      NONE

recovery_parallelism                 integer     0

recyclebin                           string      on

use_indirect_data_buffers            boolean     FALSE

4:查看使用率

SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES

------------ ------------------ ------------------------- ---------------

CONTROLFILE                   0                         0               0

ONLINELOG                     0                         0               0

ARCHIVELOG99.9900

BACKUPPIECE                   0                         0               0

IMAGECOPY                     0                         0               0

FLASHBACKLOG                  0                         0               0

5:变更归档大小为10G

SQL> alter system set db_recovery_file_dest_size=10G scope=both;

System altered.

6:再次查看使用率

SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES

------------ ------------------ ------------------------- ---------------

CONTROLFILE                   0                         0               0

ONLINELOG                     0                         0               0

ARCHIVELOG19.930              49

BACKUPPIECE                   0                         0               0

IMAGECOPY                     0                         0               0

FLASHBACKLOG                  0                         0               0

6 rows selected.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值