ORA-19809:ORA-19804

Rac环境下,启动数据库时候提示以下错误:

[grid@RAC1 ~]$ srvctl  start database -d racdb

PRCR-1079 : 无法启动资源 ora.racdb.db

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

Linux-x86_64 Error: 2: No such file or directory

进程 ID: 0

会话 ID: 0 序列号: 0

ORA-03113: 通信通道的文件结尾

进程 ID: 6598

会话 ID: 125 序列号: 3

CRS-2674: 未能启动 'ora.racdb.db' ( 'rac1' )

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

Linux-x86_64 Error: 2: No such file or directory

进程 ID: 0

会话 ID: 0 序列号: 0

CRS-2632: 没有更多符合资源 'ora.racdb.db' 的布局策略的服务器来尝试放置该资源

 

 

后考虑通过sqlplus启动数据库,

[oracle@RAC1 ~]$ sqlplus / as sysdba

SQL>startup;

数据库会提示03113错误

ORA-03113: end-of-file on communication channel

 

查看alter日志

[oracle@RAC1 ~]$tail -100  /u01/app/oracle/diag/rdbms/racdb/racdb1/trace/alert_racdb1.log

 

Errors in file /u01/app/oracle/diag/rdbms/racdb/racdb1/trace/racdb1_ora_6118.trc:

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

ORA-19804: 无法回收 42991616 字节磁盘空间 ( 314572800 限制中)

ARCH: Error 19809 Creating archive log file to '+DATA'

Errors in file /u01/app/oracle/diag/rdbms/racdb/racdb1/trace/racdb1_ora_6118.trc:

ORA-16038: 日志 1 sequence# 75 无法归档

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

ORA-00312: 联机日志 1 线程 1: '+DATA/racdb/onlinelog/group_1.383.836176535'

ORA-00312: 联机日志 1 线程 1: '+DATA/racdb/onlinelog/group_1.384.836176537'

USER (ospid: 6118): terminating the instance due to error 16038

Wed Feb 12 22:51:24 2014

System state dump is made for local instance

System State dumped to trace file /u01/app/oracle/diag/rdbms/racdb/racdb1/trace/racdb1_diag_5998.trc

Trace dumping is performing id=[cdmp_20140212225124]

Instance terminated by USER, pid = 6118

 

发现数据库无法启动的原因是因为归档日志文件已经满了,由于数据库无法启动,所以需要nomount的方式启动数据库

SQL>startup nomount;

查看实例状态

SQL> select status from v$instance;

STATUS

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

STARTED

 

然后更改为mount状态

SQL>alter database mount

查看状态

SQL> select status from v$instance;

STATUS

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

MOUNTED

 

看到限制实例启动起来了,那么我们就可以通过rman工具进行将归档日志处理(注意好备份)

[oracle@RAC1 ~]$ rman target /

 

RMAN> crosscheck backup;

 

RMAN> crosscheck archivelog all;

 

RMAN> delete  expired archivelog all;

 

然后将数据库状态改为open

SQL>alter database open

查看状态

SQL> select status from v$instance;

 

STATUS

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

OPEN

这样数据库就完全启动起来了

启动之后,通过:

SQL>alter system set db_recovery_file_dest_size =1000m;

将闪回区大小修改即可

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29485488/viewspace-1081405/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29485488/viewspace-1081405/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值