Oracle RMAN(基于catalog) 配置与使用步骤

 一、 简介

  RMAN(Recovery Management)是一款Oracle自带的备份恢复工具软件,是DBA的一个重要工具。专门用于数据库的备份、恢复、修复操作,同时自动管理备份。

  二、 特点

  1、功能类似于物理备份,但是比物理备份更加强大

  2、可以压缩空块、检测坏块,并且在数据块的水平上做增量备份。

  3、可以把备份输出打包为备份集(backupset),也可以根据需求切割备份集。

  4、 备份与恢复的过程可以自动管理,也可以使用脚本。

  三、 环境

  操作系统:windows 7 专业版 64位

  数据库版本: oracle 11g R2 64位

  四、 配置

  1、 创建用户

  1.1 创建rman表空间并指定大小

  create tablespace rman_tbsdatafile 'D:appAdministratororadataheherman_tbs.dbf' size 2G;

  1.2 创建rman用户,指定表空间

  create user rman identified by rman defaulttablespace rman_tbs;

  1.3 为rman用户授权

  create user rman identified by rman defaulttablespace rman_tbs;

  1.4 创建并注册恢复目录

  rman target rman/rman@hehe catalogrman/rman@hehe

  create catalog tablespace rman_tbs;

  register database; (unregisterdatabase 注销)

  不注册恢复目录,create 时会出现rman-20001错误未注册恢复目录

  

  2、 设置归档

  1、 查看归档模式

  select log_mode from v$database;

  archive log list;

  2、 设置归档模式

  Shutdown immediate;

  Startup mount

  Alter database (no)archivelog

  3、 设置归档路径

  Alter system set log_archive_dest_1='location=D:appAdministratororadataarchivelog';

  Alter systemset standby_archive_dest='';

  4、 归档参数

  Log_archive_dest_n=’location=’;

  --设置本地归档路径

  Log_archive_dest_n=’service=zwy’;

  --设置远程归档路径(zwy网络服务名必须在tnsnames文件内有解析)

  Log_archive_dest_state_n=defer/enable;

  --禁用/启用对应的归档路径

  Log_archive_dest、standby_archive_dest这两个参数和log_archive_dest_n参数无法同时使用。

  五、 RMAN备份脚本

  1、创建脚本

  create (global) zwy

  comment 'level 0 backup for database hehe'

  --脚本说明

  {

  allocatechannel ch1 device type disk;

  --分配备份通道指定类型

  backupspfile format 'd:rmanspfile.ora';

  --备份参数文件

  backup ascopy current controlfile format 'd:rmancontrol01.ctl';

  --备份当前使用的控制文件

  backupincremental level 0 database format 'd:rman%d_%T_%u.bak'

  --对数据库进行0级备份

  plusarchivelog format 'd:rmanarch_%u.log';

  --加所有归档日志

  releasechannel ch1;

  --释放通道

  }

  2、 将脚本生成本地文档

  print (global) zwy to file 'd:_oraclerman.txt';

  3、 本地文档变为rman脚本

  create (global) zwy from file 'd:_oraclerman.txt';

  4、 列出所有脚本

  list all/global names

  5、 查看脚本内容

  print (global) zwy

  6、 删除脚本

  delete zwy

  

  

  六、 备份源数据

  运行备份脚本

  run {

  execute zwy;

  }

  或

  run {

  allocate channel ch1 device typedisk;

  backup spfile format'd:rmanspfile.ora';

  backup as copy current controlfile format'd:rmancontrol01.ctl';

  backup incremental level 0 databaseformat 'd:rman%d_%T_%u.bak'

  plus archivelog format 'd:rmanarch_%u.log';

  release channel ch1;

  }

  单独备份参数文件和控制文件

  

  0级备份数据库和归档日志

  

  

  

  备份源数据时,若出现ora-19625 找不到指定归档日志文件,或者归档日志丢失,需要执行以下命令:

  changearchivelog all crosscheck; ——交叉验证所有归档日志

  (crosscheckarchivelog all)

  deleteexpired archivelog all; ——删除过期的归档

  七、 恢复

  1、 创建数据库实例

  C:> oradim -new-sid hehe -startmode auto -spfile

  rman target /

  2、 启动数据库到非挂载状态

  RMAN> startupnomount;

  3、 恢复参数文件(创建相应路径的文件夹)

  RMAN> restorespfile from 'd:rmanhehe.ora';

  4、 恢复控制文件(创建相应路径的文件夹)

  RMAN> restorecontrolfile from 'd:rmancontrol01.ctl;

  

  5、 启动数据库到挂载状态

  RMAN> alterdatabase mount;

  此时可能会报错:

  ORA-01103: 控制文件中的数据库名 ''HEHE'' 不是''DUMMY''

  需要关闭数据库,然后再启动到nomount

  再次执行alter database mount;

  此时又报错:

  ORA-00205: 标识控制文件时出错, 有关详细信息, 请查看预警日志

  查看预警日志D:appAdministratordiagrdbmshehehehealertlog.xml

  

  提示无法在指定位置找到控制文件。恢复的参数文件中指定的有控制文件的位置,从之前的控制文件恢复目录内把控制文件copy到指定目录下,更名。

  6、将归档日志、备份片加入编目

  RMAN> catalog backuppiece 'path';

  RMAN> catalog archivelog 'path'; (如果归档日志是单独备份,则需要加上这条命令,如果是plus在database的备份集内,则不需要加)

  

  7、恢复数据库

  RMAN> restore database;

  8、启动数据库

  RMAN> alter databse open resetlogs;

  9、验证恢复结果

  ora-32004 obsoleteor deprecated parameter(s) specified for RDBMS instance

  手动创建参数文件时可能会报错,因为参数文件中有没用的参数,注释掉即可,也可在alert日志内查看。

  八、 RMAN中各个配置

  1、 保留策略冗余

  Configureretention policy to redundancy 3;

  Configureretention policy to recovery window of 7days;

  Configureretention policy clear;

  2、 备份优化开/关

  Configurebackup optimization on;

  Configurebackup optimization off;

  Configurebackup optimization clear;

  3、 默认设备类型

  Configuredefault device type to disk; --默认磁盘设备

  Configuredefault device type to sbt; --SBT-TAPE磁带设备

  Configuredefault device type clear;

  4、 控制文件

  Configurecontrolfile autobackup on;

  Configurecontrolfile autobackup format for device type to disk to ‘/tmp/ctl_%F’;

  Configuresnapshot controlfile name to ‘/tmp/control.snp’;

  Configurecontrolfile autobackup clear;

  Configurecontrolfile autobackup format for device type to disk clear;

  Configuresnapshot controlfile name clear;

  5、 并行通道数

  Configuredevice type disk/sbt parallelism 2;

  Configuredevice type disk/sbt clear;

  Configurechannel device type disk format ‘/tmp/rman_backup_%U’;

  Configurechannel 1 device type disk format ‘/tmp/rman_backup_%U’;

  Configure channel2 device type disk format ‘/tmp/rman_backup_%U’;

  Configurechannel device type disk rate 1200K; --备份速度

  Configurechannel device type disk maxpiecesize 100M; --备份片最大大小

  6、 生成备份副本

  Configuredatafile backup copies for device type disk/sbt to 3;

  Configurearchivelog backup copies for device type disk/sbt to 3;

  Configuredatafile/ archivelog backup copies for device type disk/sbt clear;

  7、 排除选项(exclude)

  Configureexclude for tablespace ‘USERS’;

  Configureexclude clear;

  8、 备份集大小

  Configuremaxsetsize to 1G/1000M/1000000K/unlimited;

  Configuremaxsetsize clear;

  9、 其它辅助选项(auxiliary)

  Configureauxname for datafile 1 to ‘/oracle/auxfiles/aux_1.dbf’

  Configureauxname for datafile 1 clear;

  九、 注意事项

  1、 RMAN不能用于备份口令文件(密码文件)。

  2、 RMAN启动数据库上的oracle服务器来进行备份或还原。备份、还原、修复是由这些进程驱动的。

  3、 RMAN可以由OEM上的 backup manager GUI来控制。

  4、 RMAN的备份级别分为:数据库级别、表空间级别、文件级别。

  5、 RMAN的备份方式有两种:catalog方式、控制文件方式(nocatalog)

  6、 在RMAN中分别开启会话

  set command id to ‘sess1’

  set command id to ‘sess1’;

  指定cmmand id之后,在会话查询中可以看到以下信息

  

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle RMAN可以通过网络进行远程复制,从Windows到Linux的步骤如下: 1. 在Windows和Linux上安装Oracle数据库,并确保两个数据库都能正常运行。 2. 在Windows上创建一个备份集或者备份文件,并将其存储在本地磁盘上。 3. 在Windows上使用RMAN命令行工具连接到Windows上的Oracle数据库,并将备份集或者备份文件上传到该数据库中。例如,可以使用以下命令将备份集上传到Windows上的Oracle数据库中: ``` RMAN> connect target sys/password@database_name RMAN> connect catalog rman_catalog_owner/password@catalog_database_name RMAN> run { allocate channel ch1 type disk; send backupset 'D:\backup\backupset_file.bkp'; } ``` 4. 在Linux上使用RMAN命令行工具连接到Linux上的Oracle数据库,并从Windows上的Oracle数据库中下载备份集或者备份文件。例如,可以使用以下命令从Windows上的Oracle数据库中下载备份集: ``` RMAN> connect target sys/password@database_name RMAN> connect catalog rman_catalog_owner/password@catalog_database_name RMAN> run { allocate channel ch1 type disk; receive copy of backupset 'D:\backup\backupset_file.bkp'; } ``` 5. 在Linux上恢复备份集或者备份文件。例如,可以使用以下命令恢复备份集: ``` RMAN> connect target sys/password@database_name RMAN> run { allocate channel ch1 type disk; restore database; recover database; } ``` 以上步骤仅供参考,具体操作过程可能因环境和需求的不同而有所差异。在操作过程中,请务必小心谨慎,以免造成不可挽回的损失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值