Oracle数据库的冷备及完全恢复


实验环境:CentOS5.0+Oracle11gR2.0

实验目的:练习Oracle数据库在NOACRHIVE模式下的冷备及complete Recovery。原文件的位置:/u01/oradata/denver,恢复到/u01/oradata/md目录中

实验步骤:

第一步:将数据库设置为noarchivelog模式,并进行冷备

[sql]
  1. sys@DENVER> startup mount  
  2. ORACLE instance started.  
  3.   
  4. Total System Global Area  422670336 bytes  
  5. Fixed Size                  1336960 bytes  
  6. Variable Size             314575232 bytes  
  7. Database Buffers          100663296 bytes  
  8. Redo Buffers                6094848 bytes  
  9. Database mounted.  
  10.   
  11. sys@DENVER> alter database noarchivelog  
  12.   2  /  
  13.   
  14. Database altered.  
  15.   
  16. sys@DENVER> archive log list  
  17. Database log mode              No Archive Mode  
  18. Automatic archival             Disabled  
  19. Archive destination            /u01/admin/denver/archdest  
  20. Oldest online log sequence     1  
  21. Current log sequence           1  
  22. sys@DENVER> alter database open;  
  23.   
  24. Database altered.  
  25.   
  26. sys@DENVER> @coldbackup  
coldbackup.sql脚本内容如下:

[sql]
  1. [oracle@oracle11gR2 ~]$ more coldbackup.sql   
  2. Remark Set SQL*Plus variables to manipulate output  
  3. set feedback off heading off verify off trimspool off  
  4. set pagesize 0 linesize 200  
  5.   
  6. Remark set SQL*Plus user variable used in this script  
  7. define dir='/tmp/backup/cold/'  
  8. define fil='/tmp/closed_backup_commands.sql'  
  9. prompt *** Spooling to &fil  
  10.   
  11. Remark Create a command file with file backup commands  
  12. spool &fil  
  13. select 'host cp '|| name ||' &dir' from v$datafile order by 1;  
  14. select 'host cp '|| member ||' &dir' from v$logfile order by 1;  
  15. select 'host cp '|| name ||' &dir' from v$controlfile order by 1;  
  16. select 'host cp '|| name ||' &dir' from v$tempfile order by 1;  
  17. select 'host cp '|| destination ||'/* &dir' from v$archive_dest where dest_id=1;  
  18. spool off;  
  19.   
  20. Remark Shutdown the database cleanly  
  21. shutdown immediate;  
  22.   
  23. Rmemark Run the copy file commands from the operating system  
  24. @&fil  
  25.   
  26. Remark Start the database again  
  27. Startup;  

第二步:模拟磁盘损坏:

remove data file、control file and redo file 

[sql]
  1. [oracle@oracle11gR2 ~]$ cd /u01/oradata/denver  
  2. [oracle@oracle11gR2 denver]$ rm -f *  
第三步:在数据库关闭的情况下,将备份文件restore到md目录下

[sql]
  1. [oracle@oracle11gR2 denver]$ cd /u01/oradata/md  
  2. [oracle@oracle11gR2 md]$ cp /tmp/backup/cold/* .  
  • 1
  • 2
  • 下一页

相关内容