归档模式五备份,丢失数据文件的恢…

1)创建演示环境
确认是否是归档模式
SQL> archive log file;
SP2-0718: 非法的         ARCHIVE LOG 选项
SQL> ARCHIVE LOG LIST;
数据库日志模式             存档模式
自动存档             启用
存档终点             e:\oracle\archive2
最早的联机日志序列     197
下一个存档日志序列   199
当前日志序列           199

2)创建一格兴的表空间BOOKS 和用户JSS 并授予相应的权限:
SQL>CREATE TABLESPACE books DATAFILE 'D:\oracle\product\10.2.0\oradata\orcl\JSSBOOK\BOOKS01.DBF' size 100m;
SQL>CREATE USER jss indentified by jss default tablespace books quota unlimited on books;
            用户名                 密码           缺省表空间BOOKS           数据量增加不限制
SQL>GRANT connect,recource to jss;

3)初始化一些数据:
SQL> CREATE TABLE BOOK_LIST(BOOID NUMBER PRIMARY KEY,BOOKNAME VARCHAR2(100),CREATE_DATE DATE);

表已创建。

SQL> insert into book_list values(1,'Sansi')
    2
SQL> insert into book_list values(1,'Sansi''s Note',sysdate);

已创建 1 行。


4)模拟文件丢失
SQL>SHUTDOWN immediate
SQL>host del  D:\oracle\product\10.2.0\oradata\orcl\JSSBOOK\BOOKS01.DBF


5)重新启动数据库
C:\Documents and Settings\user>SQLPLUS / AS sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 11月 6 16:34:13 2011

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

已连接到空闲例程。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area   612368384 bytes
Fixed Size                   1250428 bytes
Variable Size             201329540 bytes
Database Buffers           402653184 bytes
Redo Buffers                 7135232 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 9 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 9:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\JSSBOOK\BOOKS01.DBF'



6)执行修复
先重建文件
SQL> alter database create datafile 'D:\oracle\product\10.2.0\oradata\orcl\JSSBOOK\BOOKS01.DBF'
    2   as 'D:\oracle\product\10.2.0\oradata\orcl\JSSBOOK\BOOKS01.DBF';

执行RECOVER 命令修复丢失的数据文件
SQL> RECOVER DATAFILE 6;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复


SQL> RECOVER DATAFILE;
ORA-02236: 文件名无效


SQL> RECOVER DATAFILE 20;
ORA-01179: 文件 20 不存在


SQL> RECOVER DATAFILE 16;
ORA-01179: 文件 16 不存在


SQL> LIST backup of database;
SP2-0224: 起始行号无效
SQL> recover datafile 6;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复


SQL> recover datafile 5;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复


SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开

C:\Documents and Settings\user>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期日 11月 6 16:40:07 2011

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

已连接到目标数据库: ORCL (DBID=1273981632, 未打开)

RMAN> exit


恢复管理器完成。

C:\Documents and Settings\user>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 11月 6 16:40:31 2011

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


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
SQL> recover;
完成介质恢复。
SQL> conn jss/jss
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress


警告: 您不再连接到 ORACLE。
SQL> shutdown immediate;
ORA-01012: not logged on
SQL> startup
ORA-01031: insufficient privileges
SQL> conn /as sysdba
已连接。
SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
SQL> shutdown immediate;
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。

Total System Global Area   612368384 bytes
Fixed Size                   1250428 bytes
Variable Size             201329540 bytes
Database Buffers           402653184 bytes
Redo Buffers                 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> conn jss/jss
已连接。
SQL> select * from book_list;

      BOOID
----------
BOOKNAME
--------------------------------------------------------------------------------
CREATE_DATE
--------------
          1
Sansi's Note
06-11月-11


疑问:RECOVERY DATAFILE N;   中的N如何去查询?
丢失的数据文件,从其创建时刻起所有的重做日志文件都还在,因此可以通过RECOVER 命令应用所有重做日志的方式,重建该数据文件中的内容。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值