oracle实例宕机重启,Oracle数据库归档日志满后造成系统宕机解决一例

第一次宕机时,初始以为是系统内存溢出,于是重启应用服务器,发现应用服务器在启动时报错,错误为无法连接到Oracle数据库。于是

第一次宕机时,初始以为是系统内存溢出,于是重启应用服务器,发现应用服务器在启动时报错,错误为无法连接到Oracle数据库。于是连接数据库服务器,打开EM后发现系统报错如图:

0e0d8e352f9109e45c8440a48b85b42f.png

提示归档日志写入失败,检查服务器发现磁盘空间满了,于是清理磁盘空间后,重启数据库问题解决。随后把服务器磁盘空间扩容,直接给了oracle数据所在盘1TB的磁盘空间。

第二次又出现此问题,经过仔细检查,并与同事确认后,发现是由于ORACLE数据库的归档日志被启用了,而我们系统默认是没有启用ORACLE数据库归档日志这个功能的。

使用sql命令查看:

Sql>sqlplus / as nolog;---------------------启动sql*Plus

Sql> connect sys/password@orcl as sysdba;

Sql> archive log list;

数据库日志模式 存档模式

自动存档 启用

存档终点 USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列 4888

下一个存档日志序列 4890

当前日志序列 4890

Sql> show parameter db_recovery_file_dest;

NAME TYPE VALUE

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

db_recovery_file_dest string D:\oracle\product\10.2.0/flash_recovery_area

db_recovery_file_dest_size big integer 20G

处理方法:

一、首先要处理日志空间满的情况:

1.指定数据库实例

C:/Documents and Settings/Administrator>SET ORACLE_SID =orcl

2.连接数据库

C:/Documents and Settings/Administrator>RMAN TARGETSYS/password@orcl

3.查看归档日志的状态

RMAN> list archivelog all;

4.手工删除归档日志文件

RMAN> exit

SQL> alter system set db_recovery_file_dest_size=214748364800;---设置使用空间大小(20*1024*1024*1024)

System altered

SQL> show parameter db_recovery_file_dest;---查看归档日志路径限额

NAME TYPE VALUE

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

db_recovery_file_dest string D:\oracle\product\10.2.0/flash_recovery_area

db_recovery_file_dest_size big integer 200G

然后重启数据库后,系统可以正常使用了。

但是,由于启用了归档日志,即便设置成了200G的使用空间,按照每天2G的数据增长量,也就3个月数据就能达到了,需要定制任务定时清理归档日志,而删除归档日志只有在RMAN里才能进行,于是在数据库服务器上新建一个bat文件(文件名随意)

编辑此文件为:

rman target 'sys/password' cmdfile 'd:\cmd.txt'―――此处路径、文件名随意

在命令中对应的路径下新建cmd.txt文件,打开编辑此文件,

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

然后在Windows计划任务里添加任务,指定每天定时执行此bat文件。

经过一周的运行,归档日志每天定时被清理。系统正常。

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

本文永久更新链接地址:

logo.gif, 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值