RMAN 各种文件的恢复方法

简介: 1. 完全介质恢复# 数据库需要在 mount 状态1-1. 挂载数据库RMAN> startup mount;1-2.
1. 完全介质恢复
# 数据库需要在 mount 状态

1-1. 挂载数据库
RMAN> startup mount;

1-2. 执行恢复
RMAN> restore database;
# delete archivelog 会删除恢复期间产生的归档, 不影响之前的归档
# maxsize 指定恢复过程中产生归档的上限大小, 达到上限会自行删除
RMAN> recover database delete archivelog maxsize 10m skip tablespace temp;
RMAN> alter database open;


2. 恢复表空间或数据文件

2-1. 表空间
# 数据库可以在 mount 也可以在 open 状态
RMAN> sql 'alter tablespace users offline';
RMAN> restore tablespace users;
RMAN> recover tablespace users;
RMAN> sql 'alter tablespace users online';

2-2. 数据文件
# 数据库可以在 mount 也可以在 open 状态
RMAN> sql 'alter datafile 5 offline';
RMAN> restore datafile 5;
RMAN> recover datafile 5;
RMAN> sql 'alter datafile 5 online';

RMAN> sql 'alter datafile 5 offline';
RMAN> run {
set newname for datafile 5 to '/data/users01.dbf';
restore datafile 5;
switch datafile 5;
recover datafile 5;
}
RMAN> sql 'alter tablespace users online';

2-2. 归档日志
# 恢复数据文件时, RMAN 会自动恢复并应用归档日志, 一般情况不需要手动恢复
# 默认恢复到 log_archive_dest_1 下
RMAN> restore archivelog sequence 22
RMAN> restore archivelog sequence between 22 and 23;

# 恢复到其他路径
RMAN> run {
set archivelog destination to '/arch1';
restore archivelog sequence between 21 and 22;
set archivelog destination to '/arch1';
restore archivelog sequence between 23 and 24;
}


3. 恢复控制文件

3-1. 从自动备份中恢复
RMAN> set dbif=xxxxxxxxx;
RMAN> startup nomount;

# 恢复控制文件到 control_files 路径下
RMAN> restore controlfile from autobackup;
# 恢复控制文件到任意路径下
RMAN> restore controlfile to '/data/control01.ctl' from autobackup;
# 若之前修改过自动备份的路径, 则恢复前需要手动设置自动备份路径
RMAN> set controlfile autoback format for device type disk to '/data/%F';
RMAN> restore controlfile from autobackup;

3-2. 从备份集中恢复
RMAN> set dbif=xxxxxxxxx;
RMAN> startup nomount;
RMAN> restore controlfile from '/data/xxxxxxxxxxxxxxxxxxxxx';
RMAN> recover database;
RMAN> alter database open resetlogs;


4. 初始化参数文件
RMAN> set dbif=xxxxxxxxx;
RMAN> startup nomount;
RMAN> restore spfile from autobackup;
RMAN> restore spfile to '/data/xxxxxx' from autobackup;
RMAN> restore spfile to '/data/xxxxxx' from '/back/xxxxxx';
目录
相关文章
|
2月前
|
Oracle 关系型数据库 数据库
rman 恢复脚本
rman 恢复脚本
31 1
RMAN备份及恢复归档日志的语法
RMAN备份及恢复归档日志的语法
798 0
|
12月前
|
内存技术
RMAN 恢复的时候出错RMAN-06091
RMAN 恢复的时候出错RMAN-06091
|
数据库 SQL 关系型数据库
|
SQL 监控 Oracle
|
Oracle 关系型数据库 数据库管理
|
SQL Oracle 关系型数据库