您的位置:首页 > 数据库 > Oracle

ORACLE RMAN备份的脚本配置[转载]

2009-05-24 16:33 295 查看

一: 备份;

1:连接目标数据库:

rman

rman>connect target /    ---当地机器连接形式

 

进入归档模式切换:

sqlplus /nolog

sql>conn / as sysdba;

sql>archive log list;---查看是否归档模式
启动start mount 状态下

进行归档模式的切换

sql>alter database archivelog;

再启动即可;

2:查询目标数据库的配置情况;

RMAN> SHOW ALL;

修改成如下配置:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'F:rman_back%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT "F:rman_back%U";
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'F:rman_backSNCFRAYDB.ORA';

如果CONFIGURE CONTROLFILE AUTOBACKUP OFF;

执行下面语句:

RMAN>CONFIGURE CONTROLFILE AUTOBACKUP ON;

3:备份控制和数据文件

RMAN>backup database;

4:备份日志文件;

rman>backup archivelog all delete input;

二: 恢复:

1:先将数据库工作在'已装载'模式下;

sql>shutdown immediate;

sql>startup mount;

sql>select status from v$instance;--open

2:rman>restore database;

3:rman>recover database;

数据库恢复成功;

sql>alter database open;

OK;

<二>:表空间的备份与恢复;数据库要工作在归档日志模式下;

1:表空间的备份;

rman>backup (tablespace users include current controlfile);

2:备份归档日志;

rman>backup (archivelog all delete input);

3:表空间恢复;

3.1:表空间的脱机;

rman> sql'alter tablespace users offline immediate';

3.2:表空间所属数据文件还原;

rman>restore(tablespace users);

3.3:表空间恢复过程;

rman>recover tablespace users;

3.4:表空间联机的过程;

rman>sql'alter tablespace users online';

<三>:数据文件的备份恢复;数据库要工作在归档日志模式下;

1:备份数据文件;

rman>backup (datafile 'd:oracleoradatadbnameusers01.dbf');

2:备份所有归档日志文件;

rman>backup (archivelog all delete input);

3:数据文件的恢复;

3.1:将数据文件所属的表空间users脱机;

rman>sql'alter tablespace users offline immediate';

3.2:将数据文件还原的过程;

rman>restore (datafile 'd:oracleoradatadbnameusers01.dbf') ;

3.3:数据文件的恢复过程;

rman>recover datafile 'd:oracleoradatadbnameusers01.dbf';

3.4数据文件所属的表空间的联机;

rman>sql'alter tablespace users online';

OK;

<四>数据整库备份与恢复备份命令(示例)

只备份数据文件 (如果configure controlfile autobackup on; 将自动包括控件文件,SPFILE)

4.1备份

RMAN> backup database;

同时备份归档日志,然后将备份后的归档日志删除

RMAN> backup database plus archivelog delete input;

明确指定同时备份控件文件:

RMAN> run{

  allocate channel ch1 type disk;

  sql 'alter system archive log current';

  backup full database include current controlfile tag 'db_full_controlfile_%T'

  format '/user/oracle/rmanback/full_%u_%s_%p';---'d:\oracle\rman\full_%u_%s_%p';

  sql 'alter system archive log current';

  release channel ch1;

  }

4.2恢复(完全恢复)

  目标数据库必须是mount状态

  rman target /

  RMAN> startup mount

  RMAN> restore database;

  RMAN> recover database;

  RMAN> alter database open;

-----(recover database until cancel;)--sqlplus

----- alter database open resetlogs;

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: