flashbackup备份失败怎么办?试试这几个解决方法!

吉云

今儿个,咱来聊聊 flashbackup 这玩意儿。我也不知道这是个就知道好像跟备份有关。后来一查,,原来是 Oracle 数据库里头的一个快速恢复功能。既然碰上,那就鼓捣鼓捣。

准备工作

咱得有个 Oracle 数据库不是?我这儿用的是虚拟机,装个 Oracle 11g。装数据库的过程就不细说,网上教程一大堆,照着来就行。装好之后,先别急着玩 flashbackup,咱还得做点准备工作。

flashbackup备份失败怎么办?试试这几个解决方法!

第一步,得把数据库给折腾到归档模式(ARCHIVELOG)。这就像给数据库开个“后悔药”功能,万一数据丢,还能找回来。咋弄?

  • 连接数据库:用 sqlplus 以 sysdba 身份连上数据库。
  • 查看当前模式:敲个命令 archive log list,看看现在是不是归档模式。
  • 如果不是:

      flashbackup备份失败怎么办?试试这几个解决方法!

    • 先关库:shutdown immediate
    • 再启动到 mount 状态:startup mount
    • 开启归档:alter database archivelog;
    • 打开数据库:alter database open;
  • flashbackup备份失败怎么办?试试这几个解决方法!

搞定归档模式,咱得配置一个叫“快速恢复区”的地儿。这地儿就是用来放备份文件的,Oracle 会自动管理里面的东西,满还会自己清理。

  • 设置恢复区大小:alter system set db_recovery_file_dest_size=10G; (我这儿给 10G,你们自己看着办)
  • 设置恢复区位置:alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'; (路径你们也自己定)

flashbackup备份失败怎么办?试试这几个解决方法!

开始折腾

准备工作做好,咱就可以开始玩 flashbackup 。我这儿用 RMAN(Recovery Manager)来操作,这玩意儿是 Oracle 自带的备份恢复工具,挺好使的。

咱得连上 RMAN:

rman target /

然后,咱就可以开始备份。最简单的,来个全库备份:

backup as compressed backupset database plus archivelog;

flashbackup备份失败怎么办?试试这几个解决方法!

这条命令会把整个数据库,还有归档日志,都给备份。备份的时候,RMAN 会自动用上 flashbackup 技术,速度那是杠杠的。我这儿一个几百兆的数据库,几秒钟就搞定。备份完,RMAN 会告诉你备份文件在哪儿,长啥样。

光备份还不行,咱还得试试恢复。万一哪天数据库真挂,咱还得靠备份来救命。

先模拟一下数据库挂掉的情况。我这儿简单粗暴点,直接把数据库文件给删。

  • 查看数据文件

      flashbackup备份失败怎么办?试试这几个解决方法!

    • 连接数据库:用 sqlplus 以 sysdba 身份连上数据库。
    • 查看数据文件路径与文件名:select name from v$datafile;
    • 关闭数据库实例:shutdown abort;
  • 删除数据文件

    flashbackup备份失败怎么办?试试这几个解决方法!

    • 使用rm命令:切换到查看到的数据文件目录,使用rm -f命令加需要删除的数据文件名,这里需要注意对应好系统的数据文件

然后,咱再用 RMAN 来恢复:

flashbackup备份失败怎么办?试试这几个解决方法!

  • 启动实例到nomount状态:startup nomount;
  • 连接RMAN工具:rman target /
  • 恢复控制文件:restore controlfile from autobackup;
  • 启动到mount状态:alter database mount;
  • 恢复数据库:restore database;
  • flashbackup备份失败怎么办?试试这几个解决方法!

  • 打开数据库重置日志:recover database;
  • 打开数据库:alter database open resetlogs;

等着 RMAN 跑完,数据库就回来。看看,是不是挺简单的?

一点心得

flashbackup 这玩意儿,确实挺好使的,备份恢复速度快,操作也简单。不过这只是 Oracle 众多备份恢复方法中的一种,具体用哪种,还得看实际情况。比如,如果你的数据库特别大,全库备份可能就不太合适,得考虑增量备份或者表空间备份。备份恢复这事儿,得多琢磨,多实践,才能找到最适合自己的方法。

flashbackup备份失败怎么办?试试这几个解决方法!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]