我也曾想过,如果我将数据文件都copy到别处之后再恢复过来是否好使呢,没试过,有谁试试啊,告诉我结果,我估计可用度应该还是有用的...
下面内容是在一个校友那引用来的,简单试了下,一切OK~~
在OracleXE中,备份和恢复是基于RMAN的,并且相关脚本都已经给你写好了,并且放到菜单里了。
而菜单所对应的脚本,存储在这个目录:“D:/oraclexe/app/oracle/product/10.2.0/server/BIN”。
备份
脚本是backup.bat,生成的备份集自动保存到闪回区“flash_recovery_area”。
OracleXE只保存最近两次的完整备份,当你做第三次备份的时候,会自动删除第一次的备份数据。这样做是为了节省磁盘空间。
那么,我们就可以想到一种非常简单的备份方法:使用操作系统的任务调度软件(或第三方软件)来定期执行备份脚本,而不必担心多次备份导致磁盘空间被占满。
在归档模式下,OracleXE提供的是在线(online)备份;非归档模式下提供的是离线(offline)备份。
在线备份是指数据库处于open状态时即可做备份;离线备份是指数据库处于mount状态下做的备份。
备份时所生成的日志,保存在这个目录:“D:/oraclexe/app/oracle/product/10.2.0/server/database”。
其中,文件“OXE_BACKUP_CURRENT.LOG”是本次备份时生成的日志,文件“OXE_BACKUP_PREVIOUS.LOG”是上次备份时生成的日志。
恢复
脚本是restore.bat。
恢复时,自动寻找最新的备份集进行恢复。
归档模式下做的恢复,从备份集中恢复后,会自动应用归档日志文件,所以自备份时间点至故障时间点之间的事务不会丢失;而非归档模式下就没有这么幸运了,只会恢复备份集中的数据。
恢复时所生成的日志,也保存在这个目录:“D:/oraclexe/app/oracle/product/10.2.0/server/database”,文件名称是“OXE_RESTORE.LOG”。
flash recovery area
OracleXE的flash recovery area区保存着归档日志文件和自动备份集,所以应该存储在其他磁盘。这样,如果XE数据库损坏,而存储于其他磁盘的闪回区中的备份集是可用的。那么重新安装后,可以在新数据库中修改参数db_recovery_file_dest来指向原来的闪回区。这样就可以使用XE的自动恢复功能来恢复原来的备份了。
当然,新安装的数据库的在线重做日志文件还在原来的闪回区中,可以通过执行脚本“@?/sqlplus/admin/movelogs.sql”来进行迁移。
对于修改flash recovery area的位置,有一点需要注意:若原来的闪回区中有备份(比如是两个备份)和归档日志,那修改闪回区位置后,使用RMAN做恢复时,仍会使用原来的备份和归档日志。这些备份和归档日志是不会被迁移到新闪回区的。
可别手工把这些东西拷贝到新闪回区噢!oracle已经给我们提供了一个更好的方法:修改闪回区位置后,做两次备份即可。具体原因呢,可以看看上面的
备份。
下面是《2 days dba》中对闪回区的介绍,可能更详细些:
After you change the location of the flash recovery area, Recovery Manager (RMAN) can still use the backups and archived logs in the old location until they become obsolete. The old backups cannot be moved to the new flash recovery area location.
Do not manually delete the contents of the old flash recovery area using operating system utilities. Instead, make the backups in the old flash recovery area location obsolete by backing up your database twice after you change the location of the flash recovery area.
Each time that you back up the database as described in "Backing Up the Database" on page 11-4, obsolete backups and archived logs are deleted so that only the two most recent backups and accompanying archived redo logs are retained. Thus, after the new flash recovery area contains two recent backups, all files are deleted from the old location.
Do not manually delete the contents of the old flash recovery area using operating system utilities. Instead, make the backups in the old flash recovery area location obsolete by backing up your database twice after you change the location of the flash recovery area.
Each time that you back up the database as described in "Backing Up the Database" on page 11-4, obsolete backups and archived logs are deleted so that only the two most recent backups and accompanying archived redo logs are retained. Thus, after the new flash recovery area contains two recent backups, all files are deleted from the old location.