3.3 ARCHIVELOG 模式 3.3.1 脱机冷备与恢复 同 NONARCHIVELOG模式 3.3.2 联机热备 联机热备是在数据库运行的情况下进行备份的方法。热备份要求数据库在 Archivelog方式下操作,并需要大量的档案空间。 热备份的优点: 1.可在表空间或数据文件级备份,备份时间短。 2.备份时数据库仍可使用,支持 24*7不间断运行。 3.可达到秒级恢复(恢复到某一时间点上)。 4.可对几乎所有数据库实体作恢复。 5.恢复是快速的,在大多数情况下在数据库仍工作时恢复。 热备份的不足是: 1.不能出错,否则后果严重。 2.若热备份不成功,所得结果不可用于时间点的恢复。 3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。 注意:在热备过程中系统会生成更多的重做日志和回滚数据。所以必须在数据库较空闲时才进行备份。 备份内容:(1) 数据文件: 一个表空间一个表空间地备份 sql> alter tablespace users begin backup; sql> $copy '/xx/xx.dbf ''/yy/yy.dbf' ; sql> alter tablespace users end backup; sql> alter system checkpoint;(只读表空间直接拷贝,不用begin backup) (2) 备份归档 log文件 1)临时停止归档进程 log_archive_max_processes=0 2)log下那些在 archive redo log 目标目录中的文件 3)重新启动 archive 进程 4)备份归档的 redo log 文件 (3) 备份联机的控制文件:sql> alter database backup controlfile to '/xx/xx.ctl'; (4) 备份初始化文件 配置文件 等:sql> $copy …… …… ; 热备脚本:hotback.sql Rem 热备份脚本 for Linux Rem 执行该脚本必须保证数据库处于归档模式 Rem db.dw.dm@gmail.com 2007-03-17 Rem Rem 设置 SQL*Plus环境参数 Rem set feedback off set pagesize 0 set heading off set verify off set linesize 100 set trimspool on Rem 设置备份相关的路径 For Linux Rem 设置数据文件备份路径 define datafile_dir = '/u05/oracle/hotback/datafile' Rem 设置归档日志文件备份路径 define archlog_dir = '/u05/oracle/hotback/archlog' Rem 设置控制文件备份路径 define controlfile_dir = '/u05/oracle/hotback/controlfile' Rem 设置生成的备份脚本名 define hotback = '/u05/oracle/hotback/open_hot_backup.sql' define spoolfile = '/u05/oracle/hotback/spool.tmp' define cpy = 'cp' prompt *** Spooling to &hotback Rem 产生备份数据文件、归档日志文件的命令 set serveroutput on size 1000000 spool &hotback prompt spool &spoolfile prompt archive log list;; prompt alter system switch logfile;; prompt alter system archive log all;; DECLARE CURSOR cur_tablespace IS SELECT tablespace_name FROM dba_tablespaces ORDER BY tablespace_name; CURSOR cur_datafile (tn VARCHAR) IS SELECT file_name FROM dba_data_files WHERE tablespace_name = tn ORDER BY file_name; CURSOR cur_arch_dest IS SELECT value FROM v$parameter WHERE name = 'log_archive_dest'; BEGIN FOR ct IN cur_tablespace LOOP IF ct.tablespace_name!='TEMP' then dbms_output.put_line ('alter tablespace '||ct.tablespace_name||' begin backup;'); FOR cd IN cur_datafile (ct.tablespace_name) LOOP dbms_output.put_line ('host &cp y '||cd.file_name||' &datafile_dir'); END LOOP; dbms_output.put_line ('alter tablespace '||ct.tablespace_name||' end backup;'); end if; END LOOP; FOR dest IN cur_arch_dest LOOP dbms_output.put_line ('host &cpy '|| dest.value || '/* &archlog_dir '); END LOOP; END;/ Rem 产生备份控制文件的命令 prompt alter system archive log current;; prompt alter database backup controlfile to trace;; prompt alter database backup controlfile to '&controlfile_dir/control.bak' REUSE;; prompt archive log list;; prompt prompt ***Hot Backup Finish***; prompt spool off spool off; host rm -f &spoolfile Rem 执行生成的脚本文件 Rem @&hotback Rem host del &hotback
|
闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕鏌ュ垂閸ф钃熼柣鏃囥€€閸嬫挸鈽夊▍顓т簼閹便劑宕惰閺€鑺ャ亜閺囩偞顥為悗姘炬嫹闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏缂傚倷璁查弲鐘诲蓟閻旂⒈鏁嶆繝濠傚枤閺嗩厼顪冮妶鍐ㄥ姷闁瑰嚖鎷�>>
正在阅读:Oracle数据库备份与恢复(3):OS备份数据Oracle数据库备份与恢复(3):OS备份数据
2009-06-15 09:43
出处:PConline
责任编辑:lizhiyan

键盘也能翻页,试试“← →”键