前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Oracle启动报错ORA-03113解决

Oracle启动报错ORA-03113解决

作者头像
Alfred Zhao
发布于 2019-05-24 12:50:50
发布于 2019-05-24 12:50:50
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

环境:RHEL6.4 + Oracle 11.2.0.4

步骤摘要: 1.启动报错ORA-03113 2.查看alert日志查找原因 3.根据实际情况采取合理的措施,这里我们先增加闪回区大小,把库启动起来 4.制定对应的归档日志删除策略

1.启动报错ORA-03113

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on 星期六 228 13:56:44 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 3206836224 bytes
Fixed Size                  2257520 bytes
Variable Size            2365590928 bytes
Database Buffers          822083584 bytes
Redo Buffers               16904192 bytes
Database mounted.
SQL> alter database open; 
alter database open
*
ERROR at line 1:
ORA-03113: 通信通道的文件结尾
进程 ID: 13501
会话 ID: 853 序列号: 5


SQL> 

2.查看alert日志查找原因

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sat Feb 28 13:56:52 2015
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Initial number of CPU is 8
CELL communication is configured to use 0 interface(s):
CELL IP affinity details:
    NUMA status: non-NUMA system
    cellaffinity.ora status: N/A
CELL communication will use 1 IP group(s):
    Grp 0: 
Picked latch-free SCN scheme 3
Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on. 
IMODE=BR
ILAT =249
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options.
ORACLE_HOME = /opt/app/oracle/product/11.2.0.4/dbhome_1
System name:    Linux
Node name:      JJFAB01
Release:        2.6.32-358.el6.x86_64
Version:        #1 SMP Tue Jan 29 11:47:41 EST 2013
Machine:        x86_64
VM name:        Xen Version: 4.1 (PVM)
Using parameter settings in server-side spfile /opt/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfileJJFAB.ora
System parameters with non-default values:
  processes                = 1500
  sessions                 = 2272
  memory_target            = 3G
  control_files            = "/opt/oradata/gxwj/control01.ctl"
  control_files            = "/opt/app/oracle/fast_recovery_area/gxwj/control02.ctl"
  db_block_size            = 8192
  compatible               = "11.2.0.0.0"
  db_recovery_file_dest    = "/opt/app/oracle/fast_recovery_area"
  db_recovery_file_dest_size= 4122M
  undo_tablespace          = "UNDOTBS1"
  remote_login_passwordfile= "EXCLUSIVE"
  db_domain                = ""
  dispatchers              = "(PROTOCOL=TCP) (SERVICE=gxwjXDB)"
  audit_file_dest          = "/opt/app/oracle/admin/gxwj/adump"
  audit_trail              = "DB"
  db_name                  = "JJFAB"
  open_cursors             = 300
  diagnostic_dest          = "/opt/app/oracle"
Sat Feb 28 13:56:54 2015
PMON started with pid=2, OS id=13461 
Sat Feb 28 13:56:54 2015
PSP0 started with pid=3, OS id=13463 
Sat Feb 28 13:56:55 2015
VKTM started with pid=4, OS id=13465 at elevated priority
VKTM running at (1)millisec precision with DBRM quantum (100)ms
Sat Feb 28 13:56:55 2015
GEN0 started with pid=5, OS id=13469 
Sat Feb 28 13:56:55 2015
DIAG started with pid=6, OS id=13471 
Sat Feb 28 13:56:55 2015
DBRM started with pid=7, OS id=13473 
Sat Feb 28 13:56:55 2015
DIA0 started with pid=8, OS id=13475 
Sat Feb 28 13:56:55 2015
MMAN started with pid=9, OS id=13477 
Sat Feb 28 13:56:55 2015
DBW0 started with pid=10, OS id=13479 
Sat Feb 28 13:56:55 2015
LGWR started with pid=11, OS id=13481 
Sat Feb 28 13:56:55 2015
CKPT started with pid=12, OS id=13483 
Sat Feb 28 13:56:55 2015
SMON started with pid=13, OS id=13485 
Sat Feb 28 13:56:55 2015
RECO started with pid=14, OS id=13487 
Sat Feb 28 13:56:55 2015
MMON started with pid=15, OS id=13489 
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Sat Feb 28 13:56:55 2015
MMNL started with pid=16, OS id=13491 
starting up 1 shared server(s) ...
ORACLE_BASE from environment = /opt/app/oracle
Sat Feb 28 13:56:56 2015
ALTER DATABASE   MOUNT
Successful mount of redo thread 1, with mount id 3498004520
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTER DATABASE   MOUNT
Sat Feb 28 13:57:48 2015
alter database open
Sat Feb 28 13:57:48 2015
LGWR: STARTING ARCH PROCESSES
Sat Feb 28 13:57:48 2015
ARC0 started with pid=20, OS id=13553 
ARC0: Archival started
LGWR: STARTING ARCH PROCESSES COMPLETE
ARC0: STARTING ARCH PROCESSES
Sat Feb 28 13:57:49 2015
ARC1 started with pid=21, OS id=13555 
Sat Feb 28 13:57:49 2015
ARC2 started with pid=22, OS id=13557 
Errors in file /opt/app/oracle/diag/rdbms/jjfab/JJFAB/trace/JJFAB_ora_13501.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字节 (4322230272 字节) 已使用 100.00%, 尚有 0 字节可用。
************************************************************************
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.
************************************************************************
ARCH: Error 19809 Creating archive log file to '/opt/app/oracle/fast_recovery_area/JJFAB/archivelog/2015_02_28/o1_mf_1_130_%u_.arc'
Errors in file /opt/app/oracle/diag/rdbms/jjfab/JJFAB/trace/JJFAB_ora_13501.trc:
ORA-16038: 日志 1 sequence# 130 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1: '/opt/oradata/gxwj/redo01.log'
Sat Feb 28 13:57:49 2015
ARC3 started with pid=23, OS id=13559 
USER (ospid: 13501): terminating the instance due to error 16038
Sat Feb 28 13:57:50 2015
System state dump requested by (instance=1, osid=13501), summary=[abnormal instance termination].
System State dumped to trace file /opt/app/oracle/diag/rdbms/jjfab/JJFAB/trace/JJFAB_diag_13471_20150228135750.trc
Dumping diagnostic data in directory=[cdmp_20150228135750], requested by (instance=1, osid=13501), summary=[abnormal instance termination].
Instance terminated by USER, pid = 13501

发现告警日志中已经明确给出了原因和建议。

3.根据实际情况采取合理的措施,这里我们先增加闪回区大小,把库启动起来。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SQL> startup mount
ORA-24324: 未初始化服务句柄
ORA-01041: 内部错误, hostdef 扩展名不存在
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on 星期六 228 14:05:59 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 3206836224 bytes
Fixed Size                  2257520 bytes
Variable Size            2365590928 bytes
Database Buffers          822083584 bytes
Redo Buffers               16904192 bytes
Database mounted.
SQL> show parameter db_recover

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /opt/app/oracle/fast_recovery_
                                                 area
db_recovery_file_dest_size           big integer 4122M
SQL> !
$ df -h /opt/
文件系统              容量  已用  可用 已用%% 挂载点
/dev/mapper/vg_extend-lv_opt
                      493G  423G   45G  91% /opt
$ exit
exit

SQL> alter system set db_recovery_file_dest_size=10G;

System altered.

SQL> alter database open;

Database altered.

SQL> select status from v$instance;

STATUS
------------
OPEN

SQL> 

4.制定对应的归档日志删除策略

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SQL> set linesize 120
SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE                          0                         0               0
REDO LOG                              0                         0               0
ARCHIVED LOG                      41.54                         0             133
BACKUP PIECE                          0                         0               0
IMAGE COPY                            0                         0               0
FLASHBACK LOG                         0                         0               0
FOREIGN ARCHIVED LOG                  0                         0               0

7 rows selected.
可以rman直接删除不再需要的归档,比如删除1天之前的归档
RMAN> delete noprompt archivelog until time 'sysdate-1';
此处省略删除归档的输出..
RMAN> exit

Recovery Manager complete.

SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE            PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE                          0                         0               0
REDO LOG                              0                         0               0
ARCHIVED LOG                        .35                         0               1
BACKUP PIECE                          0                         0               0
IMAGE COPY                            0                         0               0
FLASHBACK LOG                         0                         0               0
FOREIGN ARCHIVED LOG                  0                         0               0

7 rows selected.

当然还可以设置crontab定时每天删除1天前的归档:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ crontab -l
00 04 * * * /opt/shell/del_arch.sh
$ more /opt/shell/del_arch.sh
#!/bin/bash
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=/opt/app/oracle/product/11.2.0.4/dbhome_1 
export ORACLE_SID=JJFAB
export NLS_LANG="simplified chinese_china.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY -MM-DD HH24:Mi:SS"
export PATH=.:/opt/app/oracle/product/11.2.0.4/dbhome_1:/usr/sbin:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

rman target / log=/opt/backup/del_arch.log <<EOF
list archivelog all;
delete noprompt archivelog until time 'sysdate-1';
show all;
list archivelog all;
EOF
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-02-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ORA-19815,ORA-19809 :limit exceeded for recovery files
    数据库重新启动的时候,收到了ORA-19815的错误。从错误的提示来看,是由于闪回区的空间被填满导致无法成功启动。这种情形我们通常考虑的是清除归档日志,那就直接在OS层面rm了,真的是这样吗?客官,如果你有相同的情形,接下往下看......
Leshami
2018/08/13
6830
ORA-03113的解决
Windows环境下的Oracle 11g在一次关机后,无法正常启动,且无法启动到mount状态,一直提示:
孙杰
2019/10/29
4.9K0
Oracle启动失败startup – 闪回空间满
失败,ORA-03113: end-of-file on communication channel 查看日志: SQL> show parameter db_recovery_file_dest_size;
星哥玩云
2022/08/18
7390
【DB宝31】Oracle DG环境中主库使用rman做不完全恢复后,备库如何修复继续同步
本文介绍一下,在DG环境中,主库使用rman做不完全恢复后,备库如何通过flashback操作,继续和主库保持同步,而不用重新搭建DG。
AiDBA宝典
2020/12/08
9400
使用RMAN复制恢复开发库环境
最近为了不影响开发库的使用,打算复制创建一个备库,定时更新,防止开发库不能使用的情况下,可以临时使用备库,不影响进度。
bisal
2019/01/29
5390
备库归档删除策略失效的问题分析 (r7笔记第6天)
最近碰到了一个有些奇怪的问题,自己当时排查问题时间紧,没有细细琢磨,今天抽空看了下,终于发现了端倪。 首先是在早晨收到了报警邮件,报警邮件内容如下: ZABBIX-监控系统: ------------------------------------ 报警内容: DG_issue ------------------------------------ 报警级别: PROBLEM ------------------------------------ 监控项目: dg_issue:2015-10-29 0
jeanron100
2018/03/16
1K0
数据库ORA-03113排查
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
孙杰
2019/10/29
8560
数据库ORA-03113排查
记一次dg故障的处理总结(r6笔记第63天)
今天早上收到一条报警短信,提示是dg的接收出了问题,从v$dataguard_status得到的最新记录如下: 2015-09-18 07:13:36.0 Fetch Archive LogErrorFAL[server, ARC1]: Error 270 creating remote archivelog file 'stest' 2015-09-18 07:13:36.0 Fetch Archive LogErrorFAL[server, ARC3]: Error 270 creating remot
jeanron100
2018/03/16
6960
Oracle 控制文件(CONTROLFILE)
为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份
Leshami
2018/08/07
6790
ORA-03113
或者去v$diag_info查询name=Diag Alert对应的路径去获取log.xml文件
用户8006012
2022/11/17
5690
Oracle Recovery 01 - 常规恢复之完全恢复
背景:这里提到的常规恢复指的是数据库有完备可用的RMAN物理备份。 实验环境:RHEL6.4 + Oracle 11.2.0.4 DG primary.
Alfred Zhao
2019/05/24
1.4K0
又一例SPFILE设置错误导致数据库无法启动
--========================================
Leshami
2018/08/07
7210
11g主库归档自动删除的小问题分析 (r8笔记第1天)
最近在无疑中查看一个数据库的日志的时候,发现里面有这么一段内容。 Sat Feb 06 10:07:25 2016 Deleted Oracle managed file +ARCH/testdb2/archivelog/2016_01_13/thread_1_seq_4566.261.901038877 Archived Log entry 9262 added for thread 1 sequence 4678 ID 0x26b3e123 dest 1: Sat Feb 06 14:04:52 2
jeanron100
2018/03/19
7410
Oracle Dataguard报错:ARC1: Becoming the ‘no FAL’ ARC
环境:RAC+单机 Dataguard 问题:启动DG备库到mount阶段,启动MRP进程后,发现后台日志不打印归档传输信息,另外备库日志打开ARC1: Becoming the 'no FAL' ARC
星哥玩云
2022/08/13
5260
实验:Oracle直接拷贝物理存储文件迁移
实验目的:Oracle直接拷贝物理文件迁移,生产库有类似施工需求,故在实验环境简单验证一下。
Alfred Zhao
2019/05/24
1.2K0
Oracle 10gR2 Dataguard搭建(非duplicate方式)
我的实验环境: 源生产库(主库): IP地址:192.168.1.30 Oracle 10.2.0.5 单实例
Alfred Zhao
2019/05/24
7310
ORACLE dataguard学习笔记 (91天)
今天在一台机器上模拟了dataguard,主备两个实例从物理上不共享任何归档文件路径。 主要有以下内容: dataguard Physical standby的创建 protection mode的切换 switch over 模拟了两台机器oel1,oel2 主库的归档放在oel1里面,备库的放在oel2里面 --创建的路径如下 ./oel1: orcl_pri_arch orcl_stdby_arch ./oel2: standby_pri_arch standby_stdby_arch --强制
jeanron100
2018/03/14
8810
【DB宝29】使用Docker搭建Oracle 11g的DG环境
如果由于特殊原因导致备库不可用,必须进行重建,那么可以使用如下过程直接进行重建DG
AiDBA宝典
2020/11/25
1.9K0
ORA-03113: end-of-file on communication channel 解决方案
ORA-03113: end-of-file on communication channel
星哥玩云
2022/08/16
3.9K0
Oracle 主库rac + 备库rac 11.2.0.4的DG环境部署
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:
AiDBA宝典
2023/04/27
4K0
Oracle 主库rac + 备库rac 11.2.0.4的DG环境部署
相关推荐
ORA-19815,ORA-19809 :limit exceeded for recovery files
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验