欢迎投稿

今日深度:

rman备份优化思路,rman备份

rman备份优化思路,rman备份


本章不讲rman备份原理,只提供一些思路

1.oracle11g 选择压缩算法为中级;

2.增加rman备份的通道。

以上两种做法,增加CPU的利用率,减少IO

3.指定rate参数

这个rate和通道总和不要大于硬盘的IOPS,以免造成IO等待

 

--未完(请持续关注)

谢谢


请解释下Oracle里逻辑备份、物理备份、Rman备份的区别。教科书和百度上的解释不是很懂,谢谢。

Oracle数据库逻辑备份
ORACLE数据库有两类备份方法物理备份该方法实现数据库完整恢复数据库必须运行归挡模式下(业务数据库非归挡模式下运行)且需要极大外部存储设备磁带库;第二类备份方式逻辑备份业务数据库采用此种方式此方法需要数据库运行归挡模式下备份简单而且需要外部存储设备数据库逻辑备份方法ORACLE数据库逻辑备份分三种模式:表备份、用户备份和完全备份

表模式

备份某用户模式下指定对象(表)业务数据库通常采用种备份方式若备份本地文件使用下命令:

exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

若直接备份磁带设备使用下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo

注:磁盘空间允许情况下应先备份本地服务器再拷贝磁带出于速度方面考虑尽量要直接备份磁带设备

用户模式

备份某用户模式下所有对象业务数据库通常采用种备份方式 若备份本地文件使用下命令:

exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_yyyymmdd.dmp
log=exp_icdmain_yyyymmdd.log

若直接备份磁带设备使用下命令:

exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_yyyymmdd.log

注:磁盘有空间建议备份磁盘再拷贝磁带数据库数据量较小采用种办法备份

完全模式

备份完整数据库业务数据库采用种备份方式备份命令

exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y
file=exp_fulldb_yyyymmdd.dmp(磁带设备则/dev/rmt0)
log=exp_fulldb_yyyymmdd.log

对于数据库备份建议采用增量备份即只备份上次备份来更改数据增量备份命令:

exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y inctype=incremental
file=exp_fulldb_yyyymmdd.dmp(磁带设备则/dev/rmt0)
log=exp_fulldb_yyyymmdd.log

注:关于增量备份必须满足下列条件:
1. 只对完整数据库备份有效且第次需要full=y参数需要inctype=incremental参数
2. 用户必须有EXP_FULL_DATABASE系统角色
3. 务量较小时方采用数据库备份
4. 磁盘有空间建议备份磁盘再备份磁带

业务数据库备份方法及周期用EXP进行备份前SYS用户下运行CATEXP.SQL文件(前已运行该文件要执行脚本)
没有特殊说明允许客户端执行备份命令

备份命令参照表模式下备份命令

RMAN备份原理

之前看了用户管理备份恢复管理通过SCN线索贯穿整过程来熟悉了备份原理
RMAN备份过程和用户备份恢复管理有区别多朋友了都没有理清楚原理
下面理解:
RMAN备份数据块工作原理:

原理:RMAN基于备份算法规则来编译要备份数据文件列表基于通道数和同时备份数据文件数RMANORACEL共享内存段
创建些内存缓冲区PGA过有时候内存缓冲区会被推入SGA通道服务进程随开始读取数据文件RMAN缓冲取
填充些数据块缓冲区被填满时输入缓冲区数据会推出输出缓冲区数据文件数据块都会都会发生
memery—to—monery write 过程数据块符合备份标准并且memery—to—monery write操作没有检查
数据corruption则该数据块会被保存输出数据缓冲区输出缓冲区被填满输出缓冲区被填满输出缓冲区内容会被
备份位置(磁盘或者磁带)

RMAN备份数据库过程:
RMAN发出备份全库命令RMAN生成目标数据库bequeath连接说会检查ORACLA_SID变量实例名
例上产生服务器进程sysdba登陆会产生备份通道PGA或者SGA分配存储)RMAN调用
SYS.DBMS_RCVMAN请求数据库结构信息包括控制文件信息(当前序列号创建时间……)由于指定了备份全库RMAN会请求
数据库数据文件信息并判断否存offline数据文件(包括所位置和工作方式)
RMAN开始备份了保持数据致性RMAN必须构建控制文件快照接下来RMAN调用DBMS _BACKUP_RESTORE数据包该调用
创建备份片RMAN拥有文件列表数据文件读取操作分配内存缓冲区分配缓冲区RMAN初始化备份片旦初始化了备份片
RMAN会判断否使用了服务器参数文件使用了则会做备份部分还要备份控制文件才开始备份数据文件其推至内存
了实现功能通道进程磁盘上执行预读取操作并且数据文件读入内存RMAN会判断数据块头信息否仍数据块
没有被使用过会发生输出缓冲区写操作同时会丢弃数据块(RMAN会只备份使用过数据原因优点)
RMAN还会执行检查数据块有没有corruption操作当检查通过了被写入输出缓冲区旦输出缓冲区填满了被推至备份文件位置
备份数据块时候RMAN影子进程会得备份状态信息传给V$session_longops视图查询能得信息
当数据文件所有数据块都被读入输入缓冲区并确定了状态之RMAN会通过数据文件写入备份片来结束该文件备份操作所有
数据文件写入备份片之RMAN生成对SYS DBMS BACKUP RESTORE 数据包调用该调用控制文件写入备份信息(包括
备份片名启动备份操作时检查点SCN和完成备份时间)
至此完成备份

希望大家继续讨论RMAN备份恢复原理(RMAN功能太强大了)

rman 控制文件备份恢复过程?

========================备份控制文件====================

backup current controlfile

backup database include current controlfile
=======================RMAN恢复================

非catalog模式下备份信息存储controlfile文件controlfile文件发生毁坏能能够进行恢复
使用备份时候需要把controlfile也进行自动备份

RMAN>show all;
using target database control file instead of recovery catalog
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/product/10.20/dbs/snapcf_ora10g.f'; # default

CONFIGURE CONTROLFILE AUTOBACKUP OFF; 没有对controlfile进行 autobackup,使用我们需要运行下面命令来对controlfile进行自动备份
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> show all;

手动备份控制文件:
backup current controlfile

Dbid表示databaseID来用于恢复spfile和controlfile时候要用.
RMAN> connect target /
connected to target database: ORA10G (DBID=3988862108)
Dbid=3988862108

RMAN> list backup;查看前备份信息
RMAN>delete backupset 24;//24代表backupset 编号
RMAN>backup format '/u01/rmanbak/full_%T_%U.bak' database plus archivelog;(进行次全备份)

www.htsjk.Com true http://www.htsjk.com/shujukunews/1994.html NewsArticle rman备份优化思路,rman备份 本章不讲rman备份原理,只提供一些思路 1.oracle11g 选择压缩算法为中级; 2.增加rman备份的通道。 以上两种做法,增加CPU的利用率,减少IO 3.指定rate参数 这个...
评论暂时关闭