Oracle之RMAN备份及还原

发表于:2015-4-23 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:mybloges    来源:51Testing软件测试网采编

  RMAN可以进行增量备份:数据库,表空间,数据文件
  只有使用过的block可以被备份成backup set
  表空间与数据文件对应关系:dba_data_files / v$datafile_header
  在noarchivelog模式下,可以使用RMAN备份read-only和offline的表空间
  ORACLE RMAN停机备份:
  备份
  RMAN连接上ORACLE,WINDOWS下在命令模式下
  RMAN TARGET /
  连接本地数据库用的是本地认证模式。RMAN连接数据库必须在dedicate模式下。因此在share模式下的数据库应配置一个dedicate的连接用于RMAN连接。
  如果要把控制文件、参数文件也一起备份
  configure controfile autobackup on;//打开autobackup
  configure controfile autobackup off;//关闭autobackup
  关闭数据库
  RMAN>shutdown immediate
  mount 数据库RMAN的备份必须在MOUNT模式下,这也就是控制文件备份的重要。
  RMAN>startup mount
  最简单的备份
  RMAN>backup database
  就这一句就OK了
  这样的备份,备份集在数据库默认位置。%oracle_home%/ora92/database
  当然你也可以用run来灵活的定义你的备份。
  RMAN>run{
  >allocate chennel d1 type disk; //分配通道
  >backup full database //全备份数据库
  >include current controlfile //包括当前的controlfile
  >format 'e:\oracle\orders\db_%d_%s_%p_%t_%T'; //备份文件位置和文件名格式
  >release channel d1;//释放通道
  >}
  恢复
  1、数据文件损坏,而控制文件是好,或者已经恢复
  RMAN连上数据库
  startup mount
  restore database
  recover database noredo;
  alter database open resetlogs;
  recover database noredo该命令指示RMAN执行最后的恢复操作以准备打开这个数据库。因为是在NOARCHIVELOG模式下并且不应用任何归档的重做日志并且丢失了联机重做日志,所以要求在这条命令中使用noredo参数。
  最后使用alter database open resetlogs打开数据库。由于已经还原了控制文件并且需要重新构建重做日志,所以必须用resetlogs。
  2、还原控制文件
  startup nomount;
  set dbid = <dbid>
  restore controlfile from autobackup ;
  alter database mount;
  restore database;
  recover database noredo;
  alter database open resetlogs;
  alter database open;
  在这个例子中有一个DBID这个可以在select * from v$database中查到。但是一个数据库在控制文件坏掉了不能OPEN如何能看的到呢这就在平时把这个DBID记下来。
  这是最简单的用RMAN备份与恢复的例子,但从中可以看到RMAN备份与恢复的梗概。
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号