Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  302 随笔 :: 26 文章 :: 82 评论 :: 0 Trackbacks
RMAN的备份
 
 
 
一、Copy备份:
 
    Copy用于数据文件的备份,可以复制单个数据文件、归档日志和控制文件等等。(其实跟OS里的复制粘贴是一个道理)
    具体语法如下:
    COPY KEYWORD <input_file> TO <location> ;
 
    其中:input_file用文件地址'D:\oracle\oradata\dodo\WXQ_TBS.ORA'来表示需要备份的单个数据文件。
    关键字说明了文件的类型,包括:
    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;
 
 




-The End-

posted on 2008-09-13 23:19 decode360-3 阅读(167) 评论(0)  编辑  收藏 所属分类: Oracle

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问