eygle.com   eygle.com
eygle.com  
 

« Use RMAN to Manage BackupSet | Blog首页 | Oracle HowTo:如何查看各个表空间的自由空间 »

无文件备份、拥有所有归档的恢复

作者:eygle |【转载时请务必以超链接形式标明文章和作者信息及本声明
链接:

演示几种情况,不做过多说明.

归档模式

拥有所有归档文件,后增加文件无备份,丢失这个文件,拥有控制文件及所有其他文件,以下是一种恢复情况.

1.启用归档模式,备份

E:\sqlplus "sys/oracle as sysdba"

SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area   47259136 bytes
Fixed Size                   454144 bytes
Variable Size              29360128 bytes
Database Buffers           16777216 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter database archivelog;

数据库已更改。

SQL> shutdown immediate;
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

E:\Oracle\oradata\eygle>dir
 驱动器 E 中的卷是 PRIVATE
 卷的序列号是 ACC3-4340

 E:\Oracle\oradata\eygle 的目录

...
2004-10-13  22:15         1,613,824 CONTROL01.CTL
2004-10-13  22:15         1,613,824 CONTROL02.CTL
2004-10-13  22:15         1,613,824 CONTROL03.CTL
2004-10-13  22:14        10,493,952 EYGLE01.DBF
2004-10-13  22:14        10,486,272 REDO01.LOG
2004-10-13  22:14        10,486,272 REDO02.LOG
2004-10-13  22:14        10,486,272 REDO03.LOG
2004-10-13  22:10               811 sqlnet.log
2004-10-13  22:14       262,152,192 SYSTEM01.DBF
2004-07-03  16:50        41,951,232 TEMP01.DBF
2004-10-13  22:14       209,723,392 UNDOTBS01.DBF
              11 个文件    560,621,867 字节
               2 个目录  1,286,344,704 可用字节

E:\Oracle\oradata\eygle>mkdir bak

E:\Oracle\oradata\eygle>cp *.* bak

E:\Oracle\oradata\eygle>exit
       
                      

2.创建文件、建表

 

 

SQL> startup;
ORACLE 例程已经启动。

Total System Global Area   47259136 bytes
Fixed Size                   454144 bytes
Variable Size              29360128 bytes
Database Buffers           16777216 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> archive log start;
已处理的语句
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            e:\oracle\ora92\RDBMS
最早的概要日志序列     30
下一个存档日志序列   32
当前日志序列           32
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
E:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF
E:\ORACLE\ORADATA\EYGLE\UNDOTBS01.DBF
E:\ORACLE\ORADATA\EYGLE\EYGLE01.DBF

SQL> create tablespace test datafile 'e:\oracle\oradata\eygle\test01.dbf'
  2  size 5m;

表空间已创建。


SQL> alter system switch logfile;

系统已更改。

SQL> create table t tablespace test as select * from dba_users;

表已创建。

SQL> alter system switch logfile;

系统已更改。

SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> exit
从Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production中断开

E:\Oracle\oradata\eygle>mv TEST01.DBF bak    
   

 

3.恢复

 

 
E:\Oracle\oradata\eygle>sqlplus "sys/oracle as sysdba"

SQL*Plus: Release 9.2.0.5.0 - Production on 星期三 10月 13 22:41:48 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

已连接到空闲例程。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area   47259136 bytes
Fixed Size                   454144 bytes
Variable Size              29360128 bytes
Database Buffers           16777216 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4: 'E:\ORACLE\ORADATA\EYGLE\TEST01.DBF'


SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
E:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF
E:\ORACLE\ORADATA\EYGLE\UNDOTBS01.DBF
E:\ORACLE\ORADATA\EYGLE\EYGLE01.DBF
E:\ORACLE\ORADATA\EYGLE\TEST01.DBF

SQL> alter database create datafile 'E:\ORACLE\ORADATA\EYGLE\TEST01.DBF';

数据库已更改。

SQL> recover datafile 'E:\ORACLE\ORADATA\EYGLE\TEST01.DBF';
完成介质恢复。
SQL> alter database open;

数据库已更改。

SQL> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

E:\Oracle\oradata\eygle>ls -l
total 1105221
-rwxrwxrwa   1 Administrators  SYSTEM          1613824 Oct 13 23:42 CONTROL01.CTL
-rwxrwxrwa   1 Administrators  SYSTEM          1613824 Oct 13 23:42 CONTROL02.CTL
-rwxrwxrwa   1 Administrators  SYSTEM          1613824 Oct 13 23:42 CONTROL03.CTL
-rwxrwxrwa   1 Administrators  SYSTEM          10493952 Oct 13 23:44 EYGLE01.DBF
-rwxrwxrwa   1 Administrators  SYSTEM          10486272 Oct 13 23:44 REDO01.LOG
-rwxrwxrwa   1 Administrators  SYSTEM          10486272 Oct 13 23:44 REDO02.LOG
-rwxrwxrwa   1 Administrators  SYSTEM          10486272 Oct 13 23:44 REDO03.LOG
-rwxrwxrwa   1 Administrators  SYSTEM          262152192 Oct 13 23:44 SYSTEM01.DBF
-rwxrwxrwa   1 Administrators  SYSTEM          41951232 Jul  3 17:50 TEMP01.DBF
-rwxrwxrwa   1 Administrators  SYSTEM          5251072 Oct 13 23:44 TEST01.DBF
-rwxrwxrwa   1 Administrators  SYSTEM          209723392 Oct 13 23:44 UNDOTBS01.DBF
drwxrwxrwx   1 gqgai           None                  0 Oct 13 23:41 bak
-rwxrwxrwa   1 gqgai           None                811 Oct 13 23:10 sqlnet.log

E:\Oracle\oradata\eygle>ls -l TEST01.DBF
-rwxrwxrwa   1 Administrators  SYSTEM          5251072 Oct 13 23:44 TEST01.DBF

E:\Oracle\oradata\eygle>   
   

总结:

此案例拥有当前控制文件,控制文件中包含了丢失文件信息,所以可以通过create datafile方式重新创建文件,通过控制文件中记录的文件
信息、SCN、检查点等信息,应用归档日志进行恢复,可以完成完全恢复.

 

By eygle on 2004-10-13 11:53 | Comments (2) | Posted to Backup&Recovery | Edit |Pageviews:

相关文章 随机文章
  • 丢失所有文件、拥有全备份,缺少后增加的文件
  • 关于HDS的高端存储设备USPV
  • 深入理解数据库创建-补遗
  • 成功恢复案例:打开断电崩溃数据库
  • 恢复8.1.6的数据库 勿忘svrmgrl
  • 上海滩
    DSI系列教材 纷纷现身江湖
    Canon 400D更换记
    Baby病了
    Oracle诊断案例-SGA与Swap之二
    网上相关主题:
    Google

    留言 (2)

    如果此时尝试丢失一个已存在的数据文件OldTest.dbf(即不是现场create 的test01数据文件),并且这个OldTest.dbf又是在当前controlfile create创建之前(因为controlfile重建了)就存在的。即 Current-controlfile createdtime > OldTest.dbf createdtime。那么执行alter database create datafile时会报错:
    ORA-01178: 文件 10 在最后一个 CREATE CONTROLFILE 之前创建,无法重新创建。
    而不得不只能从备份里restore datafile,再recover。

    Posted by: steventsing at January 28, 2008 6:19 PM

    才明白,eygle大师写的"后增加文件"这个标题的含义。

    Posted by: steventsing at January 28, 2008 6:24 PM

    发表留言:



    Remember Me?
    (输入验证码后方可评论,谢谢支持)



    CopyRight © 2004 eygle.com, All rights reserved.