1、备份内容
数据文件
控制文件
参数文件
归档日志:日志切换时备份的日志文件
10个归档路径
正常数据库:设2~3可以,最终拷贝(刻光盘、
拷贝到其他磁盘,磁带)
在线日志:日志组,多个成员分散到不同磁盘上
密码文件:可以重建
2、非归档模式备份恢复
关闭数据库
拷贝所有文件
启动数据库
C:\oracle\product\10.2.0\oradata\orcl
C:\oracle\product\10.2.0\db_1\database
恢复练习 1
SQL> create tabletest(id number) tablespace users;
表已创建。
SQL> insertinto test values(100);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select *from v$log;
GROUP# | THREAD# | SEQUENCE# | BYTES | MEMBERS | ARC | STATUS | FIRST_CHANGE# | FIRST_TIME
|
1 | 1 | 8 | 52428800 | 1 | no | current | 685510 | 14-6月 -11
|
2 | 1 | 6 | 52428800 | 1 | no | inactive | 641433 | 27-2月 -11
|
3 | 1 | 7 | 52428800 | 1 | no | inactive | 661742 | 02-3月 -11
|
SQL> shutdownimmediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
查看需要恢复的文件
SQL>selectfile#,name from v$datafile;
SQL>selectfile# from v$recover_file;
查看恢复数据库需要的日志(不包含在线日志)
SQL> selectsequence#,archive_name from v$recovery_log;
未选定行
恢复
recover datafile4;
recover database;//恢复所有文件
SQL> alterdatabase open;
数据库已更改。
SQL> select *from test;
ID
----------
100
恢复练习 2
insert into testvalues(200);
commit;
alter systemswitch logfile;
alter systemswitch logfile;
alter systemswitch logfile;
shutdown immediate
拷贝备份的数据文件
startup
SQL> selectfile# from v$recover_file;
FILE#
----------
4
SQL> selectsequence#,archive_name from v$recovery_log;
SEQUENCE#
----------
ARCHIVE_NAME
-------------------------------------------------------------
8
SQL> select *from v$log;
GROUP# | THREAD# | SEQUENCE# | BYTES | MEMBERS | ARC | STATUS | FIRST_CHANGE# | FIRST_TIME
|
1 | 1 | 11 | 52428800 | 1 | no | current | 688249 | 14-6月 -11
|
3 | 1 | 10 | 52428800 | 1 | no | inactive | 688245 | 14-6月 -11
|
2 | 1 | 9 | 52428800 | 1 | no | inactive | 688243 | 14-6月 -11
|
日志序列号是 的日志已经被覆盖,数据库不能恢复到
最新,只能恢复到备份点
shutdown immediate
拷贝所有备份的数据文件、控制文件、日志文件
startup