这类操作适用于使用用户管理备份后对表空间的恢复,当表空间容量受到磁盘空间限制时可以重新定位数据文件到其他位置,这个测试演示了数据文件遭到介质损坏同时表空间容量也受到限制时对数据库的完全恢复。
启动数据库创建表(数据库运行在归档模式下)
SQL> create table test2(col number)
2 tablespace test;
表已创建。
SQL> insert into test2 values(3);
已创建 1 行。
SQL> insert into test2 values(2)
2 /
已创建 1 行。
SQL> insert into test2 values(3);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from test2;
COL
----------
1
2
3
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
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-01157: 无法标识/锁定数据文件 12 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 12: 'E:/ORACLE/ORADATA/DANCLE/TEST01.DBF'
SQL> alter database rename file 'e:/oracle/oradata/dancle/test01.dbf' to 'f:/backup/test01.dbf'
2 /
数据库已更改。
SQL> alter database datafile 12 offline;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> recover tablespace test;
完成介质恢复。
SQL> select count(*) from test2;
COUNT(*)
----------
3
测试结束。