实验环境:
源数据库服务器名:china 数据库全局名和SID:orcl
目标数据库服务器名:beijing 只安数据库软件,未新建数据库
1.源数据库备份数据并拷贝到目标数据库服务器
\\192.168.2.7\e$\app\Administrator\product\11.2.0\dbhome_1\database\SPFILEORCL.ORA
复制到
E:\app\Administrator\product\11.2.0\dbhome_1\database
2.目标数据库上创建service服务
oradim -new -sid orcl
3.使用源数据库的spfile生成pfile
将源数据库的
app\Administrator\product\11.2.0\dbhome_1\database\SPFILEORCL.ORA
拷贝到目标数据库
E:\app\Administrator\product\11.2.0\dbhome_1\database\SPFILEORCL.ORA
SQL> create pfile='e:\backup\pfile_orcl.ora' from spfile;
文件已创建。
4.如果源数据和目标数据库目录结构不一致,则修改配置文件
e:\backup\pfile_orcl.ora
这里目标数据库只是安装了oracle软件,没有新建oracle数据库,所以需要新建目录,以保证和
pfile文件中设置的目录一致.
mkdir E:\app\Administrator\admin\orcl
mkdir E:\app\Administrator\admin\orcl\adump
mkdir E:\app\Administrator\admin\orcl\dpdump
mkdir E:\app\Administrator\admin\orcl\pfile
mkdir E:\app\Administrator\flash_recovery_area\orcl
mkdir E:\app\Administrator\oradata\orcl
mkdir E:\backup\archivelog
5.目标数据库上根据修改好的pfile生成spfile
SQL>create spfile from pfile='e:\backup\pfile_orcl.ora';
6.目标数据库启动到nomount状态
SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 1185853440 bytes
Fixed Size 2175168 bytes
Variable Size 352325440 bytes
Database Buffers 822083584 bytes
Redo Buffers 9269248 bytes
7.恢复控制文件并进入加载状态
C:\Users\Administrator>set oracle_sid=orcl
C:\Users\Administrator>rman target /
恢复管理器: Release 11.2.0.1.0 - Production on 星期一 1月 31 15:47:51 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到目标数据库: ORCL (未装载)
RMAN> set DBID=1269652999 --DBID是源数据库的ID
正在执行命令: SET DBID
8.恢复控制文件并进入加载状态
RMAN>restore controlfile from 'e:\backup\controlfile\BAK_C-1269652999-20110131-05';
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
9.修复数据库
RMAN> restore database;
10.恢复数据库
如果数据需要和源数据完全一样,则需要将源数据库关机,并将redo日志全部拷贝过来.
RMAN> recover database;
启动 recover 于 31-1月 -11
使用通道 ORA_DISK_1
正在开始介质的恢复
线程 1 序列 11 的归档日志已作为文件 E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG
存在于磁盘上
归档日志文件名=E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG 线程=1 序列=11
介质恢复完成, 用时: 00:00:00
完成 recover 于 31-1月 -11
11.使用open resetlogs方式打开数据库
RMAN>alter database open resetlogs;