1、查看当前状态:
SQL> select status from v$instance;

STATUS
------------
OPEN

SQL> show parameter
name;

NAME                                 TYPE        VALUE
------------------------------------
-----------
------------------------------
db_file_name_convert                 string
db_name                              string      hand
db_unique_name                       string      hand
global_names                         boolean     FALSE
instance_name                        string      hand
lock_name_space                      string
log_file_name_convert                string
service_names                        string      hand.likun.com

 
2、删除数据文件,数据库扔正常运行
[oracle@www
data]$ rm -rf
hand
SQL> select count(*) from
dba_segments;

 
3、日志没有异常
Mon
Mar ::
Thread advanced to log sequence
(LGWR switch)
   seq# mem# : seq# mem# : /data/hand/redo03b.log
Mon Mar
::
Starting background process CJQ0
Mon Mar ::
CJQ0 started with
pid, OS id 
Mon Mar ::
Thread advanced to log sequence
(LGWR switch)
   seq# mem# : seq# mem# : /data/hand/redo01b.log
Mon Mar
::
SERVER COMPONENT id ::
 
4、查看数据文件的句柄
[oracle@www
trace]$ ps -ef|grep
ora_dbw
oracle           Mar17
?        00:00: ora_dbw0_hand
oracle       : pts    00:00:00 grep
ora_dbw
[oracle@www trace]$ cd
[oracle@www ]$ cd fd
[oracle@www fd]$ ls
lr-x------
oracle oinstall
: -> /dev/null
l-wx------
oracle oinstall
: -> /dev/null
l-wx------
oracle oinstall
: -> /dev/null
lr-x------
oracle oinstall
: /fd
lrwx------
oracle oinstall
: ../dbs/lkinsthand
(deleted)
lrwx
oracle oinstall : ../dbs/hc_hand.dat
lr-x------
oracle oinstall
: -> /dev/null
lr-x------
oracle oinstall
: -> /dev/null
lr-x------
oracle oinstall
: -> /dev/null
l-wx------
oracle oinstall
:
oracle oinstall : -> /data/hand/users01.dbf (deleted)
lrwx------
oracle oinstall
: -> /data/hand/temp01.dbf (deleted)
lrwx------
oracle oinstall
: -> /data/hand/undotbs01.dbf (deleted)
lrwx------
oracle oinstall
: -> /data/hand/sysaux01.dbf (deleted)
lrwx------
oracle oinstall
: -> /data/hand/system01.dbf (deleted)
lrwx------
oracle oinstall
:
oracle oinstall : -> /u01/oracle/oradata/hand/control01.ctl
lr-x------
oracle oinstall
: ../rdbms/mesg/oraus.msb
lrwx------
oracle oinstall
: ..
oracle oinstall : ../dbs/hc_hand.dat
lr-x------
oracle oinstall
:
oracle oinstall :
oracle oinstall :
oracle oinstall : ..
oracle oinstall :
oracle oinstall : -> /u01/oracle/diag/rdbms/hand/hand/trace/hand_ora_16835.trc
 
5、恢复数据文件
[oracle@www
fd]$ mkdir /data/hand
[oracle@www
fd]$ cp

oracle oinstall
:00 sysaux01.dbf
-rw-r-----
oracle oinstall : system01.dbf
-rw-r-----
oracle oinstall   : temp01.dbf
-rw-r-----
oracle oinstall : undotbs01.dbf
-rw-r-----
oracle oinstall :
users01.dbf

 
6、恢复日志文件
[oracle@www
fd]$ ps -ef |grep
ora_lgwr
oracle           Mar17
?        00::
ora_lgwr_hand
oracle       : pts    00:00:00 grep
ora_lgwr
[oracle@www fd]$ pwd
/fd
[oracle@www fd]$ ll

l-wx------
oracle oinstall
: -> /dev/null
lr-x------
oracle oinstall
:
oracle oinstall : ../dbs/lkinsthand
(deleted)
lrwx
oracle oinstall : ../dbs/hc_hand.dat
lr-x------
oracle oinstall
: -> /dev/null
lr-x------
oracle oinstall
: -> /dev/null
lr-x------
oracle oinstall
: -> /dev/null
l-wx------
oracle oinstall
:
oracle oinstall : -> /dev/null
lr-x------
oracle oinstall
:
oracle oinstall : ../rdbms/mesg/oraus.msb
lrwx------
oracle oinstall
: ..
oracle oinstall : ../dbs/hc_hand.dat
lr-x------
oracle oinstall
:
oracle oinstall :
oracle oinstall :
oracle oinstall : ..
oracle oinstall :
oracle oinstall :
oracle oinstall :
oracle oinstall :
oracle oinstall :
oracle oinstall :
oracle oinstall :
oracle oinstall :
oracle oinstall :
oracle oinstall : /data/hand/redo01a.log
 
 
7、创建测试表,此时日志可以写入
SQL> create table
test(id number);

Table created.

SQL> insert into test
);

row created.

 
8、重启数据库,但是报错,日志中也有错误了
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE
instance started.

Total System Global
Area   bytes
Fixed bytes
Variable
bytes
Database
Buffers           bytes
Redo
Buffers                 bytes
Database
mounted.
ORA:

Session ID:

[oracle@www trace]$ tail -30 alert*
ALTER DATABASE   MOUNT
Successful mount of redo thread 1, with mount id 3937093700
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTER DATABASE   MOUNT
Mon Mar 18 22:14:39 2013
ALTER DATABASE RECOVER  database 
Media Recovery Start
Serial Media Recovery started
Media Recovery failed with error 264
ORA-283 signalled during: ALTER DATABASE RECOVER  database 
...
Mon Mar 18 22:15:24 2013
alter database open
Mon Mar 18 22:15:24 2013
Errors in file
/u01/oracle/diag/rdbms/hand/hand/trace/hand_lgwr_30473.trc:
ORA-00322: log 1 of thread 1 is not current copy
ORA-00312: online log 1 thread 1: '/data/hand/redo01b.log'
ORA-00322: log 1 of thread 1 is not current copy
ORA-00312: online log 1 thread 1: '/data/hand/redo01a.log'
Errors in file
/u01/oracle/diag/rdbms/hand/hand/trace/hand_lgwr_30473.trc:
ORA-00322: log 1 of thread 1 is not current copy
ORA-00312: online log 1 thread 1: '/data/hand/redo01b.log'
ORA-00322: log 1 of thread 1 is not current copy
ORA-00312: online log 1 thread 1: '/data/hand/redo01a.log'
Errors in file
/u01/oracle/diag/rdbms/hand/hand/trace/hand_ora_30494.trc:
ORA-00322: log 1 of thread  is not current copy
ORA-00312: online log 1 thread 1: '/data/hand/redo01a.log'
ORA-00312: online log 1 thread 1: '/data/hand/redo01b.log'
USER (ospid: 30494): terminating the instance due to error 322
Instance terminated by USER, pid = 30494
 
9、清空在线日志,open,可以起来,但是故障期间的数据丢失
SQL> alter database
clear unarchived logfile ;

Database
altered.

;

Database altered.

SQL> alter database
clear unarchived logfile ;

Database
altered.

SQL> alter database open;

Database altered.

SQL> select * from test;
select * from
test
              :
ORA: table or view does not exist

 
10、经过再次试验,发现在恢复redo时,只恢复状态为inactive的日志,最后重启数据库前,多次alter system switch
logfile来切日志,把日志中信息写盘。
最后重启数据库,但是启动还是报错,但是日志中已经没有未存盘的数据,此时可以clear日志再open就不会丢数据了。
SQL> startup
ORACLE instance started.
 
Total System Global Area  322228224 bytes
Fixed
Size                 
1336288 bytes
Variable
Size            
209718304 bytes
Database Buffers         
104857600 bytes
Redo
Buffers               
6316032 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 651
Session ID: 1 Serial number:
5

Oracle数据文件在open状态被删除的恢复记录的更多相关文章

  1. Oracle数据文件丢失,数据库如何打开或恢复

    (一)如果没有备份只能是删除这个数据文件了,会导致相应的数据丢失.SQL>startup mount--ARCHIVELOG模式命令SQL>Alter database datafile ...

  2. Oracle数据文件和临时文件的管理

    一.数据文件概述在Oracle数据库中,SYSTEM和SYSAUX表空间至少需要包含一个数据文件,此外还将包含多个其他表空间及与其相关的数据文件和临时文件.Oracle的数据文件和临时文件是操作系统文 ...

  3. oracle(数据文件)

    --创建数据文件 create tablespace--创建表空间同时创建数据文件 create temporary tablespace --创建临时表空间的同时创建临时数据文件 alter tab ...

  4. Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据

    Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据 PRM 全称为ParnassusData Recovery Manager ,由 诗檀软 ...

  5. 收缩Oracle数据文件

    最近有网友提到收缩Oracle数据文件的问题,这是DBA经常碰到的一个常见问题.通常我们需要收缩相应的数据文件以减少来自磁盘空间的压力以及提高数据库的整体性能.但这并非对于所有情形都是适用的,尤其是生 ...

  6. bay——RAC 表空间时数据文件误放置到本地文件系统-介质恢复.txt

    RAC添加新表空间时数据文件误放置到本地文件系统的修正 于是我想11G 也兼容这些操作的方法,但是11G的新特性有一点就是可以直接支持ASM文件系统直接可以和本地文件系统进行文件的拷贝了,也就是有三种 ...

  7. oracle数据文件不小心被删除,导致对应的表空间删不掉的处理方法

    问题现象:数据文件被无意删除,导致数据库表空间无法删除,并且重新刷表空间提示表空间已经存在:解决方法:1.oracle用户登录服务器,使用sysdba连接数据库 >sqlplus / as sy ...

  8. 批量迁移Oracle数据文件,日志文件及控制文件

    有些时候需要将Oracle的多个数据文件以及日志文件重定位或者迁移到新的分区或新的位置,比如磁盘空间不足,或因为特殊需求.对于这种情形可以采取批量迁移的方式将多个数据文件或者日志文件实现一次性迁移.当 ...

  9. Oracle 数据文件 reuse 属性 说明(转载)

    Oracle 表空间 创建参数 说明 http://blog.csdn.net/tianlesoftware/archive/2011/01/27/6166928.aspx 当我们对表空间添加数据文件 ...

随机推荐

  1. SQL Server T-SQL高级查询(转)

    高级查询在数据库中用得是最频繁的,也是应用最广泛的.   Ø 基本常用查询   --select select * from student; --all 查询所有 select all sex fr ...

  2. std::cout彩色输出

    Mac OS效果 Windows 效果 想写这个东西其实是因为最近要写个命令行的工具,但是有个问题是什么呢?就是传统的那个黑漆漆的窗口看起来很蛋疼.并且完全看不到重点,于是就想起 来这么一个东西.相对 ...

  3. Visual studio 2013 Team Foundation Server TFS2013 设置签出独占锁

    摘自: http://www.cnblogs.com/52XF/p/4239056.html 以备自查 如侵权,请告知

  4. JavaScript的检测属性、属性特性、枚举属性

    /* 检测属性 检测属性可以通过三种方式 1.通过in运算符 2.通过hasOwnPerperty() 如果给定的属性是继承属性将返回false 3.通过propertyIsEnumerable(): ...

  5. Java Excel POI

    1.使用 String toFileName = "E:\\sheet1.xlsx"; String fromFileName = "E:\\sheet2.xlsx&qu ...

  6. WireShark 过滤语法

    1. 过滤IP,如来源IP或者目标IP等于某个IP 例子: ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107 或者 ip.addr eq 192.1 ...

  7. Nginx 开启 path_info功能

    server { listen ; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; roo ...

  8. ADO访问Access数据库错误解决心得随笔

    最近在用ADO访问Access数据库的时候出现了一个奇怪的错误,觉得有必要记录下来,和大家分享一下. 环境 win7 x86系统: VS2012编译器: Office2010: Access2000~ ...

  9. MVC开发Markdown编辑器(2)

    MVC开发Markdown编辑器(2) MVC Markdown 实时预览 我希望实现一个在线实时预览的Markdown编辑器,左边是编辑处,右边是实时预览界面. 准备工作 引入相关js和css 这里 ...

  10. 一款非常简单的android音乐播放器源码分享给大家

    一款非常简单的android音乐播放器源码分享给大家,该应用虽然很小,大家常用的播放器功能基本实现了,可能有点还不够完善,大家也可以自己完善一下,源码在源码天堂那里已经有了,大家可以到那里下载学习吧. ...