Oracle之RMAN备份及还原

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

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

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

  ORACLE RMAN在线备份:
  1. ORACLE RMAN在线备份之前需要切换日志方式为归档日志;
  a. 关闭数据库
  SQL> shutdown immediate;
  b. 启动数据库到mount状态
  SQL> startup mount;
  c. 启用归档模式
  SQL> alter database archivelog;
  d. 查看修改后的数据库备份和恢复策略及归档文件的位置
  SQL> archive log list;
  注意:修改成archive模式之后,之前所有的数据库备份均无效。
  e. 修改相应的初始化参数
  Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。
  可用SQL> show parameter log_archive_start;查看
  NAME TYPE VALUE
  ------------------------------------ ----------- --------------
  log_archive_start boolean FALSE
  SQL> alter system set log_archive_start=true scope=spfile;
  重启数据库此参数生效,此时数据库处于自动归档模式。
  当然你也可以不做第5步,直接
  SQL>archive log start
  使数据库启用自动归档,但是重启后数据库仍然处于手工归档模式。
  2. 运行:RMAN target /
  3. RMAN信息保存:默认保存在control file中,保存周期7天
  调整:alter system set control_file_record_keep_time=天数;
  4. 搭建独立数据库保存RMAN备份信息
  由于只有一个数据库,就建在本身数据库上
  a. 创建表空间RC:create tablespace rc datafile size 10M autoextend on next 1M
  b. 创建用户RC:
  CREATE USER rc IDENTIFIED BY rc TEMPORARY TABLESPACE temp DEFAULT TABLESPACE rc QUOTA UNLIMITED ON rc;
  c. 授权RC: GRANT RECOVERY_CATALOG_OWNER TO rc;
  d. 搭建:
  rman catalog rc/rc@orcl
  RMAN>create catalog;
  RMAN>exit
  rman target / catalog rc/rc@orcl
  RMAN>register database;
  e. 使用:
  rman target / catalog rc/rc@orcl
  这种连接方式后,数据就会在控制文件和catalog各存一份
  5. 全局参数配置:
  查看:show all;
  修改:configure 参数名称 具体设置
  例如:修改是否自动保存control file:configure controlfile autobackup on;
  恢复默认值:configure 参数名称 clear;
  关键参数:
  a. 保存周期:retention policy
  默认是redundancy 1:保留一个备份;
  可用值:recovery window of 7 days:保留可以满足7天恢复周期的备份
  根据条件检查:report obsolete:RMAN会根据保存周期参数来列出可以删除的备份
  删除多于备份:delete obsolete
  b. 优化备份:backup optimization:RMAN会自动忽略已经备份过的内容(数据文件,归档日志,备份块)
  前提:备份指定同一个channel
  c. 默认备份渠道:default device type to disk:默认备份到磁盘,路径为flash recovery area
  渠道类型:
  disk:文件系统路径
  flash recovery area:默认路径
  sbt:磁带设备
  修改到磁盘其他路径:configure channel device type disk format '路径/%U';
  例如:configure channel device type disk format '/tmp/movedata/%U';
  6. 备份结果
  backupset:backup (as backupset) 备份内容,里面分割成一个或多个backup piece,只有该类型备份可以进行压缩。
  copy:backup as copy 备份内容
  按类型查看:
  backupset 查看:list backup summary(list backupset summary)
  查看详情:list backupset BS
  copy查看:list copy
  按内容查看:
  整个数据库:list backup of database;
  tablespace:list backup of tablespace users;
  数据文件:list backup of datafile n;
  控制文件:list backup of controlfile;
  归档日志:list archivelog all;
  按规则查看:
  查看根据保存规则可删除文件:report obsolete;
  查看根据保存规则需要备份内容:report
  RMAN和OS结合检查:corsscheck 内容;
  7. 备份方式
  full:全备;
  Incremental:增量备份
  可以增量备份的类型:数据库,数据文件,表空间
  a. 首先需要做level 0备份作为基础。例如:backup incremental level 0 备份内容;(备份内容:所有使用过的data block,和image copy不同)
  b. 增量类型:
  累计增量:backup cumulative level 1 备份内容;
  差异增量:backup incremental level 1 备份内容;
  区别:累计增量始终是基于level 0的备份;
  第一次差异增量是基于level 0的备份;从第二开始就是基于前一次增量备份
  c. Image备份增量方式:
  第一次:以Image全备为基础;
  第二次:基于全备,做增量备份;完成后合成成一个Image全备
  第三次:基于第二次的Image全备,做增量备份;完成后合成成一个Image全备
  实现:
  例如:针对tablespace example
  RUN {
  RECOVER COPY OF tablespace example WITH TAG 'incr_update';
  BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_update'
  tablespace example;
  }
  d. 开启参数"block change tracking",可以提高速度
  查看状态:SELECT status FROM v$block_change_tracking;
  默认值:DISABLED
  开启:ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;(默认存放路径OMF中的DB_CREATE_FILE_DEST)
  设置文件路径:
  ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/u01/oradata/MYSID/rman_change_track.f' REUSE;
  关闭:ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
  备份并检查:bakcup check logical 备份内容;
  不备份只是检查文件:backup validate 备份内容;
  如果检查有报错,查看:v$backup_corruption;v$copy_corruption
  8. 备份内容:
  整个数据库:RMAN>backup database;
  经典整库备份:backup as compressed backupset database include current controlfile plus archivelog delete input;
  tablespace:RMAN>backup tablespace 名字;
  数据文件:RMAN>backup datafile n; (n:具体的数据文件编号select file_name,file_id,tablespace_name from dba_data_files;)
  控制文件:RMAN>backup current controlfile;
  或者RMAN>backup database include current controlfile;
  日志文件:RMAN>backup archivelog all;
  或者RMAN>backup database plus archivelog;
  参数文件:RMAN>backup spfile;
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号