理解数据库备份
所谓备份实际上是把数据库复制到转储设备的过程。
从备份方式来看数据库备份分为物理备份和逻辑备份,物理备份是把构成数据库的所有文件拷贝到指定的位置的过程,而逻辑备份只是利用SQL语言从数据库中抽取并存于二进制文件的过程。实际备份任务中主要采用物理备份,逻辑备份只用作物理备份的补充。
物理备份的分类:
RMAN备份前要知道的信息:
Time?\\何时备份的;
File?\\备份了哪些文件;
Where?\\备份到哪个路径;
RMAN备份运行模式
Nocatalog——备份信息放在目标数据库中;
Catalog——备份信息放在独立数据库中(也称目录数据库)。
RMAN备份有如下优点
1. 支持在线热备份;
2. 支持多级增量备份;
3. 支持并行备份、恢复;
4. 减少所需要备份量;
5. 备份、恢复使用简单;
RMAN和备份数据库的关系图:
目录数据库执行步骤
执行命令如下——
1. 创建表空间,用于存储备份信息。
SQL>create tablespace rmantbs datafile ‘d:/rmantest/rmantbs01.dbf’ size 32m;
2. 创建用户,用于管理备份信息。
SQL>create user rman identified by rman default tablespace rmantbs temporary tablespace temp;
3. 授权。
SQL>grant connect, resource, recovery_catalog_owner to rman;
4. 创建恢复目录。
RMAN>create catalog;
5. 注册目标数据库。
RMAN>register database;
RMAN备份参数设置
RMAN>show all;(显示RMAN备份参数设置)
RMAN> configure default device type to disk;(设置默认的备份设备为磁盘)
RMAN> configure device type disk parallelism 2;(设置备份的并行级别,通道数)
RMAN> configure channel 1 devicetype disk format ‘/backup1/backup_%U‘; (设置备份的文件格式,只适用于磁盘设备)
RMAN> configure channel 2 device type disk format ‘/backup2/backup_%U‘; (设置备份的文件格式,只适用于磁盘设备)
RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份)
RMAN> configure controlfile autobackup format for device type disk to ‘/backup1/ctl_%F‘; (设置控制文件与服务器参数文件自动备份的文件格式)
部署备份策略:
制作脚本文件dbbak.sql放在F:\rmanback下。
run
{
allocate channel c1 device type disk;
backup incremental level=0 database format ‘F:\rmanback\%t_%d_%u.bak‘;
delete noprompt obsolete;
backup archivelog all delete input format ‘F:\rmanback\log\%t_%d_.arch‘;
}
制作批命令加入windows任务计划中。
rman target sys/[email protected] cmdfile=‘F:\rmanback\dbbak.sql‘ log=‘F:\rmanback\dbbak.log‘
快闪恢复区(flash recovery area):
是存储与备份和恢复数据文件以及相关信息的存储区。其优点是,实现了备份文件的自动管理,使得备份与恢复数据更简单(指令更简洁),并且可以集中管理磁盘空间。
修改快闪恢复区参数:
SQL>alter system set db_recovery_file_dest = ‘f:\flashrecovery_area’;
---修改恢复目录路径;
SQL>alter system set db_recoverry_file_dest_size=2g;
---修改恢复目录大小;
SQL> show parameter db_recovery_file_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string d:\Oracle10g\oracle\product\10
.2.0\db_1\flash_recovery_area
db_recovery_file_dest_size big integer 2G
---查看目前快闪恢复区参数;
RMAN恢复命令
RMAN> blokrecover datafile 6 block 118 from backupset;
---由于6号文件118个数据块丢失用RMAN进行恢复
* 更多命令请自行百度…….