90 likes | 236 Views
Oracle数据库日常管理 之数据备份,恢复及迁移 (第四讲 ) 主讲:斩月 新浪微博:http://weibo.com/ylw6006 腾讯微博:http://t.qq.com/redora 博客:http://ylw6006.blog.51cto.com/ 邮箱:ylw6006@163.com. 物理备份介绍. 逻辑备份:是利用SQL语言从数据库中抽取数据并存于二进制文件的过程 物理备份:指将实际组成数据库的操作系统文件 ( 数据文件,日志文件,控制文件 ) 从一处拷贝到另一处的备份过程 物理备份按照备份方式可分为:
E N D
Oracle数据库日常管理 之数据备份,恢复及迁移 (第四讲 ) 主讲:斩月 新浪微博:http://weibo.com/ylw6006 腾讯微博:http://t.qq.com/redora 博客:http://ylw6006.blog.51cto.com/ 邮箱:ylw6006@163.com
物理备份介绍 逻辑备份:是利用SQL语言从数据库中抽取数据并存于二进制文件的过程 物理备份:指将实际组成数据库的操作系统文件(数据文件,日志文件,控制文件)从一处拷贝到另一处的备份过程 物理备份按照备份方式可分为: 冷备份(需要关闭数据库或者在mount状态进行备份) 热备份(需要开启归档模式)两种 物理备份按照备份工具可分为: 手工进行(使用操作系统命令)冷备份,热备份(alter tablespace user begin backup); 使用rman工具进行冷备,热备份 冷备份无法使用增量方式备份数据库,可以使用rman工具对数据库进行增量备份
rman工具介绍 RMAN是ORACLE提供的恢复和备份工具 可以用来备份和恢复数据库文件、归档日志和控制文件; 用来执行完全或不完全的数据库恢复; 与传统工具相比,RMAN具有独特的优势: 1: 跳过未使用的数据块 2: RMAN使用Oracle特有的二进制压缩模式 利用rman工具可以实现什么? 1:创建控制文件二进制备份 2:表空间(1个或多个)或者数据文件(1个或多个),全库级别的备份,增量备份及恢复, 备份或者删除归档日志文件; 3:异机备份与恢复 4:跨平台迁移 5:创建physical standby data guard
rman首选项介绍 RETENTION POLICY :保持策略,冗余和时间窗口,默认冗余 CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 31 DAYS; BACKUP OPTIMIZATION:备份优化,针对只读表空间 CONTROLFILE AUTOBACKUP: 控制文件,spfie文件自动备份 DEFAULT DEVICE TYPE:默认备份文件存储的位置,备份集可以存放在磁盘,闪回区或者磁带机上 DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET: 默认采用backupset的方式进行备份,并行度为1 ENCRYPTION FOR DATABASE:备份加密,可以选择使用TDE加密或者单独密码加密,或者双重加密; set encryption on identified by "123456" only; COMPRESSION ALGORITHM:备份压缩, backup as compressed backupset ARCHIVELOG DELETION POLICY:删除的时候确认归档已经被DATA GUARD应用 configure archivelog deletion policy to applied on standby;(修改隐含参数)
Rman catalog配置 Oracle基于RMAN的备份方式,可分为以catalog 和nocatalog的两种方式进行备份管理。基于catalog的方式需要一个catalog目录数据库,这种方式可以用于用户有多个Oracle数据库的环境; 基于nocatalog的备份管理方式,是将RMAN的备份信息放在控制文件中,由于控制文件的大小不能无限增大,所以在控制文件中只能保留一段时间的备份与恢复信息,这个时间的控制,由一个参数为参考依据,这个参数就是control_file_record_keep_time,默认为7天,表示控制文件里可重复使用的记录所能保存的最小天数。 如果新增加一条记录到控制文件可以重复使用的部分,这时最老的记录尚没有超出最小保留天数,那么记录将控制文件的这一部分将扩展。如果将该参数设置为0,那么控制文件可以重 复使用的部分将永远不会扩展。 SQL> show parameter control_file_record_keep_time; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7
rman备份集介绍 rman备份集有backupset和image copy两种方式 backupset是Oracle默认的备份类型,把数据文件中已经使用过的数据块备份到一个或多个文件中,这样的文件叫做“备份片”,所有备份出来的文件组合成为“backupset” image copy与手工os copy备份数据文件类似,是一个数据文件生成一个镜像副本文件,不同的是这个过程由rman完成,rman复制的时候也是一个数据块一个数据块(Oacle block)的复制,且不需要将表空间置为begin backup状态; 和backupset类型不同的是,在于生成的image copy中包含使用过的数据块,也包含从来没有用过的数据块; 生成image copy的好处在于恢复时速度相对backupset来说要更快,还原(restore)的时候可以用switch命令直接切换到image copy上,然后在从redo log或者archivelog中恢复(recover)
image copy合成 0级镜像拷贝可以作为合成增量备份的基础 1:使用image copy方式对t1表空间进行0级备份 RMAN> backup as copy incremental level 0 format '/home/oracle/rman/t1_%U' tag='t1_0_copy' tablespace t1; 2:查看备份的scn号 RMAN> list backup of tablespace t1; 3: t1表空间写入数据 SQL> create table test1.backup_copy as select * from dba_objects; 4: 使用backupset方式对t1表空间进行累积性增量备份 RMAN> backup cumulative incremental level 1 format '/home/oracle/rman/t1_inr1_%U' tablespace t1 tag 't1_inr1_bak'; 5:使用rman进行备份合成 RMAN> recover copy of tablespace t1; RMAN> list backup of tablespace t1;
rman增量备份 增量备份分差异性,累积性两种; 累积性增量备份平时多备份数据,恢复的时候少走日志,差异性则相反
使用rman备份数据库 脚本演示! format=string 文件路径和名称的格式串,其中可包含宏变量: %c copy ID %p backup piece ID %s backup set ID %e log sequence %h log thread ID %d database name %n database name(x填充到8个字符) %I DBID %f file ID %F DBID, day, month, year, and sequencer的复合 %N tablespace name %t timestamp %M mh mm格式 %Y year yyyy格式 %u backup set+time((x填充到8个字符) %U %u_%p_%c