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. poj2000

    为了凑今天的数,大水题.不解释了,说来惭愧. #include <stdio.h> int main(){ int n; int i,cnt,j; int tot; while(~scan ...

  2. Jquery入门之---------基本事件------------

    Javascript有一个非常重要的功能,就是事件驱动. 当页面完成加载后,用户通过鼠标或键盘触发页面中绑定事件的元素即可触发.Jquery为开发者更有效率的编写事件行为,封装了大量有益的事件方法供我 ...

  3. Entity Framework中的多个库操作批量提交、事务处理

    在Entity Framework 中使用SaveChanges()是很频繁的,单次修改或删除数据后调用SaveChanges()返回影响记录数. 要使用批量修改或者批量删除数据,就需要SaveCha ...

  4. PHP MYSQLI中事务处理

    MYSQL事务处理让所有sql语句执行成功后才去处理,如果有一条没有成功或者报错就会回滚事务,防止敏感操作处理失败.MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其它类型是不支持的 ...

  5. 三种找回 linux root密码

    找回 linux root密码的三种方法 第1种方法: 1.在系统进入单用户状态,直接用passwd root去更改2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法 ...

  6. HTTP协议中PUT/GET/POST/HEAD等介绍

    HTTP协议中GET.POST和HEAD的介绍 GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体 ...

  7. 将Tab栏居中的方法

    原始tab: 居中后的tab(边缘效果是截图的问题): 改变方法如下: 找到Android SlidingTabLayout源代码,在Android SlidingTabLayout源代码中有一个方法 ...

  8. 4.0 流量控制preference

    从Android4.0以后,系统设置应用程序允许用户查看他们的应用在前台和后台使用了多少网络数据.用户可以禁用每 个应用在后台使用网络数据.为了避免用户禁用你的应用在后台访问网络,你应该更效率的使用网 ...

  9. Oracle获取表结构信息:表名、是否视图、字段名、类型、长度、非空、主键

    select a.TABLE_NAME as "TableName", then 'V' else 'U'end as "TableType", a.COLUM ...

  10. struts2框架基本操作总结

    struts技术说明 一:第一配置开发环境 1.struts.xml文件 <?xml version="1.0" encoding="UTF-8" ?&g ...