ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE10201手动升级到10204

ORACLE10201手动升级到10204

原创 Linux操作系统 作者:lnwxzyp 时间:2009-09-21 00:15:27 2 删除 编辑
      刚刚从自己的本机上测试成功将oracle 10201升级到了10204,这里说手动是因为还有DBUA-database upgrade assistant的自动升级工具,因为刚开始没有仔细的看patch package里面的readme,网上随意的搜了一下然后就开始升级,首先是下载升级补丁,这里参考了盖老师无私奉送的下载路径,大家可以参考以下,里面的补丁比较齐全:
http://www.eygle.com/archives/2008/06/9208_10204_patch.html
下载下来解压缩之后点击安装,安装之前首先要将oracle的services全部stop,运行→services.msc,将里面的oracle开启的服务全部停掉,然后选择原来的安装路径然后开始安装,安装完成之后,打开oracleservice+ORACLE_SID和监听服务,然后进入升级模式
SQL> STARTUP UPGRADE
待数据库open之后设置输出日志,已备检查升级时有无错误发生
SQL> SPOOL C:\upgrade_info.log
然后执行
ORACLE_HOME\RDBMS\Admin\cat\catupgrd.sql
执行的时间比较长,因为我本机是归档模式,同时是默认在闪回区的文件位置,因此在执行过程中发生了归档日志满,同时redolog也无法脱机的情况,然后脚本就一直不往下执行,最后实在等不及,关掉了命令行窗口,再次登陆的时候就发生了错误:
ORA-16038: 日志 1 序列号 236 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1: '/data/oradata/demo/redo01.log'
解决错误:
sql> conn / as sysdba
sql> shutdown abort;
sql> startup mount;
sql> recover database until cancel;
sql> alter database open resetlogs;
执行之后,同时删除归档文件,另外又在pfile里面手动指定了另外的归档路径,重新创建了spfile,然后继续重复执行刚开始的catupgrd.sql脚本,执行完成之后,还有一个utlrp.sql脚本,是和前一个脚本在同一个文件夹下,这个脚本在readme里面是建议执行,但是不执行也可以,我这里进行了执行,但是报错说有的包已经失效,后来仔细阅读了自述文件,说升级之后有54个无效的对象,这些无效对象不会对数据库的使用产生影响。
最后切换到正常模式
SQL>shutdown immediate
SQL>startup
SQL> select * from v$version;
BANNER----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
看来以后还是要重视readme的阅读才可以啊。另外以后给服务器升级还是要多测试测试才能上到生产环境,不然一旦出现问题不管是当时还是以后对生产造成影响就麻烦了。

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

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

注册时间:2008-04-25

  • 博文量
    129
  • 访问量
    672459