Oracle数据库归档已满,无法启动数据库

Oracle数据库归档已满,无法启动处理办法

前几天处理无法不能正常使用的问题,oracle数据库,无法连接,Sqldevelop登录报错,归档已满,无法归档。
登录sqlpus,用命令:show parameter db_recover
发现设置归档是10个G,目标文件夹没发现归档文件。
调整归档文件为50G
alter system set db_recovery_file_dest_size=50G scope=both;
windows服务中,重启启动oracle orcl服务......
然后cmd  sqlplus sys as sysdba
startup
发现,可以装载数据库,但无法启动。
用Sqldevelop去连接,
执行请求的操作时遇到错误:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
01034. 00000 -  "ORACLE not available"
*Cause:    Oracle was not started up. Possible causes include the following
           - The SGA requires more space than was allocated for it.
           - The operating-system variable pointing to the instance is
           improperly defined.
*Action:   Refer to accompanying messages for possible causes and correct
           the problem mentioned in the other messages.
           If Oracle has been initialized, then on some operating systems,
           verify that Oracle was linked correctly. See the platform
           specific Oracle documentation.
供应商代码 1034
======数据库没有启动情况下,用sqldevlelop去连接,报的上面的错误,是个严重的误导=======

查看d:\app\administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log日志文件,发现启动不了的原因,是启动过程中,无法归档

************************************************************************
You have following choices to free up space from 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.
************************************************************************
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_10812.trc:
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 31032320 字节磁盘空间 (从 53687091200 限制中)
ARCH: Error 19809 Creating archive log file to 'D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2021_04_25\O1_MF_1_1_%U_.ARC'
Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_10812.trc:
ORA-16038: 日志 1 sequence# 1 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG'
USER (ospid: 10812): terminating the instance due to error 16038
Instance terminated by USER, pid = 10812

到D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG中,发现该文件夹已经199 GB了。
要解决无法归档,就需要修改归档大小,或删除归档(不能直接手动删除)
任何对归档大小的修改,都需要数据库启动!
用RMAN归档工具去删除,也需要数据库启动!
但数据库无法启动是因为:无法归档!
鸡生蛋,蛋生鸡!

解决办法:
1、新建空文件夹  D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG2
2、打开cmd
3、Sqlplus sys as sysdba
4、startup mount;
5、alter database archivelog;
6、SQL> alter system set log_archive_dest_1='location=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG2';
7、alter database open;
8、启动jboss......OK!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值