主页 > 创业  > 

rman备份恢复1

rman备份恢复1

前提:

rman用户必须具有sysdba权限

使用常用连接方式如下: rman target / rman target sys/oracle rman target sys/oracle@prod1 catalog dav/oracle@dav_db

一个rman连接会产生两个进程,action字段为空的就是rman的监控进程,另一个是主会话。  

select sid,serial#,module,action from v$session where module like '%rman%'; SID SERIAL# MODULE ACTION ---------- ---------- -------------------------- -------------------------------- 20 20 rman@davdb.us.oracle (TNS V1-V3) 139 45 rman@davdb.us.oracle (TNS V1-V3) 0000001 FINISHED70

rman 备份主要以备份为主 压缩备份:压缩比5:1

一、介绍 1、备份数据文件、归档、控制文件、spfile 2、自动维护备份相关元数据 3、只备份使用过的数据块 4、自动检测坏块 5、可以对备份文件进行压缩 6、支持增量

二、rman体系结构 1、带库不验证备份集好坏。 2、磁带存储灵活性要比阵列好 3、磁盘阵列速度快还稳定 4、使用带库还要买备份软件 5、如果公司生产库有几十套库,可以考虑使用带库 备份时通道一般分配3-6个就可以。

三、rman备份 在oracle8的时候必须使用catalog库,因为rman恢复命令不支持from 备份集的语句,9i以后就不需 要了。 备份集的存储位置必须是oracle数据库服务器能直接读写的位置。

四、备份集数量由以下几个因素决定: a、输入文件的数量:一个备份集至少包含一个输入文件,输入文件不可以跨多个备份集,默认一个备份集最多容纳64个输入文件 b、通道的个数,但是也要看文件的个数是否大于等于通道数,如果小于通道数,那么产生的备份集的数量行于实际文件的个数。 c、并行参数的设置 假设:users表空间有两个数据文件

RMAN> backup tablespace users ;这个命令将产生一个备份集。

a、输入文件的数量:一个备份集至少包含一个输入文件,输入文件不可以跨多个备份集,默认一个备份集最多容纳64个输入文件 RMAN> backup tablespace users filesperset 1;

如果users表空间有两个数据文件,filesperset 1所以一次只能输入一个文件,那这个命令将产生两个备份集。 b、通道的个数,但是也要看文件的个数是否大于等于通道数,如果小于通道数,那么产生的备份集的数量行于实际文件的个数。

RMAN> run{ 2> allocate channel c1 type disk;--这一段命令也是产生两个备份集 3> allocate channel c2 type disk; 4> backup tablespace users; 5> }

c、并行参数的设置,这条命令也产生两个备份集

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2; RMAN> backup tablespace users; RMAN> backup tablespace system section size=100m; --这条命令用来验证一个备份集里可以有多个备份片。 RMAN>configure channel device type disk format '/home/oracle/davbak/%d_%U.FULL' MAXPIECESIZE 20M;

obsolete状态,是针对MAN备份保留策略来说的,超过了这个保留策略的备份,会被标记为 obsolete,但其状态依旧为AVAILABLE,我们可以使用report obsolete来查看已废弃的备份。 删除废弃的备份,可以使用delete noprompt obsolete命令(noprompt是指无需确认): EXPIRED状态的产生,与crosscheck命令是密切相关的,RMAN通过crosscheck命令检查备份是否存在于备份介质上,如果不存在,则状态由AVAILABLE改为EXPIRED。

1、备份表空间的命令  

rman target / rman> backup tablespace users format '/home/oracle/bak/%d_%t_%s_%p.bak'; rman> backup device type disk tablespace users to destination '/home/oracle/bak/'; rman>run{ allocate channel c1 device type disk to destination '/home/oracle/bak/'; allocate channel c2 device type disk to destination '/home/oracle/bak/'; backup (tablespace users channel c1)(tablespace example channel c2); }

2、创建catalog库 sqlplus sys/oracle@prod4 as sysdba 创建catalog库所有的表空间

SQL> create tablespace ts_catalog datafile '/u01/app/oracle/oradata/PROD4/catalog.dbf' size 400m;

创建用户:  

SQL> create user rc_admin identified by RC_ADMIN default tablespace ts_catalog; SQL> grant recovery_catalog_owner,unlimited tablespace to rc_admin; grant connect to catalog; --创建catalog目录: [oracle@dav-PROD2 ~]$ rman catalog rc_admin/RC_ADMIN@prod4 RMAN> create catalog; --注册其实数据库实例到catalog库中: [oracle@dav-PROD2 ~]$ rman target sys/oracle@prod2 catalog rc_admin/RC_ADMIN@prod1 RMAN> register database; --取消注册:unregister database; --升级catalog库与target库之间rman版本 RMAN>upgrade catalog

3、使用catalog方式备份数据库全备:  

[oracle@edsir4p1-PROD2 ~]$ rman target sys/oracle@dav_prod2 catalog rc_admin/RC_ADMIN@dav_prod4 RMAN> backup database format '/home/oracle/rman/prod2_%U.bkp' plus archivelog format '/home/oracle/rman/prod2_%U.arc';

4、给备份集加标签,并做永久保留  

[oracle@davdb-PROD1 ~]$ rman target sys/oracle@davdb catalog rc_admin/RC_ADMIN@prod4 RMAN> backup archivelog all format '/home/oracle/davbak/prod1_%U.arc' tag='Q107' keep forever;

5、压缩备份 加分片,限制备份片大小 备份某个表空间并分成规定大小的备份片: 多段备份:可以将较大的数据文件备份划分为固定大小的多段备份。rman将大的数据文件划分为文件块, 该划分是将文件逻辑划分为连续块,每个文件块使用一个备份集片  

rman>backup tablespace system section size=30m format '/home/oracle/bak/%U'; RMAN> backup as compressed backupset tablespace example format '/home/oracle/bak/%d_%U.BAK';--压缩加分片 RMAN> CONFIGURE channel device type disk maxpiecesize 100m;--通过修改默认参数来控制备份片大小. RMAN> CONFIGURE MAXSETSIZE TO 800M;--通过修改默认参数设置备份集的大小来间接控制备份片的大小;

6、开启块跟踪  

RMAN> CONFIGURE BACKUP OPTIMIZATION ON;--打开备份优化设置通过如下命令 SQL> alter database enable block change tracking using file ' /home/oracle/files/bck.dbf'; select status,filename,bytes from v$block_change_tracking;

7、写一个备份脚本,每周做一次全备,每天做两次归档备份,控制文件自动备份

8、冗余策略: config retention policy to recovery window of 7 days; crontab常用参数: 冗余份数=恢复时间窗口/全备的间隔时间+1 一份=全备+与下次全备之间的归档 crontab -l //查看当前用户下的cron任务 crontab -e //编辑当前用户的定时任务 crontab -u linuxso -e //编辑用户linuxso的定时任务 具体用法和格式: 基本格式 : *  *  *  *  *  command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /usr/local/etc/rc.d/lighttpd restart 上面的例子表示每晚的21:30重启apache。

标签:

rman备份恢复1由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“rman备份恢复1