ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 32 bit oracle10201 升级 到x64 oracle10201过程失误总结

32 bit oracle10201 升级 到x64 oracle10201过程失误总结

原创 Linux操作系统 作者:msdnchina 时间:2009-10-12 19:39:14 0 删除 编辑

第一.最严重的失误:

    db冷备时,只冷备出了oracle_base,和oradata目录(此目录中包含了控制文件,日志文件,还有oracle本身的数据文件),没有备份出应用的数据文件.这样导致,之后升级失败时(升级的过程,也就是执行sql的过程,执行sql时,controlfile中会记录最新的改变,同时,将此最新的改变应用到应用的数据文件中.这样一来,即使能还原了oracle_base,和oradata目录,但是由于无法还原应用的数据文件,在这种情况下,startup,会报:

SQL> startup
ORACLE 例程已经启动。

Total System Global Area 2550136832 bytes
Fixed Size                  2006416 bytes
Variable Size             553648752 bytes
Database Buffers         1979711488 bytes
Redo Buffers               14770176 bytes
数据库装载完毕。
ORA-01122: 数据库文件 5 验证失败
ORA-01110: 数据文件 5: 'D:\CWDATA\GS_ORADB_001.DBF'
ORA-01207: 文件比控制文件更新 - 旧的控制文件

),

这也就是说,还原不到原来的起点.

 

第二.没有先将"Metalink Note:62290.1 Changing between 32-bit and 64-bit Word Sizes" 通读三遍,没有做到结合本次升级现场的环境制定出适合本次升级的步骤.

 造成的后果:

因为一般metalink的文章,是在某一步陈述完毕之后,才有Note: ,(正如第17步,第17步见下),我却是先执行完了sql,最后才从Note: 中发现,原来这个sql是不需要执行的.这个情况为"江湖人士所不齿"!!!

17. Locate the version you are migrating from below, and execute the appropriate
    script.:

    - If you are migrating an Oracle 8.0, Oracle8i or Oracle 9i 9.0.x database,
    run the following script.:

    SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql

    - If you are migrating an Oracle9i 9.2.0.x database, run the following
    script.:

    SQL> @$ORACLE_HOME/rdbms/admin/catpatch.sql

    - If you are migrating an Oracle10g 10.1.0.x or 10.2.0.x database, run the
    following script.:
 
    SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql

=============================================================================

    Note:

    If the patchset level is not being changed (for example, you are
    migrating a 9.2.0.8 32-bit database to 9.2.0.8 64-bit) then there is no
    need to run the $ORACLE_HOME/rdbms/admin/catpatch.sql script. or the
    $ORACLE_HOME/rdbms/admin/catupgrd.sql script. because the data dictionary
    is already at the correct level.

=============================================================================

 

第三,没用按照第10步中的做,没有 doubling the size of parameters

10.

 When changing wordsize from a 32-bit Oracle version to a 64-bit Oracle
    version, Oracle recommends doubling the size of parameters such as:

    SHARED_POOL_SIZE
    SHARED_POOL_RESERVED_SIZE
    LARGE_POOL_SIZE

    This is mainly due to an increase in the size of internal data structures.
    For an in-depth explanation of this, please see Note 209766.1
    'Memory Requirements of Databases Migrated from 32-bit to 64-bit'

没有 doubling the size of parameters 的后果,是在in normal mode 执行@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlrp.sql时,有报错,

SQL> DECLARE
  2   threads pls_integer := &&1;
  3  BEGIN
  4   utl_recomp.recomp_parallel(threads);
  5  END;
  6  /
DECLARE

*
第 1 行出现错误:
ORA-03113: 通信通道的文件结束


SQL>
SQL> SELECT dbms_registry_sys.time_stamp('utlrp_end') as timestamp from dual;
ERROR:
ORA-03114: 未连接到 ORALCE

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/161195/viewspace-616361/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-07-30

  • 博文量
    498
  • 访问量
    1542050