RMAN备份使用

Oracle备份

Rman备份,oracle secure backup,手工备份

 

手工备份(冷备)

  1、正常关闭数据库,

  2、(冷备脚本)备份数据文件和控制文件

    set feedback off heading off  verify off trimspool off

    set pagesize 0 linesize 200          //设置环境变量

    define dir='/tmp/backup/' 

    define lb='/tmp/lb.sql'

    spool &lb

    select '! cp ' || name || ' &dir' from v$datafile order by 1;

    select '! cp ' || member || ' &dir' from v$logfile order by 1;

    select '! cp ' || name || ' &dir' from v$controlfile order by 1;

    select '! cp ' || name || ' &dir' from v$tempfile order by 1;

    spool off

    shutdown immediate 

    @&lb

    startup . 

 

  备份控制文件: alter database backup controlfile to trace 把控制文件备份到trace中(从start mount 来查看到数据等的备份位置读取数据文件和日志文件路径)。

 

3、备份参数文件和数据库密码。

     cp  $oracle_home/dbs/spfile<sid>.ora   .   cp  $oracle_home/dbs/orapw<sid>   .

 

4、重新在空数据库上面还原数据库

  1、安装一个同版本的数据库

  2、创建侦听

  3、根据备份的pfile文件来创建新数据库所需要的文件夹。

  4、根据控制文件信息,将数据文件和日志文件等恢复到原来路径。

 

 

不关闭数据库备份(rman

 

  一定要将数据库的模式设置为begin backup 模式(备份之后关闭备份模式)

    1、创建一个表,表空间create tablespace 4 datafile user

    2、将表空间设置为备份模式:alter tablespace users begin backup (关闭数据库备份模式alter tablespace users end backup

    3、关闭数据库,删除user01.dbf,重启数据库,数据库启动失败,启动到到mount状态,系统提示user01.dbf丢失

      将tablespace 4 离线,重启数据库到open状态,但是不能查询……

      alter database datafile 4 offline

      alter database open

    4、将该离线文件复制到备份前的位置

    5recovery datafile 4 (逻辑修复,使用redologfile来回复)

    6、将tablespace上线,alter database online

 

 

rman备份

  1rman target /

    映像备份(相当于手工复制)

    backup as copy datafile 4 format '/u01/expdp'  或者 cp datafile 4 to '/u01/expdp'

    备份集:

    backup as backupset datafile 4 format '/u01/expdp'  只备份有数据的数据块

 

  rman参数设置:

  show all

    CONFIGURE retention POLICY TO redundancy 1; # default 配置rman的冗余策略:基于时间基于冗余

    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   默认并行度parallelism1

    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 '/u01/app/oracle/product/10.2.0/db_1/dbs/snapcf_orcl.f'; # default    默认快照的位置

 

  增量备份一定要使用块跟踪。

    alter database enable block check change using file '/u01/'

    定义保留策略(时限):1,通过时间(通过恢复窗口)2、通过冗余

    1、通过恢复窗口:

      RMAN> configure retention policy to recovery windows of 7 days;

    2、通过冗余策略

      RMAN> configure retention policy to redundancy 2;

      RMAN> show retention policy

      RMAN> report obsolete redundancy 2;

      RMAN> delect obsolete;

 

  备份控制文件

    备份控制文件到trace:   alter databse backup controlfile to trace

 

  命令---------------------------------

    1 整库的备份

       backup database ;

       backup database format '/u01/backup/bak_%U'

     查看创建的全库备份

     list backup of database ;

 

  2 表空间的备份

      backup tablespace users;

      list backup of tablespace users;

     删除备份: delete backupset 10;

            delete backupset 10 noprompt

     noprompt没有提示信息

 

  3 数据文件备份

    可以对名称也可以对file_id

    select file_id,file_name  from dba_data_files;

    backup datafile 4;

    backup datafile '/u01/app/oracle/oradata/orcl/users01.dbf'

  查看数据文件的备份

    list backup of  datafile n

    如果要查看多个文件 n=多个序号,并用逗号隔开

 

  4 控制文件备份

    a.手动执行控制文件备份

      backup current controlfile ;

      b.执行backup命令时指定include current controlfile 

        backup database include current controlfile ;

      c.备份系统表空间会触发去备份控制文件

        backup datafile 1;

    d.通过configure 命令将controlfileautobackup 设置为on

       configure controlfile autobackup on ;

      查看list backup of controlfile ;

 

    5 归档文件备份

      归档日志文件对数据库恢复相当关键。

    a.利用backup archivelog 命令

      backup archivelog all;

      backup archivelog all delete all input

      备份所有的归档并且把输入备份的归档删除!

      all 指备份当前所有可访问到的归档日志文件。

      until ,scn ,time ,sequence

    b.执行backup命令时,指定plus archivelog 子句

      backup current controlfile plus archivelog ;

      在备份控制文件之前,先对所有归档文件进行备份

 

backup ... plus archivelog 命令执行的操作

  a. 运行alter system archive log current 对当前redolog进行归档 (每次日志组切换的时候,也会做一次归档)

  b. 执行backup archivlelog all命令备份所有已经归档日志

  c. 执行backup 命令指定项进行备份

  d 在次运行alter system archivelog current 对当前redoglog归档

  e 对新生成的尚未备份的归档进行备份

 

  查看已经备份的归档日志片段

    list backup of archivelog all;

  6 初始化参数文件备份

    RMAN自动备份服务器的初始化参数文件,并置于控制文件的备份片段中。极少需要对spifle备份

    backup spfile ;

 

  7备份备份集

    最佳应用备份集的需求是创建备份集到磁带。

    backup backupset all;

    备份指定的备份集

    backup backupset n;( n=备份集ID,可以指定多个)

 

 

RMAN命令:

显示RMAN默认配置:show 

  show all;

  #default 表示初始化默认值

列出备份信息--list命令

  查看备份集、备份镜像、归档文件等

 a.列出所有备份信息

   list backup ;

 b. 列出所有备份控制文件信息

    list backup of controlfile ;

 c.列出指定数据文件的备份

     list backup of datafile 4;

 d.列出所有备份归档文件信息

 list backup of archivelog all;

 e.列出表空间备份信息

  list copy of tablespace 'users'

 f.列出当前的所有归档

   list archivelog all

 g.列出所有无效备份

   list expired backup;

 

删除备份---delete 命令

a.删除过期备份,RMAN根据备份冗余策略确定备份是否过期

  report obsolete ;

  delete obsolete ;

b.删除无效备份:首先执行crosscheck 命令核对备份集,如果发现备份无效,RMAN会对该备份集标记为expired 

删除 delete expired backup ;

c.删除expired 副本 

 delete expired copy;

d.删除指定的备份集

 delete backupset 1;

f.删除指定备份片

delete backuppiece  '/u01/aa.bak'

g.删除特定映像副本

delete datafile copy '/u01/a.bak'

f.删除所有映像副本

delete copy;

g.在备份后删除输入对象

backup archivelog all delete input;

它只会删除输入的备份

backup backupset 11 format '/u01/%u.bak' delete input;

 

报表显示---report 命令

a.查看7天前的数据库模式

report schema at time 'sysdate-7';

b.查看所有需要备份的文件

report need backup ;

c.查看指定表空间是否需要备份

report need bakcup tablespace system 

d.查看过期备份

report obsolete ;

 

执行检查---crosscheck 命令

用来检查备份或归档的物理文件的状态,如果物理文件存在,并且控制文件或恢复目录中匹配则标记为available 如果文件已经不存在则标记为expired 无效。

要手工删除expired记录

 

检查被人为删除的备份集

检查所有归档文件

crosscheck archivelog all;

检查所有的备份集

crosscheck backup;

 

修改状态 ---change命令

修改备份文件或归档文件的状态,在控制文件或恢复目录中,记录状态为:available 可用 和 unavailable 不可用。

修改指定备份集为unavailable 

change backupset n unavailable;

修改表空间的备份集为unavailable;

change backup of tablespace users unavailable;

修改指定归档文件状态为unavailable

change archivelog logseq=n unavailable ;

n为归档文件序号,可用通过list archivielog all 或者查询v$archived_log获得

 

change 命令附带delete 子句

change archivelog logseq=n delete 

修改记录状态同时,直接删除物理文件。

 

posted @ 2011-11-13 19:47    阅读(2065)  评论(0编辑  收藏  举报