IT貓撲網:您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉貼|軟件發(fā)布

您當前所在位置: 首頁數(shù)據庫Oracle → 利用dbms backup restore恢復數(shù)據庫

利用dbms backup restore恢復數(shù)據庫

時間:2015-06-28 00:00:00 來源:IT貓撲網 作者:網管聯(lián)盟 我要評論(0)

  進行測試之前先將數(shù)據庫做全備:

  引用

  RMAN> run {

  2> allocate channel ch00 device type disk;

  3> backup database include current controlfile format ‘/backup/full%t’ tag=’FULLDB’;

  4> sql ‘alter system archive log current’;

  5> backup archivelog all format ‘/backup/arch%t’ tag=’ARCHIVELOG’;

  6> release channel ch00;

  7> }

  allocated channel: ch00

  channel ch00: sid=17 devtype=DISK

  Starting backup at 20-JAN-10

  channel ch00: starting full datafile backupset

  channel ch00: specifying datafile(s) in backupset

  including current controlfile in backupset

  input datafile fno=00001 name=/app/oracle/oradata/ora9i/system01.dbf

  input datafile fno=00002 name=/app/oracle/oradata/ora9i/undotbs01.dbf

  input datafile fno=00005 name=/app/oracle/oradata/ora9i/example01.dbf

  input datafile fno=00011 name=/app/oracle/oradata/ora9i/STREAM01.dbf

  input datafile fno=00010 name=/app/oracle/oradata/ora9i/xdb01.dbf

  input datafile fno=00006 name=/app/oracle/oradata/ora9i/indx01.dbf

  input datafile fno=00009 name=/app/oracle/oradata/ora9i/users01.dbf

  input datafile fno=00003 name=/app/oracle/oradata/ora9i/cwmlite01.dbf

  input datafile fno=00004 name=/app/oracle/oradata/ora9i/drsys01.dbf

  input datafile fno=00007 name=/app/oracle/oradata/ora9i/odm01.dbf

  input datafile fno=00008 name=/app/oracle/oradata/ora9i/tools01.dbf

  channel ch00: starting piece 1 at 20-JAN-10

  channel ch00: finished piece 1 at 20-JAN-10

  piece handle=/backup/full708756233 comment=NONE

  channel ch00: backup set complete, elapsed time: 00:02:26

  Finished backup at 20-JAN-10

  Starting Control File and SPFILE Autobackup at 20-JAN-10

  piece handle=/app/oracle/product/9.0.2/dbs/c-2494723682-20100120-00 comment=NONE

  Finished Control File and SPFILE Autobackup at 20-JAN-10

  sql statement: alter system archive log current

  Starting backup at 20-JAN-10

  current log archived

  channel ch00: starting archive log backupset

  channel ch00: specifying archive log(s) in backup set

  input archive log thread=1 sequence=1 recid=254 stamp=708756150

  input archive log thread=1 sequence=2 recid=255 stamp=708756383

  input archive log thread=1 sequence=3 recid=256 stamp=708756383

  channel ch00: starting piece 1 at 20-JAN-10

  channel ch00: finished piece 1 at 20-JAN-10

  piece handle=/backup/arch708756383 comment=NONE

  channel ch00: backup set complete, elapsed time: 00:00:02

  Finished backup at 20-JAN-10

  Starting Control File and SPFILE Autobackup at 20-JAN-10

  piece handle=/app/oracle/product/9.0.2/dbs/c-2494723682-20100120-01 comment=NONE

  Finished Control File and SPFILE Autobackup at 20-JAN-10

  released channel: ch00

  假設現(xiàn)在數(shù)據庫異常宕機

  引用

  SQL> shutdown abort

  ORACLE instance shut down

  啟動數(shù)據庫至nomount狀態(tài)

  引用

  SQL> startup nomount

  ORACLE instance started.

  Total System Global Area 1125193868 bytes

  Fixed Size 452748 bytes

  Variable Size 335544320 bytes

  Database Buffers??? 788529152 bytes

  Redo Buffers???? 667648 bytes

#p#副標題#e#

  1、利用dbms_backup_restore恢復控制文件

  SQL> DECLARE

  2? devtype varchar2(256);

  3? done boolean;

  4? BEGIN

  5? devtype := dbms_backup_restore.DeviceAllocate(type => ",ident => ‘testctl’);

  6? dbms_backup_restore.RestoresetdataFile;

  7? dbms_backup_restore.RestoreControlFileto(’/app/oracle/oradata/ora9i/control01.ctl’);

  8? dbms_backup_restore.RestoreBackupPiece(’/backup/full708756233′,done => done);

  9? dbms_backup_restore.RestoresetdataFile;

  10? dbms_backup_restore.RestoreControlFileto(’/app/oracle/oradata/ora9i/control02.ctl’);

  11? dbms_backup_restore.RestoreBackupPiece(’/backup/full708756233′,done => done);

  12? dbms_backup_restore.RestoresetdataFile;

  13? dbms_backup_restore.RestoreControlFileto(’/app/oracle/oradata/ora9i/control03.ctl’);

  14? dbms_backup_restore.RestoreBackupPiece(’/backup/full708756233′,done => done);

  15? dbms_backup_restore.DeviceDeallocate;

  16? END;

  17? /

  PL/SQL procedure successfully completed.

  當然也已可用rman進行控制文件恢復

  引用

  RMAN> restore controlfile from ‘/app/oracle/product/9.0.2/dbs/c-2494723682-20100120-00′;

  Starting restore at 20-JAN-10

  using channel ORA_DISK_1

  channel ORA_DISK_1: restoring controlfile

  channel ORA_DISK_1: restore complete

  replicating controlfile

  input filename=/app/oracle/oradata/ora9i/control01.ctl

  output filename=/app/oracle/oradata/ora9i/control02.ctl

  output filename=/app/oracle/oradata/ora9i/control03.ctl

  Finished restore at 20-JAN-10

  2、利用dbms_backup_restore恢復數(shù)據文件

  引用

  SQL> DECLARE

  2? devtype varchar2(256);

  3? done boolean;

  4? BEGIN

  5? devtype := dbms_backup_restore.DeviceAllocate (type => ",ident => ‘testdatafile’);

  6? dbms_backup_restore.RestoreSetDatafile;

  7? dbms_backup_restore.RestoreDatafileTo(dfnumber => 1,toname => ‘/app/oracle/oradata/ora9i/system01.dbf’);

  8? dbms_backup_restore.RestoreDatafileTo(dfnumber => 2,toname => ‘/app/oracle/oradata/ora9i/undotbs01.dbf’);

  9? dbms_backup_restore.RestoreBackupPiece(done => done,handle => ‘/backup/full708756233′, params => null);

  10? dbms_backup_restore.DeviceDeallocate;

  11? END;

  12? /

  PL/SQL procedure successfully completed.

  3、利用dbms_backup_restore恢復歸檔日志

  引用

  SQL> DECLARE

  2? devtype varchar2(256);

  3? done boolean;

  4? BEGIN

  5? devtype := dbms_backup_restore.DeviceAllocate (type => ",ident => ‘testarchlog’);

  6? dbms_backup_restore.RestoreSetArchivedLog(destination=>’/app/oracle/product/9.0.2/dbs/arch’);

  7? dbms_backup_restore.RestoreArchivedLog(thread=>1,sequence=>1);

  8? dbms_backup_restore.RestoreArchivedLog(thread=>1,sequence=>2);

  9? dbms_backup_restore.RestoreArchivedLog(thread=>1,sequence=>3);

  10? dbms_backup_restore.RestoreBackupPiece(done => done,handle => ‘/backup/arch708756383′, params => null);

  11? dbms_backup_restore.DeviceDeallocate;

  12? END;

  13? /

  PL/SQL pro

關鍵詞標簽:dbms backup restore恢

相關閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據庫實例的控制文件 誤刪Oracle數(shù)據庫實例的控制文件 為UNIX服務器設置Oracle全文檢索 為UNIX服務器設置Oracle全文檢索

相關下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據處理 Oracle刪除表的幾種方法