在上一篇中提到了数据库的一致性备份(见 探索Oracle之RMAN_03非一致性备份 ),操作非常的简单。只需要一条很短的命令即可完成,但是如果要创建一正式库的备份,一般不建议用一致性备份,也不建议用很简单的名来完成。而是更多的采用脚本实现非一致性备份,这样将可通过backup+archive log+redo有效的将数据恢复到最近一次改变的状态,可以达到数据的丢失最小化。
相关阅读:
探索Oracle之RMAN_01概念
探索Oracle之RMAN_02基本使用
探索Oracle之RMAN_03非一致性备份
探索Oracle之RMAN_04非一致性备份
探索Oracle之RMAN_05增量备份
探索Oracle之RMAN_06备份策略
创建非一致性备份
创建非一致性备份数据库必须处于归档(archivelog)模式,因为非一致性备份的数据库文件和控制文件的SCN号可能会不一致。并且可以在数据库打开并不影响业务的情况下完成数据的备份工作;那么这样的备份将是不一致性的备份,那么如果要恢复可以通过backup+archive log+redo来恢复到最近一次日志切换时候的数据,而不是最后一次备份时候的数据。
1.1检查归档状态:
SQL> archive log list;
Database log mode No Archive Mode
Automaticarchival Disabled
Archivedestination USE_DB_RECOVERY_FILE_DEST
Oldest onlinelog sequence 9
Current logsequence 11
SQL>
必须打开归档归档
SQL> shutdown immediate -----打开归档必须将数据库重启到mount状态
Databaseclosed.
Databasedismounted.
ORACLE instanceshut down.
SQL> startup mount;
ORACLE instancestarted.
Total SystemGlobal Area 285212672 bytes
Fixed Size 1218968 bytes
VariableSize 79693416 bytes
DatabaseBuffers 197132288 bytes
RedoBuffers 7168000 bytes
Databasemounted.
SQL> alter database archivelog; ----执行开启归档命令
Databasealtered.
SQL> alter database open; -----打开数据库
Databasealtered.
SQL> colinstance_name format a15
SQL> select instance_name,status from v$instance; ----查看数据库状态
INSTANCE_NAME STATUS
---------------------------------------
WWL OPEN
SQL>
SQL> archive log list; ------查看归档状态,已经是归档状态了
Database log mode Archive Mode
Automatic archival Enabled
Archivedestination USE_DB_RECOVERY_FILE_DEST
Oldest onlinelog sequence 9
Next logsequence to archive 11
Current logsequence 11
SQL>
1.2执行备份 (执行备份命令实际上是跟一致性备份是一样的)
1.2.1 备份数据库
RMAN> backup database;
Starting backupat 23-MAY-12
allocatedchannel: ORA_DISK_1
channelORA_DISK_1: sid=145 devtype=DISK
channelORA_DISK_1: starting full datafile backupset
channelORA_DISK_1: specifying datafile(s) in backupset
input datafilefno=00001 name=/DBData/WWL/system01.dbf
input datafilefno=00003 name=/DBData/WWL/sysaux01.dbf
input datafilefno=00002 name=/DBData/WWL/undotbs01.dbf
input datafilefno=00004 name=/DBData/WWL/users01.dbf
channelORA_DISK_1: starting piece 1 at 23-MAY-12
channelORA_DISK_1: finished piece 1 at 23-MAY-12
piecehandle=/DBBak/bak_WWL_05_23_0anbmtkr_1_1 tag=TAG20120523T121210 comment=NONE
channelORA_DISK_1: backup set complete, elapsed time: 00:01:46
Finished backupat 23-MAY-12
Starting ControlFile and SPFILE Autobackup at 23-MAY-12
piecehandle=/DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120523-00 comment=NONE
Finished ControlFile and SPFILE Autobackup at 23-MAY-12
RMAN>