当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle备份恢复四(RMAN备份)

Oracle
oracle sys_connect_by_path 函数 结果集连接
oracle join on 数据过滤问题
Oracle 当前用户下所有表的记录总数
oracle 树查询 语句
oracle 触发器 实现出入库
Oracle 函数大全
oracle 删除重复数据
ORACLE 最大连接数的问题
oracle 层次化查询(行政区划三级级联)
oracle 查询表名以及表的列名
Oracle 数据显示 横表转纵表
oracle 服务启动,关闭脚本(windows系统下)
ORCLE 表中列的修改
oracle 数据库连接分析
Oracle 实现类似SQL Server中自增字段的一个办法
Oracle 常用的SQL语句
Oracle 数组的学习 小知识也要积累,养成好的学习态度
Oracle 日期的一些简单使用
Oracle 数据库连接查询SQL语句
Oracle DBA常用语句

Oracle备份恢复四(RMAN备份)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 111 ::
收藏到网摘: n/a

平台:Redhat linux as5,Oracle10g

    RMAN完全数据库备份

1.一致性备份(冷备)完整过程

RMAN> connect target /

connected to target database: DB2 (DBID=1852673443)

RMAN> shutdown immediate;

RMAN> startup mount;

#

RMAN> backup database format='/oracle/rmanback/%d_%s.dbf';

Starting backup at 12-JUN-09

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=35 devtype=DISK

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00001 name=/home/oracle/oracle/oradata/db2/system01.dbf

input datafile fno=00003 name=/home/oracle/oracle/oradata/db2/sysaux01.dbf

input datafile fno=00002 name=/home/oracle/oracle/oradata/db2/undotbs01.dbf

input datafile fno=00004 name=/home/oracle/oracle/oradata/db2/usertbs.dbf

channel ORA_DISK_1: starting piece 1 at 12-JUN-09

channel ORA_DISK_1: finished piece 1 at 12-JUN-09

piece handle=/oracle/rmanback/DB2_1.dbf tag=TAG20090612T071426 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:35

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

including current control file in backupset

including current SPFILE in backupset

channel ORA_DISK_1: starting piece 1 at 12-JUN-09

channel ORA_DISK_1: finished piece 1 at 12-JUN-09

piece handle=/oracle/rmanback/DB2_2.dbf tag=TAG20090612T071426 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04

Finished backup at 12-JUN-09

RMAN> sql 'alter database open';

RMAN> sql 'alter system archive log current';

,

[oracle@oracle rmanback]$ pwd

/oracle/rmanback
[oracle@oracle rmanback]$ ls
DB2_1.dbf DB2_2.dbf

2.非一致性备份

,

RMAN> connect target sys/123456

RMAN> backup database format='/oracle/rmanback/%d_%s.dbf';

[oracle@oracle rmanback]$ ls

DB2_1.dbf DB2_2.dbf DB2_3.dbf DB2_4.dbf

备份表空间

chenxy

RMAN> connect target sys/123456

RMAN> backup tablespace chenxy format='/oracle/rmanback/%N_%s.dbf';

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00005 name=/home/oracle/oracle/oradata/db2/chenxy.dbf

input datafile fno=00005 name=/home/oracle/oracle/oradata/db2/chenpy.dbf

channel ORA_DISK_1: starting piece 1 at 12-JUN-09

Finished backup at 12-JUN-09

[oracle@oracle rmanback]$ ls

CHENXY_6.dbf CHENXY_7.dbf  DB2_1.dbf DB2_2.dbf DB2_3.dbf DB2_4.dbf

备份单个数据文件

RMAN> connect target sys/123456

RMAN> backup datafile 5 format='/oracle/rmanback/%N_%f_%s.dbf';

备份控制文件和归档日志

#

RMAN> backup current controlfile format='/oracle/rmanback/%d_%s.ctl';

#

RMAN> backup format='/oracle/rmanback/%d_%s.arc'

2> archivelog from time='sysdate-1' until time='sysdate';

#时备RMAN> backup format '/oracle/rmanback/%d_%s.bak' tablespace chenxy plus archivelog;

备份映像副本

1.数据文件副本

RMAN> backup as copy format='/oracle/rmanback/df_5.dbf' datafile 5;

2.控制文件副本

RMAN> copy current controlfile to '/oracle/rmanback/db2.ctl';

[oracle@oracle rmanback]$ ls

db2.ctl df_5.dbf

3.归档日志副本

RMAN> backup as copy format='/oracle/rmanback/arc30.log' archivelog sequence 30;

RMAN> copy archivelog '/home/oracle/oracle/oradata/db2/arch/1_31_689217827.dbf'

2> to '/oracle/rmanback/arc31.log';

[oracle@oracle rmanback]$ ll

total 678288

-rw-r----- 1 oracle oinstall 23883776 Jun 12 08:16 arc30.log

-rw-r----- 1 oracle oinstall      1024 Jun 12 08:18 arc31.log

4.一次备份多个映像副本

RMAN> configure device type disk parallelism 3;

RMAN> backup as copy format='/oracle/rmanback/df_%f.dbf' datafile 2,3,4;

RMAN备份维护

1.报告目标数据库

RMAN>report schema;

RMAN>report need backup incremental 3;

RMAN>report need backup days 3 tablespace chenxy;

RMAN>report need backup redundancy 2 database;

RMAN>report obsolete redundancy 2;

RMAN>report unrecoverable;

2.详细分析RMAN资料库

RMAN>list backup of tablespace chenxy;

RMAN>list backup of controlfile;

RMAN>list backup of archivelog all;

RMAN>list backup of spfile;

RMAN>list copy of datafile 5;

RMAN>list copy of controlfile;

RMAN>list copy of archivelog;

RMAN>list incarnation of database;

3.核对磁盘和磁带上的备份文件

RMAN>crosscheck backup;

RMAN>crosscheck backup of database;

RMAN>crosscheck backup of tablespace system;

RMAN>crosscheck backup of datafile 4;

RMAN>crosscheck backup of controlfile;

RMAN>crosscheck backup of spfile;

RMAN>crosscheck backup of archivelog sequence 3;

RMAN>crosscheck backup of copy;

RMAN>crosscheck backup of database;

RMAN>crosscheck backup of tablespace users;

4.删除备份记录及相就的物理文件

RMAN>delete obsolete;

RMAN>delete noprompt expired backup;

RMAN>delete noprompt expired copy;

RMAN>delete noprompt backupset 12;

RMAN>delete noprompt backuppiece ‘/oracle/rmanback/ctl.bak’;

RMAN>delete noprompt backup;

RMAN>delete noprompt datafilecopy ‘/oracle/rmanback/*.bak’;

RMAN>delete noprompt copy;

RMAN>backup archivelog all delete input;

5.改变备份记录的状态

RMAN>change backupset 2 unavailable;

RMAN>change datafilecopy ‘/oracle/rmanback/*.bak’ unavailable;

RMAN>change backupset 10 keep forerer logs;

RMAN>change backupset 200 keep until time ‘sysdate+60’ logs;

RMAN>change backupset 20 nokeep;

6.追加备份记录到RMAN资料库

RMAN>catalog datafilecopy ‘/oracle/rmanback/chenxy01.bak’;

RMAN>catalog backuppiece ‘/oracle/rmanback/chenxy_10.dbf’;

RMAN>catalog start with ‘/oracle/rmanback’;

#

RMAN>change datafilecopy ‘/oracle/rmanback/chenxy01.bak’ uncatalog;

RMAN>change controlfilecopy ‘‘/oracle/rmanback/db2.ctl’ uncatalog;

RMAN>change backuppiece ‘/oracle/rmanback/chenxy02.bak’ uncatalog;