您的位置:首页 > 其它

window 环境 非归档模式下,rman 异机迁移数据

2016-09-27 11:13 1046 查看
说下方法和步骤,格式有点乱,勉强看看吧。有时候用在 window 下测试环境的 rman 迁移还是比较有用的。

说明: 虚拟机 xp 系统两台    oracle 11.2.0.1 版本数据库

源数据库关闭归档模式,在mount 下进行全库备份,控制文件自动备份。

目标库只安装数据库软件,然后创建监听即可,注意:目标库安装了数据库也是可以的

然后在目标数据库创建与源库一样的目录
 

--备份数据数据库,会自动备份控制文件及参数文件

backup database;

--创建文本格式的参数文件,生成目录在 database 下

在源库 执行 create pfile from spfile 

在目标库上进入cmd 

设置环境变量

set oracle_sid=orcl

创建实例

oradim -new -sid orcl

创建密码文件

orapwd file=E:\app\product\11.2.0\dbhome_1\database\PWDorcl.ora password=orcl entries=2

将在源库 执行 create pfile from spfile 

生成的 INITorcl    路径为 E:\app\product\11.2.0\dbhome_1\database

将此文件复制到目标库的,目标库路径与源库路径一定要相同

然后 

sqlplus / as sysdba 

startup nomount;

目标库上

create spfile from pfile;

这就生成了参数文件。

将在源库用rman 备份的备份文件拷贝到目标库上,路径要相同

在目标库

启动rman

rman target /

(设置dbid ,在源库用rman 备份时的dbid 要记下来)注意:如果rman 备份的路径在默认的路径则可以不用设置

set dbid 3601019238

startup nomout;

恢复控制文件 

restore controlfile to 'E:\app\oradata\orcl\CONTROL01.CTL' from autobackup;

restore controlfile to 'E:\app\flash_recovery_area\orcl\CONTROL02.CTL' from autobackup;

可以直接 restore controlfile from autobackup;  前提是在默认的目录中

启动到mount 状态

startup mount;

--还原数据库

restore database;

/*

如果数据文件目录不同

run{

set newname for datafile 1 to 'E:\app\oradata\system01.dbf';

set newname for datafile 3 to 'E:\app\oradata\undotbs01.dbf';

set newname for datafile 2 to 'E:\app\oradata\sysaux01.dbf.dbf';

set newname for datafile 4 to 'E:\app\oradata\users01.dbf';

restore database;

switch datafile all;

}

*/

--恢复数据库

recover database;

/*

如果数据文件目录不同,修改日志文件路径与数据文件同目录

alter database rename file 'E:\app\oradata\orcl\redo01.log' to 'E:\app\oradata\redo01.log';

alter database rename file 'E:\app\oradata\orcl\redo02.log' to 'E:\app\oradata\redo02.log';

alter database rename file 'E:\app\oradata\orcl\redo03.log' to 'E:\app\oradata\redo03.log';

*/

--打开数据库

alter database open resetlogs;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息