准备

异构Ortacle服务器

添加相关服务器的Hosts记录。

安装NBU client agent。

安装相同的Oracle软件版本。

创建相同的管理员账号及密码。

创建与源Oracle相同名称,相同路径的oracle实例。

关闭数据库(shutdown immedicate)。

删除数据库文件夹下的所有文件。

获取源Oracle的DBID 并记录(源Oracle运行SQL命令:Selectdbid from v$database;)。

NBU服务器

添加相关服务器的Hosts记录。

NBU安装目录XXX/db/altnames文件夹下面创建文件名为No.Restrictions的空文件(用于允许NBU做异构还原)。

查找需要还原的控制文件并记录控制文件名称(bplist -C 源Oracle客户端 -l -t 4 -s 6/13/2011 -e6/14/2011-R /)。

 

开始恢复

恢复控制文件

数据库起到nomout状态(startupnomount)。

登录rman运行:

set dbid=源oracle的DBID

 

run{

ALLOCATE CHANNEL CH00 TYPE'SBT_TAPE';

SEND 'NB_ORA_SERV=NBU服务器名称,NB_ORA_CLIENT=源Oracle服务器client名称';

restore controlfile from '控制文件名称';

 }

 

恢复数据库文件

数据库起到mount状态(startupmount)。

登录rman运行

run {

ALLOCATE CHANNEL CH00 TYPE 'SBT_TAPE';

SEND 'NB_ORA_SERV= NBU服务器名称, NB_ORA_CLIENT=H源Oracle服务器client名称'';

restore database;

}

恢复归档日志(如只需要恢复玩完整备份,可不做)

登录rman运行

run {

ALLOCATE CHANNEL CH02 TYPE'SBT_TAPE';

SEND 'NB_ORA_SERV= NBU服务器名称, NB_ORA_CLIENT=H源Oracle服务器client名称'';

ESTORE ARCHIVELOG FROMSEQUENCE 序号 thread 1 UNTIL SEQUENCE 序号;

RELEASE CHANNEL CH02;

}

登录SQL运行

recover database untilcancel

启动数据库

登录SQL运行

alter database openresetlogs;