RMAN学习笔记03——备份
基础知识准备得差不多了,今天开始进入RMAN备份的实际演练。RMAN的备份提供了非常多的种类选择,例如冷备、热备、全库备份、数据文件备份、Log备份、controlfile备份等等,非常全面。当然实际环境中的备份基本都是使用脚本进行,但是这里先学习一下单条命令的语法和格式处理:
一、Copy备份:
Copy用于数据文件的备份,可以复制单个数据文件、归档日志和控制文件等等。(其实跟OS里的复制粘贴是一个道理)
具体语法如下:
COPY KEYWORD <input_file> TO <location> ;
其中:input_file用文件地址'D:\oracle\oradata\dodo\WXQ_TBS.ORA'来表示需要备份的单个数据文件。
KEYWORD说明了文件的类型,包括:
DATAFILE: 备份数据文件
CURRENT CONTROLFILE: 备份控制文件
ARCHIVELOG: 备份归档日志
DATAFILECOPY: 备份已经备份的数据文件
CONTROLFILECOPY: 备份已经备份的控制文件
BACKUPPICE: 备份已经使用BACKUP备份的文件
举例说明:
RMAN> copy datafile 'D:\oracle\oradata\dodo\XDB01.DBF' to 'D:\oracle\oradata\dodo\rmanback\test1.cp';
RMAN> copy current controlfile to 'D:\oracle\oradata\dodo\rmanback\test2.cp';
注:current controlfile 不能制定文件名
二、BackUp备份:
BACKUP是对数据的备份,可以备份某个表空间或者整个数据库,语法如下:
BACKUP [level] <backup_type> ;
LEVEL为备份增量级,取值为FULL(全备份)或INCREMENTAL(增量备份)
BACKUP_TYPE为备份的数据库对象类型,包括以下几类:
1.备份数据库:
①
RMAN> BACKUP DATABASE FORMAT 'e:\oradata\backup\%U';
注:若不加FORMAT则自动复制到自己设定的默认channel目录里,若没有默认设置,则备份到ORACLE_HOME/database下
②
RMAN> run {
2> allocate channel ch1 device type disk format 'e:\oradata\backup\%U';
3> allocate channel ch2 device type disk format 'e:\oradata\backup\%U';
4> BACKUP DATABASE;}
注:备份之后可使用一下命令显示备份信息
RMAN> list backup of database;
2.备份表空间:
①
RMAN> BACKUP TABLESPACEUSERS FORMAT 'e:\oradata\backup\%U';
②
RMAN> configure channel 1 device type disk format 'e:\oradata\backup\%U';
RMAN> BACKUP TABLESPACEUSERS;
注:channel后面跟的为号数,不是名字,不能用ch1
③
RMAN> run {
2> allocate channel ch1 device type disk format 'e:\oradata\backup\%U';
3> BACKUP TABLESPACE SYSTEM;}
注:查看备份信息
RMAN> list backup of tablespace users;
3.备份数据文件:
首先需要使用以下SQL来确定每个datafile的编号:
select file_name,file_id,tablespace_name from dba_data_files;
①
RMAN> BACKUP DATAFILE 1,2,3;
注:
RMAN> list backup of datafile n;
4.备份控制文件:
①
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> configure controlfile autobackup format for device type disk to 'e:\oradata\backup\ctl_%F';
设置自动备份controlfile,以后任何操作都会自动备份到相应地址
②
对于SYSTEM TABLESPACE会自动备份CONTROLFILE
③
RMAN> BACKUP CURRENT CONTROLFILE;
④
在其他的备份操作中加入CONTROLFILE备份
RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE;
注:查看备份情况 RMAN> list backup of controlfile;
5.备份归档文件:
①
RMAN> BACKUP ARCHIVELOGALL [DELETE INPUT,DELETE ALL INPUT];
ALL
:备份全部归档日志
DELETE INPUT
:备份结束后删除已经备份的归档日志
DELETE ALL INPUT
:备份结束后删除归档目录中的所有文件
②
在其他的备份操作中加入ARCHIVELOG备份
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
PLUS ARCHIVELOG的工作流:
1.运行ALTER SYSTEM ARCHIVE LOG CURRENT语句对当前redolog进行归档
2.执行BACKUP ARCHIVELOG ALL命令备份所有已归档日志
3.执行BACKUP命令对指定项进行备份
4.再次运行ALTER SYSTEM ARCHIVE LOG CURRENT对当前redolog归档
5.对新生成的尚未备份的归档文件进行备份
查看:RMAN> LIST BACKUP OF ARCHIVELOG ALL;
三、增量备份:
RMAN提供了1-3级的增量备份级别来提高备份速度。
增量备份可以在归档模式和非归档模式下进行,但是在非归档模式下只能进行脱机备份。
RMAN> BACKUP INCREMENTAL LEVEL=1 TABLESPACE system;