Welcome 微信登录

首页 / 数据库 / MySQL / Oracle Convert a 32-bit Database to 64-bit Database(32位 转到 64位)说明

Oracle数据分32位和64位,对应不同的平台,关于查看DB 是32还是64位,我之前的Blog 有说明,参考:查看Oracle 是32位还是64位的方法 http://www.linuxidc.com/Linux/2011-09/43901.htm 我们这里说的32位和64位就是wordsize。 在某些情况下,比如数据迁移时,需要从32位的Oracle 迁移到64位的oracle上,这时候就需要修改wordsize,使他们保持一致。 这里我们假设迁移平台的ENDIAN 格式相同,不同的操作系统对应的ENDIAN也是不一样的。 这里不做过多的说明,这部分内容属于跨操作系统迁移部分,会单独进行说明。MOS 上有几篇关于修改wordsize的文章:Changing between 32-bit and 64-bit WordSizes [ID 62290.1]How To Change Oracle 11g Wordsize from32-bit to 64-bit. [ID 548978.1]How to Convert a 32-bit Database to 64-bitDatabase on Linux? [ID 341880.1]这里我们看一下[341880.1]。 Use thefollowing procedure to change wordsize of an Oracle9i Release 2 (9.2) orOracle10g (10.1 & 10.2) or 11g single instance database from Linux x86 toLinux x86-64 in same release: --以下的操作过程支持linux下的Oracle 9iR2,10g和11g  单实例32到64的转换操作。注意这里数据库的版本要一致,仅wordsize 不一样。1.     Perform cold backups of theexisting Oracle9i or Oracle10g (10.1.x & 10.2.x) or 11g database on theLinux x86 system to protect against any failures during the wordsize change. --冷备份整个DB,以防修改wordsize失败。2.     NOTE:This steps is required ifthe target system has different directory structure for database files.Otherwise this step can be skipped. --这一步操作仅当Target system 的目录结构和Source 不一样,如果一样,这一步可以跳过。To help withcreating the control file after the wordsize change, enter the following SQLcommand: SQL> ALTERDATABASE BACKUP CONTROLFILE TO TRACE; --将控制文件dump 到trace file,已方便我们后面的修改。Oracle 控制文件 http://www.linuxidc.com/Linux/2011-03/33069.htmThis command saves the control file information to a trace file in the UDUMP directory (Typeshow parameter USER_DUMP_DEST in SQLPLUS as sys/system user). The control fileinformation is similar to the following: CREATECONTROLFILE REUSE DATABASE "SAMPLE" NORESETLOGS 
NOARCHIVELOG 
MAXLOGFILES 32 
MAXLOGMEMBERS 2 
MAXDATAFILES 32 
MAXINSTANCES 1 
MAXLOGHISTORY 112 
LOGFILE 
GROUP1 "/ia32lnx_path/oracle/dbs/t_log1.f" SIZE 25M, 
GROUP2 "/ia32lnx_path/oracle/dbs/t_log2.f" SIZE 25M 
DATAFILE "/ia32lnx_path/oracle/dbs/t_DB1.F" 
CHARACTER SET WE8DEC; 3.     In a new Oracle home, installthe 64-Bit release of Oracle9i Release 2 (9.2.x) , Oracle10.1.x, Oracle 10.2.x,Oracle 11.1.x, 11.2.x  software for Linux x86-64. It is recommended to usethe same version on as on the 32-Bit box. --在新的系统上安装64位的Oracle 软件,建议使用的版本和之前的32位oracle 保持一致。4.     Perform a clean databaseshutdown for Oracle-32 Bit database --clean shutdown 32位的Oracle。当clean shutdown 时,checkpoint会进行,并且此时datafile的stop scn和控制文件里的start scn会相同。 等到open数据库时,Oracle检查datafile header中的start scn和存于control file中的datafile的scn是否相同, 如果相同,接着检查start scn和stop scn是否相同,如果仍然相同,数据库就会正常开启,否则就需要recovery。等到数据库开启后,储存在control file中的stop scn就会恢复为NULL值,此时表示datafile是open在正常模式下了。更多信息参考:Oracle 实例恢复时 前滚(roll forward) 后滚(rollback) 问题 http://www.linuxidc.com/Linux/2011-03/33907.htm5.     Copy the database files fromLinux-x86 to the Linux x86-64 system. --复制所有的datafiles 从32位系统到64位系统上。6.     Copy your existing Oracleinitialization parameter file (initsid.ora) to the new Oracle home. --复制初始化参数(pfile)到64位系统上对应的目录,默认是$ORACLE_HOME/dbs7.     Edit the parameter file topoint to the controlfiles if the location has change from the source machine. --编辑pfile 文件,修改控制文件的保存位置。8.     Change any Oracle home pathreferences to use the new Oracle home path on the Linux x86-64 system. Likeuser_dump_dest , background_dump_dest , core_dump_dest etc --修改pfile里的其他参数,比如user_dump_dest,background_dump_dest,core_dump_dest 等。
  • 1
  • 2
  • 3
  • 下一页
Oracle TTSORA-39322: Cannot use transportable tablespace with different timezone version 说明64位 Linux平台下Oracle安装文档相关资讯      oracle数据库教程 
  • Oracle raw数据类型介绍  (01/29/2013 10:05:53)
  • 监听器注册与ORA-12514 错误分析  (11/13/2012 14:30:08)
  • Oracle SQL的cursor理解  (11/13/2012 14:16:17)
  • Oracle 如何强制刷新Buffer Cache  (01/29/2013 10:02:46)
  • dblink致Oracle库的SCN变成两库的  (11/13/2012 14:24:41)
  • Linux操作系统下完全删除Oracle数  (11/13/2012 08:25:52)
本文评论 查看全部评论 (0)
表情: 姓名: 字数