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;
说明: 虚拟机 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;
相关文章推荐
- Oracle DB 使用RMAN恢复目录
- RMAN跨小版本跨平台与字节序传输表空间
- Linux下XWindow图形界面的基本概念
- RMAN 各种情况下恢复
- rman配置及rman常用命令操作
- 快速掌握Node.js之Window下配置NodeJs环境
- easyui window refresh 刷新两次的解决方法(推荐)
- 判断window.onload是否多次使用的方法
- Javascript中封装window.open解决不兼容问题
- jquery自定义插件开发之window的实现过程
- jquery自定义插件――window的实现【示例代码】
- window.returnValue使用方法示例介绍
- javascript类型系统 Window对象学习笔记
- window系统的Rsync同步实战分析第1/2页
- JavaScript中window、doucment、body的解释
- JavaScript的document对象和window对象详解
- window.onload和$(function(){})的区别介绍
- JavaScript中的Window窗口对象
- window.opener用法和用途实例介绍
- window.open()详解及浏览器兼容性问题示例探讨