场景:

SQL> alter system archive log current;

alter system archive log current

*

第 1 行出现错误:

ORA-16014: 日志 2 sequence# 34 未归档, 没有可用的目的地

ORA-00312: 联机日志 2 线程 1: '+DATA_DG/orcl/onlinelog/group_2.258.885126161'

ORA-00312: 联机日志 2 线程 1: '/orabak/clog/orcl02.log'

环境是个人的实验环境。

排查:

切日志时发现该日志无法归档了。然后进行下面排查

1. 检查日志格式。确定日志格式log_archive_format正确

2. 检查日志归档文件夹正常。包含位置、权限、可用空间。确定无误

3. 查看错误日志

cat /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_18338.trc

ORA-00313: 无法打开日志组 4 (用于线程 2) 的成员

DDE: Problem Key 'ORA 313' was flood controlled (0x1) (no incident)

ORA-00313: 无法打开日志组 4 (用于线程 2) 的成员

ORA-00313: 无法打开日志组 4 (用于线程 2) 的成员

Initial buffer sizes: read 1024K, overflow 832K, change 805K

DDE: Problem Key 'ORA 313' was flood controlled (0x1) (no incident)

ORA-00313: 无法打开日志组 4 (用于线程 2) 的成员

ORA-00313: 无法打开日志组 4 (用于线程 2) 的成员

能够看到内存有一定溢出

分析:

经过排查能够确定是日志本身出现了问题,比較官方的解释例如以下

ORA-01624: log string needed
for crash recovery of instance string (thread string).

Cause: A log cannot be dropped or cleared until the thread's checkpoint has advanced out of the log..

Action: If the database is not open, then open it. Crash recovery will advance the checkpoint. If the database is open force a global
checkpoint. If the log is corrupted so that the database cannot be opened, it may be necessary to do incomplete recovery until cancel at this log.

大概意思是检查点进程在一直在处理该文件,不能被删除或清除其内容,类似于卡死。能够通过recover来恢复。通过错误日志,我们猜測该问题非常有可能是由于内存溢出造成的。

查看内存:

[root@rac1 ~]# free -m

             total       used       free     shared    buffers     cached

Mem:          1878       1736        142          0          6        683

-/+ buffers/cache:       1045        832

Swap:         3999        354       3645

空暇内存不足,而且swap分区发生了交换。确实内存不足。

解决方式:

数据库有rman备份,启动到mount状态进行recover.

SQL>shutdown immediate

SQL>startup mount;

SQL>recover

ORA-00283: 恢复会话因错误而取消

ORA-00264: 不要求恢复

SQL>alter database open;

数据库已更改。

SQL>alter system archive log current;

系统已更改。

回想:

recover的时候报错了。但库启动后能够归档,而且是无损恢复,数据没有不论什么的丢失。那么这个过程发生了什么?

recover会读取日志文件、undo等文件,进行数据库事务的回滚前滚等操作,而在open数据库的时候还会对数据库文件的一致进行处理。

查看alert能够看到下面过程

Thread 2 advanced to log sequence 33 (before internal thread enable)

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_18338.trc:

ORA-00313: 无法打开日志组 4 (用于线程 2) 的成员

Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_18338.trc:

ORA-00313: 无法打开日志组 4 (用于线程 2) 的成员

Archived Log entry 56 added for thread 2 sequence 32 ID 0xb9a2cd8c dest 1:

Thread 2 advanced to log sequence 34 (after internal thread enable)

Wed Jul 22 18:28:47 2015

ARC2 started with pid=35, OS id=18513 

Wed Jul 22 18:28:47 2015

Thread 1 opened at log sequence 39

  Current log# 1 seq# 39 mem# 0: +DATA_DG/orcl/onlinelog/group_1.257.885126161

  Current log# 1 seq# 39 mem# 1: /orabak/clog/orcl01.log

Successful open of redo thread 1

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Wed Jul 22 18:28:47 2015

SMON: enabling cache recovery

Instance recovery: looking for dead threads

Instance recovery: lock domain invalid but no dead threads

ARC1: Archival started

能够看到Oracle进行了缓存的恢复并对死进程进行了处理。

ORA-16014 与 ORA-00312的更多相关文章

  1. 真心崩溃了,oracle安装完成后居然没有tnsnames.ora和listener.ora文件

    problem: oracle  11  r2  64位安装完成后NETWORK/ADMIN目录下居然没有tnsnames.ora和listener.ora文件 solution: 问题是之前安装了另 ...

  2. oracle中的listener.ora和tnsnames.ora

    一.oracle的客户端与服务器端 oracle在安装完成后服务器和客户端都需要进行网络配置才能实现网络连接.    服务器端配置监听器,客户端配置网络服务名. 服务器端可配置一个或多个监听程序 . ...

  3. oracle错误(ORA:12154 ORA:01034 和 ORA:27101 ORA-18008 ORA-01081)

    按照正常操作流程,启动项目,发现项目报错,原因是连接不上oracle数据库, PLSQL连接时报错,错误码  ORA:12154 无法解析指定的连接标识符 第一次,遇到这个错误,在网上找了资料都是需要 ...

  4. 记录一份Oracle 正确的监听配置文件listener.ora与tnsnames.ora

    一.前言 昨天中午接到领导指示,有其他组的负责人B在厄瓜多尔演示他们组的产品,然后我们组的负责人就想说也在那边搭一套环境,(北美那边的亚马逊云环境),让B帮忙演示下我们的系统. 于是,开始了一个比较曲 ...

  5. PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释

    PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...

  6. oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子

    1.解决问题:TNS或者数据库不能登录.      最简单有效方法:使用oracle系统提供的工具 netca 配置(把原来的删除掉重新配置)     $netca  2.然而,仍有疑问:如何指定'l ...

  7. oracle手动修改listener.ora和tnsnames.ora之后竟然无效

    oracle手动修改listener.ora和tnsnames.ora之后竟然无效 花式重启都没有生效,需要使用Net Configuration Assistant来进行刷一下,重新生成的监听还是一 ...

  8. 安装好oracle11gR2之后在相应路径下却没有生成tnsnames.ora和listener.ora

    oracle安装帖子:https://blog.csdn.net/wjb123sw99/article/details/80780277 oracle安装过程中检查失败:需开启C盘共享,或者勾选忽略, ...

  9. oracle三个网络配置文件(listener.ora、tnsname.ora、sqlnet.ora)的作用

    oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下. 1.  sqlne ...

  10. oracle三个连接配置文件 listener.ora、sqlnet.ora、tnsnames.ora

    关于PLSQL连接ORACLE配置字符串 首先要讲一下下面的一些知识 1.ORACLE_SID:(ORACLE SYSTEM IDENTIFIER) Oracle实例是由SGA和一组后台进程组成的,实 ...

随机推荐

  1. 矩阵乘法快速幂 cojs 1717. 数学序列

    矩阵乘法模板: #define N 801 #include<iostream> using namespace std; #include<cstdio> int a[N][ ...

  2. noip2009最优贸易

    试题描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双 ...

  3. VK Cup 2016 - Round 1 (Div. 2 Edition) E. Bear and Contribution 单调队列

    E. Bear and Contribution 题目连接: http://www.codeforces.com/contest/658/problem/E Description Codeforce ...

  4. Python 实现简单的感知机算法

    感知机 随机生成一些点和一条原始直线,然后用感知机算法来生成一条直线进行分类,比较差别 导入包并设定画图尺寸 import numpy as np import matplotlib.pyplot a ...

  5. Linux知识(4)----文件系统结构

    Ubantu 14.04的文件系统结构如下图所示: 参考资料: 1.http://www.cnblogs.com/wen858636827/archive/2012/12/26/2834373.htm ...

  6. Vue学习记录-画页面

    webstorm 因为之前开发ReactNative的时候,选择了webstorm,这回转战Vue,自然还是用它.如果什么也不做的话,打开Vue工程,编辑区域基本上没有语法高亮.怎么办呢? 安装插件( ...

  7. 用C++/CLI搭建C++和C#之间的桥梁(四)—— 网络资源

    关于C++/CLI的基础,我前面已经写过了几篇文章介绍过一些了,不过这些基本上都是管中窥豹,如果要详细了解C++/CLI,MSDN无疑是最好的教程. 使用 C++ 互操作(隐式 PInvoke) Vi ...

  8. bash中的浮点数处理

        Bash中的变量没有数据类型的定义,这样,在处理字符串和数值时会带来麻烦.例如,使用-eq比较数值,==比较字符串等.另外,Bash中常用的let.expr仅支持整数运算,不支持浮点数计算.要 ...

  9. 检查正则表达式的工具:Regex Match Tracer

    Regex Match Tracer破解版下载 使用: 相关: 收藏几个好用的在线正则验证网

  10. Linux_Windows7使用VMare安装Centos6.5并使用Xshell连接Centos

      本文章主要是记录虚拟机安装Centos,并在windows使用xshell执行命令的过程,供自己和需要之人学习和使用.    难点主要在于windows和centos网络的设置,实现window连 ...