您现在的位置是:首页 >

calllogbackup怎么删 利用dbmsbackuprestore恢复数据库

火烧 2022-08-09 04:47:02 1073
利用d m acku re tore恢复数据库   进行测试之前先将数据库做全备  引用  RMAN gt ru {   gt allocate cha el ch device ty e di k

利用dbmsbackuprestore恢复数据库  

  进行测试之前先将数据库做全备

  引用

  RMAN> run {

   > allocate channel ch device type disk;

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

   > sql alter system archive log current ;

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

calllogbackup怎么删 利用dbmsbackuprestore恢复数据库

   > release channel ch ;

   > }

  allocated channel: ch

  channel ch : sid= devtype=DISK

  Starting backup at JAN

  channel ch : starting full datafile backupset

  channel ch : specifying datafile(s) in backupset

  including current controlfile in backupset

  input datafile fno= name=/app/oracle/oradata/ora i/system dbf

  input datafile fno= name=/app/oracle/oradata/ora i/undotbs dbf

  input datafile fno= name=/app/oracle/oradata/ora i/example dbf

  input datafile fno= name=/app/oracle/oradata/ora i/STREAM dbf

  input datafile fno= name=/app/oracle/oradata/ora i/xdb dbf

  input datafile fno= name=/app/oracle/oradata/ora i/indx dbf

  input datafile fno= name=/app/oracle/oradata/ora i/users dbf

  input datafile fno= name=/app/oracle/oradata/ora i/cwmlite dbf

  input datafile fno= name=/app/oracle/oradata/ora i/drsys dbf

  input datafile fno= name=/app/oracle/oradata/ora i/odm dbf

  input datafile fno= name=/app/oracle/oradata/ora i/tools dbf

  channel ch : starting piece at JAN

  channel ch : finished piece at JAN

  piece handle=/backup/full ment=NONE

  channel ch : backup set plete elapsed time: : :

  Finished backup at JAN

  Starting Control File and SPFILE Autobackup at JAN

  piece handle=/app/oracle/product/ /dbs/c ment=NONE

  Finished Control File and SPFILE Autobackup at JAN

  sql statement: alter system archive log current

  Starting backup at JAN

  current log archived

  channel ch : starting archive log backupset

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

  input archive log thread= sequence= recid= stamp=

  input archive log thread= sequence= recid= stamp=

  input archive log thread= sequence= recid= stamp=

  channel ch : starting piece at JAN

  channel ch : finished piece at JAN

  piece handle=/backup/arch ment=NONE

  channel ch : backup set plete elapsed time: : :

  Finished backup at JAN

  Starting Control File and SPFILE Autobackup at JAN

  piece handle=/app/oracle/product/ /dbs/c ment=NONE

  Finished Control File and SPFILE Autobackup at JAN

  released channel: ch

  假设现在数据库异常宕机

  引用

  SQL> shutdown abort

  ORACLE instance shut down

  启动数据库至nomount状态

  引用

  SQL> startup nomount

  ORACLE instance started

  Total System Global Area bytes

  Fixed Size                   bytes

  Variable Size             bytes

  Database Buffers          bytes

  Redo Buffers                 bytes

   利用dbms_backup_restore恢复控制文件

  SQL> DECLARE

     devtype varchar ( );

     done boolean;

     BEGIN

     devtype := dbms_backup_restore DeviceAllocate(type => ident => testctl );

     dbms_backup_restore RestoresetdataFile;

     dbms_backup_restore RestoreControlFileto( /app/oracle/oradata/ora i/control ctl );

     dbms_backup_restore RestoreBackupPiece( /backup/full ′ done => done);

     dbms_backup_restore RestoresetdataFile;

     dbms_backup_restore RestoreControlFileto( /app/oracle/oradata/ora i/control ctl );

     dbms_backup_restore RestoreBackupPiece( /backup/full ′ done => done);

     dbms_backup_restore RestoresetdataFile;

     dbms_backup_restore RestoreControlFileto( /app/oracle/oradata/ora i/control ctl );

     dbms_backup_restore RestoreBackupPiece( /backup/full ′ done => done);

     dbms_backup_restore DeviceDeallocate;

     END;

     /

  PL/SQL procedure successfully pleted

  当然也已可用rman进行控制文件恢复

  引用

  RMAN> restore controlfile from /app/oracle/product/ /dbs/c ′;

  Starting restore at JAN

  using channel ORA_DISK_

  channel ORA_DISK_ : restoring controlfile

  channel ORA_DISK_ : restore plete

  replicating controlfile

  input filename=/app/oracle/oradata/ora i/control ctl

  output filename=/app/oracle/oradata/ora i/control ctl

  output filename=/app/oracle/oradata/ora i/control ctl

  Finished restore at JAN

   利用dbms_backup_restore恢复数据文件

  引用

  SQL> DECLARE

     devtype varchar ( );

     done boolean;

     BEGIN

     devtype := dbms_backup_restore DeviceAllocate (type => ident => testdatafile );

     dbms_backup_restore RestoreSetDatafile;

     dbms_backup_restore RestoreDatafileTo(dfnumber => toname => /app/oracle/oradata/ora i/system dbf );

     dbms_backup_restore RestoreDatafileTo(dfnumber => toname => /app/oracle/oradata/ora i/undotbs dbf );

     dbms_backup_restore RestoreBackupPiece(done => done handle => /backup/full ′ params => null);

     dbms_backup_restore DeviceDeallocate;

     END;

     /

  PL/SQL procedure successfully pleted

   利用dbms_backup_restore恢复归档日志

  引用

  SQL> DECLARE

     devtype varchar ( );

     done boolean;

     BEGIN

     devtype := dbms_backup_restore DeviceAllocate (type => ident => testarchlog );

     dbms_backup_restore RestoreSetArchivedLog(destination=> /app/oracle/product/ /dbs/arch );

     dbms_backup_restore RestoreArchivedLog(thread=> sequence=> );

     dbms_backup_restore RestoreArchivedLog(thread=> sequence=> );

     dbms_backup_restore RestoreArchivedLog(thread=> sequence=> );

     dbms_backup_restore RestoreBackupPiece(done => done handle => /backup/arch ′ params => null);

     dbms_backup_restore DeviceDeallocate;

     END;

     /

  PL/SQL procedure successfully pleted

   不完全恢复打开数据库

  引用

  SQL> alter database mount;

  Database altered

  SQL> recover database using backup controlfile;

  ORA : change generated at / / : : needed for thread

  ORA : suggestion : /app/oracle/product/ /dbs/arch/ _ dbf

  ORA : change for thread is in sequence #

  Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

  auto

  ORA : change generated at / / : : needed for thread

  ORA : suggestion : /app/oracle/product/ /dbs/arch/ _ dbf

  ORA : change for thread is in sequence #

  ORA : log file /app/oracle/product/ /dbs/arch/ _ dbf no longer

  needed for this recovery

  ORA : change generated at / / : : needed for thread

  ORA : suggestion : /app/oracle/product/ /dbs/arch/ _ dbf

  ORA : change for thread is in sequence #

  ORA : log file /app/oracle/product/ /dbs/arch/ _ dbf no longer

  needed for this recovery

  ORA : cannot open archived log

   /app/oracle/product/ /dbs/arch/ _ dbf

  ORA : unable to obtain file status

  Linux Error: : No such file or directory

  Additional information:

  SQL> recover database using backup controlfile until cancel;

  ORA : change generated at / / : : needed for thread

  ORA : suggestion : /app/oracle/product/ /dbs/arch/ _ dbf

  ORA : change for thread is in sequence #

  Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

  /app/oracle/oradata/ora i/redo log

  Log applied

lishixinzhi/Article/program/Oracle/201311/18092  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码