欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 10.2.0.5 64位RMAN迁移到11.2.0.3x64

程序员文章站 2022-06-05 10:20:12
...

Oracle 10.2.0.5 64位RMAN迁移到11.2.0.3x64

本文是采用迁移的方式来实现数据库10g到11g的迁移升级。

推荐阅读:

Oracle EBS 克隆之数据库克隆

基于用户管理的同机数据库克隆

基于 RMAN 的同机数据库克隆

RMAN 异机复制数据库

一、环境介绍
1. 源数据库环境
操作系统版本: OEL5.8 x64
数据库版本 : 10.2.0.5 x64
数据库sid名 : orcl
Oracle 10g 10.2.0.5(64bit)安装目录如下:
数据库软件:/u01/app/oracle/product/10.2.0/db_1
数据库文件:/u01/app/oracle/oradata/orcl
归档目录:/u01/archivelog
RMAN目录:/u01/rman_bak/data

2. 目标数据库环境
操作系统版本: OEL5.8 x64
数据库版本 : 11.2.0.3 x64
数据库sid名 : orcl
Oracle 11g 11.2.0.3(64bit)安装目录如下(未创建数据库)
数据库软件:/u01/app/oracle/product/11.2.0/db_1
数据库文件:/u01/app/oracle/oradata/orcl
归档目录:/u01/archivelog
RMAN目录:/u01/rman_bak/data
Oracle 11g 11.2.0.3(64bit)安装文件
p10404530_112030_Linux-x86-64_1of7.zip
p10404530_112030_Linux-x86-64_2of7.zip

3. 升级思路
1)Oracle 10.2.0.2 以后才可以升级到11g 11.2.0.3。
2)创建Oracle 11.2.0.3数据库相关目录。
3) 在Oracle 10.2.0.5x64数据库上执行Oracle 11.2.0.3x64数据库utlu112i.sql脚本。
4)备份Oracle 10.2.0.5x64数据库,并传到11g数据库服务器上。
5)还原10g数据库到11g库上,并升级。

二、RMAN备份源10g数据库
1. 在Oracle 10g库上执行utlu112i.sql脚本

道先需要将11g $ORACLE_HOME/rdbms/admin下的utlu112i.sql脚本传到10g的$ORACLE_HOME/rdbms/admin目录下并执行。
并在10g上执行,,这个脚本可以检查升级前的一些信息,必须要执行,否则在恢复时会出现错误。
SQL> @?/rdbms/admin/utlu112i.sql
#执行过程中无错误

2. 备份源数据库
说明:记录数据库DBID(DBID=1349744318),恢复时有用。
[oracle@oradb ~]$ rman target /
Recovery Manager: Release 10.2.0.5.0 - Production on 星期日 7月 28 12:34:56 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1349744318)
RMAN>
run {
allocate channel c1 device type disk;
backup incremental level 0
format '/u01/rman_bak/data/db_full_%U.bak'
tag '2013-07-28-FULL'
database plus archivelog;
release channel c1;
}
# 备份控制文件与参数文件
RMAN> backup current controlfile format '/u01/rman_bak/data/control20130728.bak';
RMAN> backup spfile format '/u01/rman_bak/data/spfile20130728.bak';

4. 将/u01/rman_bak/data目录拷贝到11g数据库服务器上。

三、11g数据库恢复准备
1. 创建11g数据库基本目录
# su - oracle
mkdir -p /u01/app/oracle/admin/orcl/{adump,dpdump,pfile,scripts}
mkdir -p /u01/app/oracle/oradata/orcl
mkdir -p /u01/app/oracle/flash_recovery_area/ORCL

2. 创建规档日志文件
mkdir -p /u01/archivelog

3. 将rman备份数据库恢复到/u01/rman_bak/data目录下。
# su - oracle
$ cd /u01
[root@rman data]# ll
-rw-r--r-- 1 root root 7110656 07-24 22:23 control20130728.bak
-rw-r--r-- 1 root root 38029824 07-24 22:22 db_full_01ofj0gt_1_1.bak
-rw-r--r-- 1 root root 545660928 07-24 22:22 db_full_02ofj0h1_1_1.bak
-rw-r--r-- 1 root root 7168 07-24 22:22 db_full_03ofj0hs_1_1.bak
-rw-r--r-- 1 root root 98304 07-24 22:23 spfile20130728.bak

更为详细见下一页:

Oracle 10.2.0.5 64位RMAN迁移到11.2.0.3x64