今天用系统清理工具把系统垃圾清理了一番,结果在打开oracle 数据库时出现了错误:

ORA-00313: 无法打开日志组 1 (线程 1)

的成员

ORA-00312: 联机日志 1 线程 1:

'D:\ORACLE\ORADATA\GOCOM\REDO01.LOG'

SQL> connect /

as sysdba;

已连接。

SQL> shutdown immediate;

ORA-01109: 数据库未打开

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup;

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

ORA-00313: 无法打开日志组 1 (线程 1) 的成员

ORA-00312: 联机日志 1 线程 1: D:\ORACLE\ORADATA\ORCL\REDO01.LOG'

查看D:\ORACLE\ORADATA\myoracle\REDO01.LOG还在,但是REDO02.LOG,REDO03.LOG被误删了.

赶紧换个例程OEMREP试试,结果还是一样的错误!

蒙了,难道要重装数据库不成?有什么办法可以解决这个问题呢?

解决办法:

SQL> shutdown immediate;

ORA-01109: 数据库未打开

已经卸载数据库。

SQL> startup mount;

ORACLE 例程已经启动。

SQL>select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE#

FIRST_TIME

---------- ---------- ---------- ---------- ---------- ---

---------------- ------------- ----------

1 1 0 104857600 1 NO UNCURRENT 670680 07-12月-07

2 1 15 104857600 1 NO unactive 696119 07-12月-07

3 1 0 104857600 1 NO Unactive 650182 07-12月-07

已选择3行。

alter database clear unarchived logfile group 1;

数据库已经更改.

alter database clear unarchived logfile group 2;

数据库已经更改.

alter database clear unarchived logfile group 3;

数据库已经更改.

SQL>shutdown;

已经卸载数据库。

ORACLE 例程已经关闭。

SQL>startup;

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

数据库已经打开。

问题解决!

但是,在对myoracle 例程进行同样的操作后,也不知道是哪里出了问题,

SQL>startup;

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

ORA-03113: 通信通道的文件结束

在网上查找资料,出现这样的问题原因很多,一般是网络不通,或者是init.ora、C:\oracle\ora92\network\admin\sqlnet.ora或tnsnames.ora有问题.显然这些不适合我.我的两个例程,一个可以正常使用,另外一个有问题的!

在我关闭数据库后,重新打开,执行:

SQL>connect "/as sysdba";

SQL>select * from scott.emp;

ORA-27101 shared memory realm does not exist -

出现这个错误也有很多解释,一般要检查init.ora文件的内存配置是否有问题,但是在没有打开数据库的时候执行命令,也会出现这样的错误提示,我的属于后者,是由于没有挂载数据库造成的,这里提醒一下.

后来又乱琢磨了一回,还出现了错误:

ORA-24324: 未初始化服务句柄

ORA-01041: 内部错误,hostdef 扩展名不存在

这是越来越乱了,无奈之下,只好重头再来整理一遍,从重新配置日志文件开始,操作一样,但是奇迹出现了,错误消失了,也不提示通信通道文件结束了,数据库正常了,呵呵,但是很晕!

解决问题知识整理:

首先,执行下面的语句看看group1是不是current日志组

select * from v$log;

如果被删除的日志不是当前日志组的成员,比较简单

alter database clear logfile group 1;

如果你的库是非归档的,或许要用下面的语句

alter database clear unarchived logfile group 1;

如果是当前日志组损坏,但是数据库是正常关闭的,上面的办法也可以使用

如果日志组中有活动的事务,那么可能需要利用备份来恢复了:过程如下:

解决过程:Microsoft Windows XP [版本 5.1.2600](C) 版权所有 1985-2001 Microsoft

Corp.

C:\Documents and Settings\5201314>sqlplus

/nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 6月 20 11:19:52

2008Copyright (c) 1982, 2005, Oracle. All rights

reserved.

SQL> conn sys/dd as sysdba

已连接。

SQL> startup mount

ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它

SQL> recover database until time '2008-06-19

13:45:02';

完成介质恢复。

SQL> alter database open resetlogs;

数据库已更改。

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 205520896 bytes

Fixed Size 1248092 bytes

Variable Size 79692964 bytes

Database Buffers 117440512 bytes

Redo Buffers 7139328 bytes

数据库装载完毕。

数据库已经打开。

SQL>

Redo 损坏彻底解决

为了打开数据库,首先想到的是将坏的日志清除掉,但是:

SQL> alter database clear unarchived logfile group 3

;

alter database clear unarchived logfile group 3

*

ERROR 位于第 1 行:

ORA-01624: 线程3的紧急恢复需要日志1

ORA-00312: 联机日志 3 线程 1:

'D:\ORACLE\ORADATA\RMAN\REDO03.LOG'

SQL> alter database clear

unarchived logfile group 3 unrecoverable datafile;

alter database clear unarchived logfile group 3 unrecoverable

datafile

*

ERROR 位于第 1 行:

ORA-01624: 线程3的紧急恢复需要日志1

ORA-00312: 联机日志 3 线程 1:

'D:\ORACLE\ORADATA\RMAN\REDO03.LOG'

清理日志文件行不通了,只有加入隐含参数,进行不完全恢复了。

不完全恢复

先加入隐含参数

SQL> alter system set

"_allow_resetlogs_corruption"=true scope=spfile ;

系统已更改。

SQL> alter system set

"_allow_terminal_recovery_corruption"=true scope=spfile

;

系统已更改。

SQL> shutdown abort ;

ORACLE 例程已经关闭。

SQL>startup

.....

数据库装载完毕。

ORA-00354: 损坏重做日志块标题

ORA-00353: 日志损坏接近块 51328 更改 1029419 时间

ORA-00312: 联机日志 3 线程 1:

'D:\ORACLE\ORADATA\RMAN\REDO03.LOG'

现在开始不完全恢复:

SQL> recover database until cancel;

ORA-00279: 更改 1029419 (在 05/15/2005 01:21:08 生成) 对于线程 1 是必需的

ORA-00289: 建议: D:\ORACLE\ORA92\RDBMS\ARC00078.001

ORA-00280: 更改 1029419 对于线程 1 是按序列 # 78 进行的

指定日志:

{=suggested | filename | AUTO |

CANCEL}

auto

ORA-00308: 无法打开存档日志 'D:\ORACLE\ORA92\RDBMS\ARC00078.001'

ORA-27041: 无法打开文件

OSD-04002: 无法打开文件

O/S-Error: (OS 2) 系统找不到指定的文件。

ORA-00308: 无法打开存档日志

'D:\ORACLE\ORA92\RDBMS\ARC00078.001'

ORA-27041: 无法打开文件

OSD-04002: 无法打开文件

O/S-Error: (OS 2) 系统找不到指定的文件。

ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS

将出现如下错误

ORA-01194: 文件1需要更多的恢复来保持一致性

ORA-01110: 数据文件 1: 'F:\RMAN\SYSTEM01.DBF'

恢复完成。再用resetlogs打开数据库:

SQL> alter database open

resetlogs ;

ERROR 位于第 1 行:

ORA-03113: 通信通道的文件结束

等待很久,居然报这个错!其实不用怕,恢复已经完成,只要重新打开就可以了。

oracle无法打开日志组,ORA-00313:无法打开日志组1(线程 1)的成员_ORA-00312:相关推荐

  1. oracle日志重建,在线重建redo log日志组

    -------8月在gx行做的,按照行内标准,实现了将原50M每组共5个redolog日志组重建成100M每组共10组. 1 查看目前的redolog日志组,得知在用的为group4 SQL> ...

  2. Oracle 错误总结及问题解决 ORA

    使用 Ctrl + F 搜索错误代码 ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事件 OR ...

  3. 当ORACLE归档日志满后如何正确删除归档日志

    当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格 ...

  4. 浅谈Oracle服务器归档日志,oracle服务器运行时管理归档日志文件不管理联机重做日志文件...

    <Oracle数据库管理与维护实战>--2.4 Oracle后台进程结构 本节书摘来自异步社区出版社<Oracle数据库管理与维护实战>一书中的第2章,第2.4节,作者: 何伟 ...

  5. oracle 越南字符,ORACLE 12.2RAC之问题 ora.chad OFFLINE

    oracle数据库 orcale开发 oracle技术文章 ORACLE 12.2RAC之问题 ora.chad OFFLINE 问题描述: 早上巡检是发现一套RAC的ora.chad一个节点的状态是 ...

  6. oracle 安装时的日志文件,oracle10g安装的日志文件 Oracle10g怎么查看操作日志

    如何查看oracle 10g 的操作日志 归档模式下怎么查询oracle 10g归档日志存放的路径? SQL> select name from v$archived_log; NAME /u0 ...

  7. oracle 12c cdb/pdb tnsnames.ora设置

    获取CDB的连接串: 1.登录cdb,查看service_names. 获取PDB的连接串: 2.show pdbs,查看pdb的名称,后面再加上db_domain(如有) SQL> show ...

  8. oracle 网络访问配置tnsnames.ora文件的路径

    oracle 网络访问配置tnsnames.ora文件的路径 oracle 9i  是:  /oracle/oracle92/network/admin/-- oracle 11g 是: /oracl ...

  9. NTP组播模式配置和日志信息发送到Linux日志主机的配置

    NTP组播模式配置 如图所示,网络中有一台时间服务器SW3,网络中设备较多,而且这些设备分布在不同网段中,为了便于管理,现要求配置NTP组播模式,使网络中的设备拥有统一,一致的时间. #SW3配置 # ...

最新文章

  1. 开发板运行linux下虚拟机ubuntu的ping
  2. 别再问我 new 字符串创建了几个对象了!我来证明给你看!
  3. 查看 python 的版本 以及 python 的安装位置路径
  4. c3p0 0.9.1.2 配套mysql_连接数据库,使用c3p0技术连接MySQL数据库
  5. 聊聊 top 命令中的 CPU 使用率
  6. day28 socket网络编程
  7. 腾讯视频上传视频如何同步到企鹅号
  8. python基础之模块之os模块
  9. reStructuredText
  10. 宛如白昼,谷歌发布最强夜景拍照AI算法,单摄秒杀一众苹果华为三星
  11. 原则读书法:书这么多,读完就忘怎么办
  12. linux 7 恢复系统,CentOS 7在grub rescue模式中修复系统
  13. 考勤系统(打卡时间计算)
  14. 榜单!DMS/OMS高增速,舱内感知交互摄像头供应商TOP10
  15. Protel (DXP2004sp2) 许可协议认证过程
  16. 论证是一门学问 如何让你的观点有说服力-6 规则6 措辞前后一致
  17. 圣地亚哥大学计算机科学专业,加州大学圣地亚哥分校计算机科学本科
  18. 2022第四届长安杯电子取证竞赛 服务器赛时思路题解 Zodi4c
  19. sim插拔识别时间_智能手机插拔寿命测试标准
  20. 从脚本学python(秋名山车神)

热门文章

  1. 漫画:35岁的IT会不会失业?
  2. Activiti 多个并发子流程的应用
  3. 隐藏/显示jeecg-boot 后端管理页面的右侧的系统设置
  4. joa-framework 工作流快速开发框架(jeecg官方工作流版本) 发布
  5. Oracle执行外部文件:
  6. 深度可分离卷积(Xception 与 MobileNet)
  7. shell脚本的简单学习
  8. 在应用开发中,网易云音乐如何兼顾质量和效益
  9. leetcode题解(二叉树和递归问题)
  10. 一文掌握关于Java数据结构所有知识点(欢迎一起完善)