迁移数据库的方法有多种,较为常用的则是使用RMAN来迁移。使用RMAN迁移数据库属于数据库的物理备份与恢复范畴,整个过程中数据库的相关信息是完整地镜像。因此,基于此种方式还原恢复的数据库用于测试会使得与真实的生产环境差异相对较小。本文描述了使用RMAN来还原Oracle 10g数据库的过程。一、主要步骤1、备份数据库
2、ftp备份到目的服务器
3、为目标数据库创建项目目录
4、为目标数据库创建pfile或spfile(使用RMAN还原或复制原pfile到目的服务器)
5、还原控制文件
6、还原数据文件
7、OPEN 数据库其实,这几个步骤比较好理解,整个实质是对数据库体系结构以及数据库整个启动过程的理解。
关于体系结构和启动过程可以参考Oracle实例和Oracle数据库(Oracle体系结构) http://www.linuxidc.com/Linux/2011-03/33071.htm
Oracle 数据库实例启动关闭过程 http://www.linuxidc.com/Linux/2011-03/33067.htm下面对此进行一下描述a、首先需要为实例的运行环境创建相应的目录,如dump位置,datafile位置,以及archive位置等等
如果是恢复到不同的路径,则后续RMAN时需要使用set newname for datafile 方式更新到控制文件
b、实例需要pfile来启动,因此需要恢复pfile或spfile,然后将数据库切换到nomount状态
c、接下来的一步是通过控制文件将数据库切换到mount状态,因此需要恢复控制文件,然后再mount
d、mount之后就可以对数据库进行还原(restore)操作
e、还原完毕之后是对数据库进行恢复(recovery)操作(restore和recover需要基于控制文件的备份信息或恢复目录)
f、最后是open数据库二、迁移演示1、备份原数据库此处演示的源数据库与目标数据库使用相同的版本为Oracle 10g R2(10.2.0.3),操作系统都为SUSE 10 +Sp3备份过程略,有关备份脚本,请参考:Linux 下RMAN备份shell脚本 http://www.linuxidc.com/Linux/2012-09/71493.htm2、ftp所有的备份文件到需要恢复的服务器上打包整个备份集ftp到目标服务器或scp到目标服务器下面是ftp到目标服务器解压后包含的文件
- oracle@2go-devDB01uv:/u02/database/SY5221_RMAN/20121013> ls -hltr
- total 9.4G
- -rw-r--r-- 1 oracle oinstall 3.0K 2012-10-16 09:48 initSY5221.ora
- -rw-r--r-- 1 oracle oinstall 2.7G 2012-10-16 10:02 SY5221_lev0_201210130630_4unnkjvi_1_1
- -rw-r--r-- 1 oracle oinstall 3.1G 2012-10-16 10:04 SY5221_lev0_201210130630_4vnnkjvi_1_1
- -rw-r--r-- 1 oracle oinstall 938M 2012-10-16 10:07 SY5221_lev0_201210130630_arc_51nnkk2h_1_1
- -rw-r--r-- 1 oracle oinstall 935M 2012-10-16 10:08 SY5221_lev0_201210130630_arc_52nnkk2h_1_1
- -rw-r--r-- 1 oracle oinstall 930M 2012-10-16 10:10 SY5221_lev0_201210130630_arc_53nnkk31_1_1
- -rw-r--r-- 1 oracle oinstall 15M 2012-10-16 10:10 SY5221_lev0_cntl_bak_c-1468911009-20121013-00
- -rw-r--r-- 1 oracle oinstall 15M 2012-10-16 10:10 SY5221_lev0_cntl_bak_c-1468911009-20121013-01
- -rw-r--r-- 1 oracle oinstall 910M 2012-10-16 10:11 SY5221_lev0_201210130630_arc_54nnkk32_1_1
3、创建所需的目录(使用oracle用户)
- oracle@2go-devDB01uv:~> more mkdir_sy5221.sh
- mkdir -p /u02/database/SY5221/flash_recovery_area
- mkdir -p /u02/database/SY5221
- mkdir -p /u02/database/SY5221/archive
- mkdir -p /u02/database/SY5221/backup
- mkdir -p /u02/database/SY5221/bdump
- mkdir -p /u02/database/SY5221/cdump
- mkdir -p /u02/database/SY5221/udump
- mkdir -p /u02/database/SY5221/controlf
- mkdir -p /u02/database/SY5221/oradata
- mkdir -p /u02/database/SY5221/redolog
- mkdir -p /u02/database/SY5221/undo
- mkdir -p /u02/database/SY5221/temp
- mkdir -p /u02/database/SY5221/ref_data
- mkdir -p /u02/database/SY5221/BNR
- mkdir -p /u02/database/SY5221/BNR/full
- mkdir -p /u02/database/SY5221/BNR/dump
- mkdir -p /u02/database/SY5221/dbcreatelogs
-
- ORACLE_SID=SY5221; export ORACLE_SID
- oracle@2go-devDB01uv:~> chmod u+x mkdir_sy5221.sh
- oracle@2go-devDB01uv:~> ./mkdir_sy5221.sh
4、创建密码文件
- oracle@2go-devDB01uv:~> cd $ORACLE_HOME/dbs
- oracle@2go-devDB01uv:~/OraHome10g/dbs> orapwd file=orapwSY5221 password=oracle force=y entries=10
Services in Oracle Database 10gSQL Server通配符妙用相关资讯 RMAN
- RMAN故障一例(归档的备份,从不 (今 20:42)
- RMAN的FORMATA格式说明 (03月10日)
- Oracle 11g RMAN复制数据库的测试 (01月19日)
| - RMAN数据库迁移 (05月22日)
- 使用RMAN复制恢复开发库环境 (02月17日)
- Oracle 11g RMAN跨平台传输表空间 (01月19日)
|
本文评论 查看全部评论 (0)