一: 备份;
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;