calllogbackup怎么删 利用dbmsbackuprestore恢复数据库
利用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 ;

> 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