Oracle 单实例 从32位 迁移到 64位 方法(一)-- 直接 copy datafilesOracle 单实例 从32位 迁移到 64位 方法(一)-- 直接 copy datafiles
关于单实例从32位迁移到64位的说明,参考如下Blog:
OracleConvert a 32-bit Database to 64-bit Database(32位 转到 64位)说明
http://doc.xuehai.net/tianlesoftware/article/details/7252742
在这篇Blog 演示第一种方法:直接copy datafile进行迁移。
一.测试环境:Source: DB:11.2.0.3 32 位
OS: Oracle Linux 6.1 32 位
IP:192.168.3.200
ORACLE_HOME:
[oracle@tianlesoftware ~]$ echo$ORACLE_HOME
/u01/app/oracle/product/11.2.0/db_1
Target : DB:11.2.0.3 64位
OS:Oracle Linux 6.1 64位
IP:192.168.3.201
ORACLE_HOME:
rac1:/home/oracle> echo $ORACLE_HOME
/u02/app/oracle/product/11.2.0/db_1
这里2个ORACLE_HOME 不一样,所以我们在操作过程中需要重建控制文件。
Oracle 控制文件
http://doc.xuehai.net/tianlesoftware/article/details/4974440
二.具体操作如下:
1. 冷备份整个DB,以防修改wordsize失败。
2. 将source 端的控制文件dump 到 trace文件里。
SQL> oradebug setmypid
Statement processed.
SQL> alter database backup controlfile to trace;
Database altered.
SQL> oradebug tracefile_name
/u01/app/oracle/diag/rdbms/anqing/anqing/trace/anqing_ora_8874.trc
查看trace 文件,获取控制文件重建脚本:
[oracle@tianlesoftware u01]$ cat /u01/app/oracle/diag/rdbms/anqing/anqing/trace/anqing_ora_8874.trc
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE"ANQING" NORESETLOGSARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/anqing/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2'/u01/app/oracle/oradata/anqing/redo02.log'SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/anqing/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/anqing/system01.dbf',
'/u01/app/oracle/oradata/anqing/sysaux01.dbf',
'/u01/app/oracle/oradata/anqing/undotbs01.dbf',
'/u01/app/oracle/oradata/anqing/users01.dbf'
CHARACTER SET ZHS16GBK
;
RECOVER DATABASE
ALTER SYSTEM ARCHIVE LOG ALL;
ALTER DATABASE OPEN;
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/anqing/temp01.dbf'
SIZE 30408704 REUSE AUTOEXTEND ONNEXT 655360 MAXSIZE 32767M;
3. 在Target 端安装64位的Oracle软件,这里仅安装,不创建实例。
64位 linux平台下Oracle安装文档
http://doc.xuehai.net/tianlesoftware/article/details/6062816
4. Clean shutdown Source 端的32位DB
Oracle 实例恢复时 前滚(roll forward) 后滚(rollback) 问题
http://doc.xuehai.net/tianlesoftware/article/details/6286330
SQL> sh
utdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
5.将Source 端的所有datafile copy 到Target 端的对应目录。
注意这里的TEMP 表