暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 为何自动重启?

IT小Chen 2021-04-14
2096

Oracle 为何自动重启?

问题现象:

作为甲方DBA,从乙方单位接手了全部的数据库,其中一个Oracle数据库,检查告警日志,发现数据库每天凌晨2点自动重启,由于数据库每次都能重启成功,并且对应的应用也能正常使用,之前的同事并没有发现这个问题。

Tue Jun 12 02:00:28 2018

Shutting down instance (immediate)

Stopping background process SMCO

Shutting down instance: further logons disabled

数据库环境

OS:Windws Server 2012

DB:Oracle 11.2.0.1.0

问题分析:

咨询同事没有设置过数据库自动重启的任务;

检查操作系统也没发现对应的计划任务

自动重启之前,告警日志没有报错;

查看2点生成的所有trace日志,发现每天的trace日志都和OEM有关,部分内容如下:

*** MODULE NAME:(OEM.CacheModeWaitPool)

--------Dumping Sorted Master Trigger List --------

Trigger Owner : SYSMAN

Trigger Name : JOB_SUMM_INS_TRIGGER2

Trigger Owner : SYSMAN

Trigger Name : JOB_SUMM_INS_TRIGGER

……

问题原因:

推测问题原因是:当初的数据库实施人员并不是专业的DBA,在使用DBCA创建数据库时,在第四步,选择了配置Enterprise Manager,这个配置会有一个"启用到恢复区的每日磁盘备份"的选项,默认时间就是每天2,正是因为这个原因导致数据库每天2点自动重启,因为数据库是非归档模式,Oracle每天2点通过RMAN自动停库做冷备;

闪回区可以看到通过OEM自动备份的文件如下,由于闪回区空间满了,导致后续备份都失败了:

SQL> SELECT start_time, end_time, operation, status

  FROM V$RMAN_STATUS

 order by start_time desc;

解决方案:

How to stop Database Autobackup Every Day At 02:00 Am which was configured during Database creation using DBCA ? (文档 ID 1992075.1)

-- Identify the Backup Job name

select JOB_OWNER, JOB_NAME

  from SYSMAN.MGMT_JOB

 where JOB_NAME like '%BACKUP%';

-- Delete the Job from DB Control Jobs repository

begin

  sysman.mgmt_jobs.delete_job('BACKUP_EASORCL_000001', 'SYS');

end;

删除时会报如下错误:

---通过下面的文档可以解决;

How to Force Stop a Stuck Job in Grid Console (文档 ID 430626.1)

begin

  sysman.mgmt_job_engine.stop_all_executions_with_id('F01FFCEEC1DD42EB94B6D12622E25EB4',

                                                     TRUE);

end;

begin

  sysman.mgmt_jobs.delete_job('BACKUP_EASORCL_000001', 'SYS');

end;

select JOB_OWNER, JOB_NAME,JOB_ID

  from SYSMAN.MGMT_JOB

 where JOB_NAME like '%BACKUP%';

文章转载自IT小Chen,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论