日期:2014-05-16  浏览次数:20580 次

Oracle 升级(10.2.0.1 --> 10.2.0.4) 包含升级包

开始之前, 最好是备份原数据库会比较保险。(冷备份就可以了)

更新估计时间:   3小时左右(这个只是给出一个典型值,需视实际状况而定)


10.2.0.4 升级包下载地址:

ftp://updates.oracle.com/6810189/p6810189_10204_Win32.zip


下载完成后就可以开始升级了

1. 停止目前的Oracle 的所有服务。

操作方式:  右击“我的电脑”--》 管理--》服务, 找到Oracle开头的所有服务, 执行 停止

2. 解压升级包

如果报错误的话,可以多点几次。

3. 选择安装目录

选择安装在原目录,如:%ORCLE_HOME%\db_1

此步做完,升级工作并没有结束。

4. 更新数据字典(此部分会花费比较长的时间,而且在此过程中使用其他用户无法登陆数据库)

以sysdba登陆,(在命令提示符中输入:sqlplus /nolog 再输入  connect  sys/pwd  as sysdba ;); 

   sql>startup upgrade

   sql>spool patch.log

   sql>@%ORACLE_HOME%\db_1\RDBMS\ADMIN\catupgrd.sql

   SQL> SPOOL OFF

5. 关闭,重启

   SQL>shutdownimmediate

   SQL>startup

6. 编译失效对象

SQL>@%ORACLE_HOME%\db_1\RDBMS\ADMIN\utlprp.sql

7. 验证结果

SELECT count(*) FROM dba_objects WHERE status='INVALID';

如果值为 0 , 说明升级 成功。

如果值大于0, 需根据以上方式重新运行catupgrd.sql, 直到值为 0.

(如果run了多次, 还是大于0的话, 就不要再run了, 试试数据库是否正常, 又发现大于0的状况下,数据库也可以正常运行)

8. 查看版本信息

select * from v$version;

除了以上手动更新外, oracle提供了一个更新的工具DBUA

DBUA 工具提供了一个可视化的界面,它的作用等同于执行catupgrd.sql等脚本,dbua工具能升级Oracle 的一些组件。组件升级之后,该工具会自动编译无效的对象.

延生介绍

————————————————————————————————————————————————————————————————————————

升级数据字典

1. 为什么要执行升级数据字典的脚本? 首先就需要知道oracle 数据字典的作用了。

  如果不更新,

  a)  会出现数据库打不开,报ORA-00704:bootstrap process failure错误

  b) 出现ORA-27468错误。 详细错误信息为: Errors IN file /u01/app/oracle/admin/orcl/bdump/orcl1_j000_18724.trc: ORA-12012: error ON auto EXECUTE OF job 42791 ORA-27468: "EXFSYS.RLM$EVTCLEANUP" IS locked BY another process , 在MOS文档ORA-12012 ORA-27468: “SYS.PURGE_LOG” is Locked by Another Process [ID 751884.1]中介绍了这个错误。

解决问题的方法很简单,在闲时执行catupgrd.sql,完成升级组件的后续操作既可

http://www.oracledatabase12g.com/archives/%E6%B7%B1%E5%85%A5%E4%BA%86%E8%A7%A3oracle%E6%95%B0%E6%8D%AE%E5%AD%97%E5%85%B8%E5%8D%87%E7%BA%A7%E8%84%9A%E6%9C%ACcatupgrd-sql%E8%B0%83%E7%94%A8%E8%BF%87%E7%A8%8B.html


2. Oracle的spool命令可以用来将数据export出来到文本文件。Oracle的Import/Export命令用于备份和恢复比较有效,但对于一些临时数据量的导出,Export不好用,甚至不可用。在这里,就是spool的发挥之地了


编译失效对象

utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象. 

oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象。




以下是linux 下升级的链接

http://jinyu345.blog.163.com/blog/static/67778922011112010368882/

http://server.zol.com.cn/127/1274311.html