[实验-视频过程]oracle热备份-单个表空间-备份和恢复操作演示
针对一个表空间的恢复
1、创建表空间
drop tablespace test_backup including contents and datafiles;
CREATE TABLESPACE test_backup DATAFILE '/u01/app/oracle/oradata/orcl/test_back.dbf' SIZE 10M autoextend on;
2、写入测试数据,创建测试表
drop table test_backup purge;
CREATE TABLE test_backup
(
aa NUMBER,
bb VARCHAR2(10)
) TABLESPACE test_backup;
3、插入测试数据,第一条。
insert into test_backup values (1,'test_back1');
commit;
4、将数据库设置备份模式
SQL> ALTER TABLESPACE test_backup BEGIN BACKUP;
Tablespace altered.
5、拷贝数据文件至备份文件中
host cp /u01/app/oracle/oradata/orcl/test_back.dbf /home/backup/xuejiayue/
6、结束备份模式
SQL> ALTER TABLESPACE test_backup END BACKUP;
Tablespace altered.
7、切换日志
SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered.
8、此时再插入数据,插入第二条数据(此时已经备份完成)。
SQL> insert into test_backup values (2,'test_back2');
1 row created.
SQL> commit;
Commit complete.
9、模拟故障,删除数据库文件
host rm -rf /u01/app/oracle/oradata/orcl/test_back.dbf
10、重启数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
startup
11、测试数据表,应该报数据文件错误
SQL> select * from test_backup;
select * from test_backup
*
ERROR at line 1:
ORA-00376: file 6 cannot be read at this time
ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/test_back.dbf'
12、恢复数据库单个表空间数据库文件。
SQL> ALTER DATABASE DATAFILE 6 OFFLINE DROP
2 ;
Database altered.
SQL> host cp /home/backup/xuejiayue/test_back.dbf /u01/app/oracle/oradata/orcl/test_back.dbf
SQL> RECOVER DATAFILE 6
Media recovery complete.
SQL> ALTER DATABASE DATAFILE 6 ONLINE;
Database altered.
12、恢复完成,测试数据。
SQL> select * from test_backup;
AA BB
---------- ----------
1 test_back1
2 test_back2
结果是:两条数据文件都在!!!
height="498" width="710" src="http://player.youku.com/embed/XMTM2MzI0NjcyMA==" allowfullscreen="">