unixboy 发表于 2013-2-5 00:33:13

丢失全部数据文件的恢复(不包括control和redo)

<span style="">

<a name="_Toc78866044" />热备数据库 C:\>sqlplus "/ as sysdba"
 
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 2月 5 17:39:48 2002
 
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 
 
连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
 
SQL> @D:\hot_backup\hotbackup_for_win
已复制         1 个文件。
已复制         1 个文件。
已复制         1 个文件。
已复制         1 个文件。
已复制         1 个文件。
已复制         1 个文件。
已复制         1 个文件。
已复制         1 个文件。
SQL> host copy E:\oracle\oradata\test\archive\*.* D:\hot_backup\archive
E:\oracle\oradata\test\archive\1_74.ARC
E:\oracle\oradata\test\archive\1_75.ARC
E:\oracle\oradata\test\archive\1_76.ARC
E:\oracle\oradata\test\archive\1_77.ARC
E:\oracle\oradata\test\archive\1_78.ARC
E:\oracle\oradata\test\archive\1_79.ARC
E:\oracle\oradata\test\archive\1_80.ARC
E:\oracle\oradata\test\archive\1_81.ARC
E:\oracle\oradata\test\archive\1_82.ARC
E:\oracle\oradata\test\archive\1_83.ARC
E:\oracle\oradata\test\archive\1_84.ARC
E:\oracle\oradata\test\archive\1_85.ARC
已复制        12 个文件。
 
SQL> host dir D:\hot_backup\archive
 驱动器 D 中的卷是 PROGRAMS
 卷的序列号是 A06D-D424
 
 D:\hot_backup\archive 的目录
 
2002-02-04  13:59       <DIR>          .
2002-02-04  13:59       <DIR>          ..
2002-02-05  15:29                2,560 1_74.ARC
2002-02-05  15:29                1,024 1_75.ARC
2002-02-05  15:29                1,024 1_76.ARC
2002-02-05  15:33               45,056 1_77.ARC
2002-02-05  16:37               46,080 1_78.ARC
2002-02-05  16:38                1,536 1_79.ARC
2002-02-05  16:46                1,536 1_80.ARC
2002-02-05  16:54              142,848 1_81.ARC
2002-02-05  16:54                1,024 1_82.ARC
2002-02-05  16:54                2,560 1_83.ARC
2002-02-05  17:33              109,568 1_84.ARC
2002-02-05  17:43              177,152 1_85.ARC
              12 个文件        531,968 字节
               2 个目录  1,622,589,440 可用字节
 
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            e:\oracle\oradata\test\archive
最早的概要日志序列     83
下一个存档日志序列   86
当前日志序列           86
SQL>
 
 
<a name="_Toc78866045" />模拟所有数据文件损坏的情况

SQL> host
Microsoft Windows 2000
(C) 版权所有 1985-2000 Microsoft Corp.
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\XDB01.DBF
已复制         1 个文件。
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\USERS01.DBF
已复制         1 个文件。
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\UNDOTBS01.DBF
已复制         1 个文件。
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\TOOLS01.DBF
已复制         1 个文件。
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\SYSTEM01.DBF
已复制         1 个文件。
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\RMAN01.DBF
已复制         1 个文件。
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\INDX01.DBF
已复制         1 个文件。
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\DRSYS01.DBF
已复制         1 个文件。
 
C:\>copy  AdobeWeb.log E:\oracle\ora92\test\TEMP01.DBF
改写 E:\oracle\ora92\test\TEMP01.DBF 吗? (Yes/No/All): all
已复制         1 个文件。
 
C:\>
C:\>dir E:\oracle\ora92\test\*.dbf
 驱动器 E 中的卷是 ORACLE
 卷的序列号是 707A-C50C
 
 E:\oracle\ora92\test 的目录
 
2002-01-15  19:02                    0 DRSYS01.DBF
2002-01-15  19:02                    0 INDX01.DBF
2002-01-15  19:02                    0 RMAN01.DBF
2002-01-15  19:02                    0 SYSTEM01.DBF
2002-01-15  19:02                    0 TEMP01.DBF
2002-01-15  19:02                    0 TOOLS01.DBF
2002-01-15  19:02                    0 UNDOTBS01.DBF
2002-01-15  19:02                    0 USERS01.DBF
2002-01-15  19:02                    0 XDB01.DBF
               9 个文件              0 字节
               0 个目录  2,702,540,800 可用字节
 
C:\>exit
 
SQL>
<a name="_Toc78866046" />写数据库时报错,检查点产生时数据库会crash

SQL> conn / as sysdba
已连接。
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            e:\oracle\oradata\test\archive
最早的概要日志序列     83
下一个存档日志序列   86
当前日志序列           86
SQL> conn lunar/lunar
已连接。
SQL> select * from test;
        22
        23
       100
       111
 
已选择4行。
 
SQL> insert into test values(222);
insert into test values(222)
            *
ERROR 位于第 1 行:
ORA-01115: 从文件 6 读取块时出现 IO 错误 (块 # 35)
ORA-01110: 数据文件 6: 'E:\ORACLE\ORA92\TEST\USERS01.DBF'
ORA-27091: skgfqio: 无法进行 I/O 操作
ORA-27070: skgfdisp: 异步读取/写入失败
OSD-04006: ReadFile() 失败, 无法读取文件
O/S-Error: (OS 38) 到达文件结尾。
 
 
SQL> conn / as sysdba
已连接。
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            e:\oracle\oradata\test\archive
最早的概要日志序列     83
下一个存档日志序列   86
当前日志序列           86
SQL> alter system switch logfile;
 
系统已更改。
 
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            e:\oracle\oradata\test\archive
最早的概要日志序列     84
下一个存档日志序列   87
当前日志序列           87
SQL> alter system checkpoint;
alter system checkpoint
*
ERROR 位于第 1 行:
ORA-03113: 通信通道的文件结束
 
 
SQL> conn / as sysdba
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-01122: 数据库文件 1 验证失败
ORA-01110: 数据文件 1: 'E:\ORACLE\ORA92\TEST\SYSTEM01.DBF'
ORA-01251: 文件号1的未知文件标题版本读取
 
 
SQL>
 
 
<a name="_Toc78866047" />恢复数据库

<a name="_Toc78866048" />把热备的所有数据文件拷贝回来

SQL> startup
ORACLE 例程已经启动。
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-01122: 数据库文件 1 验证失败
ORA-01110: 数据文件 1: 'E:\ORACLE\ORA92\TEST\SYSTEM01.DBF'
ORA-01251: 文件号1的未知文件标题版本读取
 
 
SQL> shutdown immediate;
ORA-01109: 数据库未打开
 
 
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host
Microsoft Windows 2000
(C) 版权所有 1985-2000 Microsoft Corp.
 
C:\>copy D:\hot_backup\*.dbf E:\oracle\ora92\test
D:\hot_backup\SYSTEM01.DBF
改写 E:\oracle\ora92\test\SYSTEM01.DBF 吗? (Yes/No/All): all
D:\hot_backup\UNDOTBS01.DBF
D:\hot_backup\DRSYS01.DBF
D:\hot_backup\INDX01.DBF
D:\hot_backup\TOOLS01.DBF
D:\hot_backup\USERS01.DBF
D:\hot_backup\XDB01.DBF
D:\hot_backup\RMAN01.DBF
已复制         8 个文件。
 
C:\>exit
 
SQL>
 
 
<a name="_Toc78866049" />装载但不打开数据库

SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL>
 
 
<a name="_Toc78866050" />恢复数据库

SQL> recover database;
完成介质恢复。
SQL>
 
<a name="_Toc78866051" />打开数据库

SQL> alter database open;
 
数据库已更改。
 
SQL>
 
 
<a name="_Toc78866052" />验证恢复

SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            e:\oracle\oradata\test\archive
最早的概要日志序列     85
下一个存档日志序列   88
当前日志序列           88
SQL> conn lunar/lunar
已连接。
SQL> select * from test;
        22
        23
       100
       111
 
已选择4行。
 
SQL>
 
页: [1]
查看完整版本: 丢失全部数据文件的恢复(不包括control和redo)