陈老师:1415968548 郑老师:2735197625 乐老师:354331153
客服热线:
19941464235/19906632509(微信同号)

客服微信

云贝教育 |【技术文章】startup 出现ora-03113

作者:云贝学院
发布时间:2022-11-08 17:05
浏览量:477

作者:刘晓峰


1. 启动时出现ORA-03113

2. 可以用之前介绍过过的ADR诊断检查

3. 输入show alert

因为是数据库启动而不是监听问题,所以输入1,查看报错信息



或者去v$diag_info查询name=Diag Alert对应的路径去获取log.xml文件

打开后查找WARNNG关键词

db_recovery_file_dest_size 设置快速恢复区的大小,5G已经满了。它的功能是生成归档重做日志,还原点,闪回等。


解决办法:

1. alter system set DB_RECOVERY_FILE_DEST_SIZE=10G;增加快速恢复区大小

2. 备份快速恢复区,然后RMAN DELETE 删除文件


不过我这个是测试环境,我只想把最快数据库打开

最简单方法是禁用快速恢复区,或者调整保留策略,让其自动删除,或者用RMAN主动删除,或者操作系统层面删除然后RMAN crosscheck

1.Oracle用户下执行

RMAN TARGET 账户/密码

RMAN> startup mount


2然后手动删除过期文件.删除前可以使用report obsolete查看过期文件


RMAN> delete obsolete;


3. 删除归档日志

RMAN> delete archivelog all;


4. 现在可以尝试打开数据库了

SQL> alter database open;


后面尝试操作:

查看我的保留策略,过期数据会保留但是会被标记为过时

RMAN> show retention policy;

RMAN configuration parameters for database with db_unique_name ORCL are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

Redundancy:要保留的副本数

Revovery window:要保留的备份天数

我当前配置结果,副本数是1

修改备份天数

configure retention policy to recovery window of 1 days


如果要禁用保留策略:使得RMAN不会将任何备份视为过时

configure retenton policy to none;





上面只能治标,可能过一段时间又会出现,如果是自己的测试环境一劳永逸的方法

关闭闪回

alter database flashback off;


禁用快速恢复区:

alter system set DB_RECOVERY_FILE_DEST='';


不过我配置alter之后,没怎么关注过告警日志

1)查询历史警报

select * from dba_alert_history;

看到2个月前就已经是80%


2)查询阈值

select * from dba_thresholds;


3)查询当前警报

select * from dba_outstanding_alerts;

Tablespace [APPS_DATA_TABLESPACE] is [90 percent] full

赶紧加表空间大小,不然又打不开数据库了

先获取此表空间对应的数据文件名称

select d.file_name, d.MAXBYTES/1024/1024/1024 from dba_data_files d

where d.TABLESPACE_NAME='APPS_DATA_TABLESPACE';


4)执行修改

alter database datafile

'/usr/local/oracle19c/oradata/ORCL/APPS_DATA_TABLESPACE.dbf'

autoextend on next 8m maxsize 20g;