设为首页 收藏本站
查看: 971|回复: 0

[经验分享] Oracle 归档错误案例

[复制链接]

尚未签到

发表于 2018-9-12 08:16:41 | 显示全部楼层 |阅读模式
  Oracle 归档错误案例
  系统环境:
  操作系统: RedHat EL55
  Oracle :   Oracle 11.2.0.1.0
  
  案例:
  客户数据库服务器的归档日志空间被塞满,未发现;DBA在发现日志切换被hang后,强制关了库,导致实例启动失败。。。。。。
  错误现象:
  在做日志归档时,数据库被hang......
  16:56:02 SYS@ prod>alter system switch logfile;
  告警日志:
  ORACLE Instance prod - Can not allocate log, archival required
  Thread 1 cannot allocate new log, sequence 5
  All online logs needed archiving
  Current log# 1 seq# 4 mem# 0: /dsk1/oradata/prod/redo01a.log
  Current log# 1 seq# 4 mem# 1: /dsk2/oradata/prod/redo01b.log
  用户强制关库,重新启动:
  16:37:38 SYS@ prod>startup
  ORACLE instance started.
  Total System Global Area  835104768 bytes

  Fixed>
  Variable>  Database Buffers           54525952 bytes
  Redo Buffers                2412544 bytes
  Database mounted.
  ORA-03113: end-of-file on communication channel

  Process>
  Session>  Instance 启动失败,告警日志提示:
  
  Errors in file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_11803.trc:

  ORA-19502: write error on file "/dsk4/arch_prod/arch_1_79_827494678.log", block number 4097 (block>  ORA-27072: File I/O error
  Linux-x86_64 Error: 25: Inappropriate ioctl for device
  Additional information: 4
  Additional information: 4097
  Additional information: 765440

  ORA-19502: write error on file "/dsk4/arch_prod/arch_1_79_827494678.log", block number 4097 (block>  Sun May 18 15:32:58 2014

  ARC3 started with pid=23, OS>  Errors in file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_11803.trc:

  ORA-19502: write error on file "/dsk4/arch_prod/arch_1_79_827494678.log", block number 4097 (block>  ORA-27072: File I/O error
  Linux-x86_64 Error: 25: Inappropriate ioctl for device
  Additional information: 4
  Additional information: 4097
  Additional information: 765440

  ORA-19502: write error on file "/dsk4/arch_prod/arch_1_79_827494678.log", block number 4097 (block>  ARCH: I/O error 19502 archiving log 1 to '/dsk4/arch_prod/arch_1_79_827494678.log'
  ARC1: Becoming the heartbeat ARCH
  Errors in file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_11803.trc:
  ORA-16038: log 1 sequence# 79 cannot be archived

  ORA-19502: write error on file "", block number  (block>  ORA-00312: online log 1 thread 1: '/dsk1/oradata/prod/redo01a.log'
  ORA-00312: online log 1 thread 1: '/dsk2/oradata/prod/redo01b.log'
  USER (ospid: 11803): terminating the instance due to error 16038
  Instance terminated by USER, pid = 11803
  
  解决方法:
  [oracle@rh6 prod]$ sqlplus '/as sysdba'

  SQL*Plus:>  Copyright (c) 1982, 2009, Oracle.  All rights reserved.

  Connected to an>  16:39:27 SYS@ prod>startup mount;
  ORACLE instance started.
  Total System Global Area  835104768 bytes

  Fixed>
  Variable>  Database Buffers           54525952 bytes
  Redo Buffers                2412544 bytes
  Database mounted.
  16:39:39 SYS@ prod>select group#,sequence#,status from v$log;
  GROUP#  SEQUENCE# STATUS
  ---------- ---------- ----------------
  1          1 INACTIVE
  3          3 CURRENT
  2          2 INACTIVE
  Elapsed: 00:00:00.06
  Clear 未归档的日志组:
  16:40:25 SYS@ prod>alter database clear logfile group 1;
  alter database clear logfile group 1
  *
  ERROR at line 1:
  ORA-00350: log 1 of instance prod (thread 1) needs to be archived
  ORA-00312: online log 1 thread 1: '/dsk1/oradata/prod/redo01a.log'
  ORA-00312: online log 1 thread 1: '/dsk2/oradata/prod/redo01b.log'
  Elapsed: 00:00:00.02
  16:40:47 SYS@ prod>alter database clear unarchived logfile group 1;

  Database>  Elapsed: 00:00:02.46
  16:41:02 SYS@ prod>alter database open;

  Database>  Elapsed: 00:00:06.89
  再次归档:
  17:26:02 SYS@ prod>alter system switch logfile;
  再次hang。。。。。
  查看日志:
  ORACLE Instance prod - Can not allocate log, archival required
  Thread 1 cannot allocate new log, sequence 5
  All online logs needed archiving
  Current log# 1 seq# 4 mem# 0: /dsk1/oradata/prod/redo01a.log
  Current log# 1 seq# 4 mem# 1: /dsk2/oradata/prod/redo01b.log
  ARC3: Encountered disk I/O error 19502
  ARC3: Closing local archive destination LOG_ARCHIVE_DEST_1: '/dsk4/arch_prod/arch_1_2_847900609.log' (error 19502) (prod)
  Errors in file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_arc3_13316.trc:

  ORA-19502: write error on file "/dsk4/arch_prod/arch_1_2_847900609.log", block number 4097 (block>  ORA-27072: File I/O error
  Linux-x86_64 Error: 25: Inappropriate ioctl for device
  Additional information: 4
  Additional information: 4097
  Additional information: 765440
  查看归档日志存储空间
  16:41:16 SYS@ prod>
  [root@rh6 ~]# df -h
  Filesystem            Size  Used Avail Use% Mounted on
  /dev/sda2              18G  5.0G   12G  30% /
  tmpfs                 878M   72K  878M   1% /dev/shm
  /dev/sda1             2.0G   62M  1.8G   4% /boot
  /dev/sda3              12G  5.7G  5.3G  52% /u01
  ......
  /dev/mapper/datavg-lv_dsk4
  4.0G  3.8G  2.8M 100% /dsk4
  竟然,归档日志存储空间已经被塞满,所以造成归档被hang。。。。。。
  清理存储空间:
  
  调整归档位置
  6:49:44 SYS@ prod>alter system set log_archive_dest_2='location=/dsk4/arch1';

  System>  16:51:15 SYS@ prod>alter system set log_archive_dest_state_1=defer;

  System>  Elapsed: 00:00:00.04
  16:51:25 SYS@ prod>alter system switch logfile;
  重新进行归档,归档成功!
  ALTER SYSTEM SET log_archive_dest_2='location=/dsk4/arch1' SCOPE=BOTH;
  Sun May 18 16:51:25 2014
  Using STANDBY_ARCHIVE_DEST parameter default value as /dsk4/arch1
  ALTER SYSTEM SET log_archive_dest_state_1='DEFER' SCOPE=BOTH;
  Sun May 18 16:53:13 2014

  Archived Log entry 4 added for thread 1 sequence 2>  krse_arc_driver_core: Successful archiving of previously failed ORL
  Sun May 18 16:53:13 2014
  Thread 1 advanced to log sequence 5 (LGWR switch)
  Current log# 2 seq# 5 mem# 0: /dsk1/oradata/prod/redo02a.log
  Current log# 2 seq# 5 mem# 1: /dsk2/oradata/prod/redo02b.log
  Sun May 18 16:53:14 2014

  Archived Log entry 5 added for thread 1 sequence 4>  Sun May 18 16:53:15 2014

  Archived Log entry 6 added for thread 1 sequence 3>  @至此,问题彻底解决,对于归档日志的存储空间在巡检中一定要进行监控,否则空间满后,会给数据库带来很大的麻烦!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-573101-1-1.html 上篇帖子: Oracle数据库管理›oracle内部的jdk版本 下篇帖子: Oracle EXP/IMP参数详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表