oracle无法打开日志组,ORA-00313:无法打开日志组1(线程 1)的成员_ORA-00312:
今天用系统清理工具把系统垃圾清理了一番,结果在打开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:相关推荐
- oracle日志重建,在线重建redo log日志组
-------8月在gx行做的,按照行内标准,实现了将原50M每组共5个redolog日志组重建成100M每组共10组. 1 查看目前的redolog日志组,得知在用的为group4 SQL> ...
- Oracle 错误总结及问题解决 ORA
使用 Ctrl + F 搜索错误代码 ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事件 OR ...
- 当ORACLE归档日志满后如何正确删除归档日志
当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格 ...
- 浅谈Oracle服务器归档日志,oracle服务器运行时管理归档日志文件不管理联机重做日志文件...
<Oracle数据库管理与维护实战>--2.4 Oracle后台进程结构 本节书摘来自异步社区出版社<Oracle数据库管理与维护实战>一书中的第2章,第2.4节,作者: 何伟 ...
- oracle 越南字符,ORACLE 12.2RAC之问题 ora.chad OFFLINE
oracle数据库 orcale开发 oracle技术文章 ORACLE 12.2RAC之问题 ora.chad OFFLINE 问题描述: 早上巡检是发现一套RAC的ora.chad一个节点的状态是 ...
- oracle 安装时的日志文件,oracle10g安装的日志文件 Oracle10g怎么查看操作日志
如何查看oracle 10g 的操作日志 归档模式下怎么查询oracle 10g归档日志存放的路径? SQL> select name from v$archived_log; NAME /u0 ...
- oracle 12c cdb/pdb tnsnames.ora设置
获取CDB的连接串: 1.登录cdb,查看service_names. 获取PDB的连接串: 2.show pdbs,查看pdb的名称,后面再加上db_domain(如有) SQL> show ...
- oracle 网络访问配置tnsnames.ora文件的路径
oracle 网络访问配置tnsnames.ora文件的路径 oracle 9i 是: /oracle/oracle92/network/admin/-- oracle 11g 是: /oracl ...
- NTP组播模式配置和日志信息发送到Linux日志主机的配置
NTP组播模式配置 如图所示,网络中有一台时间服务器SW3,网络中设备较多,而且这些设备分布在不同网段中,为了便于管理,现要求配置NTP组播模式,使网络中的设备拥有统一,一致的时间. #SW3配置 # ...
最新文章
- 开发板运行linux下虚拟机ubuntu的ping
- 别再问我 new 字符串创建了几个对象了!我来证明给你看!
- 查看 python 的版本 以及 python 的安装位置路径
- c3p0 0.9.1.2 配套mysql_连接数据库,使用c3p0技术连接MySQL数据库
- 聊聊 top 命令中的 CPU 使用率
- day28 socket网络编程
- 腾讯视频上传视频如何同步到企鹅号
- python基础之模块之os模块
- reStructuredText
- 宛如白昼,谷歌发布最强夜景拍照AI算法,单摄秒杀一众苹果华为三星
- 原则读书法:书这么多,读完就忘怎么办
- linux 7 恢复系统,CentOS 7在grub rescue模式中修复系统
- 考勤系统(打卡时间计算)
- 榜单!DMS/OMS高增速,舱内感知交互摄像头供应商TOP10
- Protel (DXP2004sp2) 许可协议认证过程
- 论证是一门学问 如何让你的观点有说服力-6 规则6 措辞前后一致
- 圣地亚哥大学计算机科学专业,加州大学圣地亚哥分校计算机科学本科
- 2022第四届长安杯电子取证竞赛 服务器赛时思路题解 Zodi4c
- sim插拔识别时间_智能手机插拔寿命测试标准
- 从脚本学python(秋名山车神)