SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 7
下一个存档日志序列 9
当前日志序列 9
SQL> select tablespace_name,file_name from dba_data_files;
TABLESPACE_NAME FILE_NAME
-------------------- ----------------------------------------
USERS F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\
USERS01.DBF
SYSAUX F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\
SYSAUX01.DBF
UNDOTBS1 F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\
UNDOTBS01.DBF
SYSTEM F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\
SYSTEM01.DBF
TABLESPACE_NAME FILE_NAME
-------------------- ----------------------------------------
EXAMPLE F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\
EXAMPLE01.DBF
TEST D:\DATAFILE\TEST.DBF~~~~~~~~~~~~~
已选择6行。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del D:\DATAFILE\TEST.DBF~~~~~~~~~~~~~~~~~~删除 无备份
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 134218432 bytes
Database Buffers 146800640 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'D:\DATAFILE\TEST.DBF'
SQL> select * from v$recover_file;
FILE# ONLINE ONLINE_
---------- ------- -------
ERROR CHANGE#
----------------------------------------------------------------- ----------
TIME
--------------
6 ONLINE ONLINE
FILE NOT FOUND 0
SQL> alter database create datafile 'D:\DATAFILE\TEST.DBf';~~~建立一个
数据库已更改。
SQL> recover datafile 'D:\DATAFILE\TEST.DBf';~~~可以恢复create database 以来建立的datafile 但要求自DATAFILE 建立以来所有redo archivelog都存在(中间resetlogs也
不行了,resetlogs后 之前的archivelog就无用了,oracle 自己最初建立的datafile无法恢复(没有建立时候的记录信息 无法恢复)),要求create datafile的目录与名字与
controlfile中记录的一样
完成介质恢复。
SQL> alter database open;
数据库已更改。
SQL> select file#,name ,status from v$datafile_header;
FILE# NAME STATUS
---------- ------------------------------ -------
1 F:\ORACLE\PRODUCT\10.2.0\ORADA ONLINE
TA\XHTEST\SYSTEM01.DBF
2 F:\ORACLE\PRODUCT\10.2.0\ORADA ONLINE
TA\XHTEST\UNDOTBS01.DBF
3 F:\ORACLE\PRODUCT\10.2.0\ORADA ONLINE~~~~~~~~~~~~~~~~ORACLE 自己建立的datafile
TA\XHTEST\SYSAUX01.DBF
4 F:\ORACLE\PRODUCT\10.2.0\ORADA ONLINE
TA\XHTEST\USERS01.DBF
FILE# NAME STATUS
---------- ------------------------------ -------
5 F:\ORACLE\PRODUCT\10.2.0\ORADA ONLINE
TA\XHTEST\EXAMPLE01.DBF
6 D:\DATAFILE\TEST.DBF ONLINE
已选择6行。
RMAN> backup datafile 3;
启动 backup 于 20-8月 -09
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=144 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00003 name=F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\SYSAUX01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -09
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -09
段句柄=F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\XHTEST\BACKUPSET\2009_08_20\
O1_MF_NNNDF_TAG20090820T223422_58TQQHG5_.BKP 标记=TAG20090820T223422 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:30
完成 backup 于 20-8月 -09
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\SYSAUX01.DBF
SQL> startup
ORACLE 例程已经启动。
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 3: 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\SYSAUX01.DBF'**********************
SQL> alter database create datafile 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\SYS
AUX01.DBF';
alter database create datafile 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\SYSAUX01
.DBF'
*
第 1 行出现错误:
ORA-01178: 文件 3 在最后一个 CREATE CONTROLFILE 之前创建, 无法重新创建~~~~~~~~~~~**************************
ORA-01110: 数据文件 3: 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\SYSAUX01.DBF'
RMAN> run {restore datafile 3 ;
2> recover datafile 3 ;};
启动 restore 于 20-8月 -09
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00003恢复到F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\SYSAUX01.DBF
通道 ORA_DISK_1: 正在读取备份段 F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\XHT
EST\BACKUPSET\2009_08_20\O1_MF_NNNDF_TAG20090820T223422_58TQQHG5_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\XHTEST\BACKUPSET\2009_08_2
0\O1_MF_NNNDF_TAG20090820T223422_58TQQHG5_.BKP 标记 = TAG20090820T223422
通道 ORA_DISK_1: 恢复完成, 用时: 00:07:28
完成 restore 于 20-8月 -09
启动 recover 于 20-8月 -09
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:02
完成 recover 于 20-8月 -09
SQL> alter database open;
数据库已更改。
*****************
修改到别的位置(原位置不可用)
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del D:\DATAFILE\TEST.DBF
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 142607040 bytes
Database Buffers 138412032 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'D:\DATAFILE\TEST.DBF'
SQL> alter database create datafile 3 as 'e:\datafile\test.dbf'; as 到 new destination
alter database create datafile 3 as 'e:\datafile\test.dbf'
*
第 1 行出现错误:
ORA-01178: 文件 3 在最后一个 CREATE CONTROLFILE 之前创建, 无法重新创建
ORA-01110: 数据文件 3: 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\XHTEST\SYSAUX01.DBF'
SQL> alter database create datafile 6 as 'e:\datafile\test.dbf';~~~可以用文件号
数据库已更改。
SQL> recover datafile 6
完成介质恢复。
SQL> alter database open;
数据库已更改。