oracle 日志文件丢了,怎么解决? 开启了归档日志!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 日志文件丢了,怎么解决? 开启了归档日志!相关的知识,希望对你有一定的参考价值。

日志文件丢失的话,如果是非当前日志可以通过clear logfile解决,如果是当前日志 那么需要使用特殊手段才能打开数据库, online redolog 丢失 下 和开启归档没有直接关系。
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
参考技术A 如果Oracle日志文件丢失,应该怎么办呢?下面就将为您介绍一个Oracle日志文件丢失的处理方法,希望对您能够有所启迪。
因不慎操作,将日志组中的第三个Oracle日志文件丢失.
SQL> conn /as sysdba
已连接。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 85006980 bytes
Fixed Size 453252 bytes
Variable Size 58720256 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 3 (线程 1) 的成员
ORA-00312: 联机日志 3 线程 1: 'D:\ORACLE\ORADATA\ORA92\REDO03.LOG'
数据库不能启动
查找文件:D:\ORACLE\ORADATA\ORA92\REDO03.LOG,不存在.
数据库此时并没有打开:
SQL> select table_name from dict where table_name like '%LOG%';
select table_name from dict where table_name like '%LOG%'
*
ERROR 位于第 1 行:
ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询
此时,需要先关闭数据库
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 85006980 bytes
Fixed Size 453252 bytes
Variable Size 58720256 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL> recover database until cancel
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。

有无备份?
alter database open reset logs;追问

是 redo log日志,你这个没用的

归档模式下怎么查询oracle 10g归档日志存放的路径?

方法1: 以 sysdba 登陆数据库 (一般为数据库所在服务器,如果进行了必要的配置,也可以远程)
sqlplus /nolog
connect / as sysdba
archive log list;
便会列出所需的信息

show parameter log_archive_dest

方法2: 以可查询 v$parameter 的用户登陆数据库(可远程)
select name, value from v$parameter where name like 'log_archive_dest_%' and value is not null and value <>'enable';

方法3: 以可查询 v$archive_dest 的用户登陆数据库(可远程)
select dest_name, DESTINATION from v$archive_dest where destination is not null;

方法4: 以可查询 v$archived_log 的用户登陆数据库(可远程)
select name from v$archived_log where name is not null and rownum<10;
参考技术A SQL> select name from v$archived_log;

NAME
--------------------------------------------------
/u01/oracle/flash_recovery_area/ORA10G/archivelog/
2012_02_18/o1_mf_1_15_7myb1ftq_.arc

/u01/oracle/arch/1_16_759895721.dbf

如果没有的话切换一下日志:alter system switch logfile;
其他方法:
show parameter log_archive_dest;

show parameter dest

show parameter dest本回答被提问者和网友采纳
参考技术B 用以下语句就行:
SQL> show parameter db_recovery;
参考技术C 11g是archivelog list

以上是关于oracle 日志文件丢了,怎么解决? 开启了归档日志!的主要内容,如果未能解决你的问题,请参考以下文章

如何管理归档文件和归档目录

oracle归档日志老满怎么办

Oracle开启归档日志

Oracle RMAN删除归档日志脚本

Oracle RMAN删除归档日志脚本

如何查询Oracle数据库的操作日志