闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕濠氬箯閿燂拷 (0) +1 闂傚倷娴囧畷鍨叏瀹ュ拋鍚嬮柛鈩冾殢娴硷拷 (0) +1 闂傚倸鍊搁崐鎼併偑鐎涙ḿ顩查柣鎴f缁狀垶鏌ㄩ悤鍌涘 (0) +1
闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕鏌ュ垂閸ф钃熼柣鏃囥€€閸嬫挸鈽夊▍顓т簼閹便劑宕惰閺€鑺ャ亜閺囩偞顥為悗姘炬嫹闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏缂傚倷璁查弲鐘诲蓟閻旂⒈鏁嶆繝濠傚枤閺嗩厼顪冮妶鍐ㄥ姷闁瑰嚖鎷�>>

正在阅读:Oracle数据库备份与恢复(3):OS备份数据Oracle数据库备份与恢复(3):OS备份数据

2009-06-15 09:43 出处:PConline 作者:网页教学网 责任编辑:lizhiyan

  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

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

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶鎾煙椤旀娼愰柟宄版嚇瀹曘劍绻濋崒娆愭▕濠电姷顣藉Σ鍛村磻閹捐绠柨鐕傛嫹闂傚倸鍊烽悞锕傚箖閸洖纾块柟鎯版绾剧粯绻涢幋娆忕仼闁哄嫨鍎甸幃姗€鎮欓弶鍨彑婵炲瓨绮嶇划鎾诲蓟濞戙埄鏁冮柨婵嗘椤︺儵姊洪崨濠冾棖闁瑰嚖鎷�