1、图解 Oracle 数据库小版本升级过程本文演示了从 oracle 10.2.0.1.0 升级到 10.2.0.4.0 的过程,类似这种情况的升级就叫小版本升级,如果是从 10.1.0.1.0 升级到 10.2.0.4.0 或者从 oracle 10g 升级到 11g 就叫大版本升级,在这种情况下通常是先将当前数据库通过 EXPDP(exp)或者 RMAN 做全备份,升级数据库软件,然后再用 IMPDP(imp)或者 RMAN 恢复到新的数据库。在这个例子中也要做数据库备份,只是升级完成后不用作数据恢复。Fig-1首先用 system 用户连接到数据库,使用上图的命令查询当前数据库中是否有无效
2、的对象,如果有的话,先重新编译这些对象,使它的状态变为 VALID,当然有可能有些对象由于代码等原因仍然为 INVALID 状态。接着断开连接,用 SYS 用户连接数据库,目的在后面会说明。Fig-2Fig-3Fig-4安装程序默认会选择一个新的安装目录,我们需要把它改到当前的 Oracle_home 目录,方法就是把名称的值改为 OraDb10g_home1,然后按 TAB 键,下面的路径会自动改变。Fig-5Fig-6Fig-7Fig-8点击 Fig-7 的下一步,系统会提示 OracleServiceORCL 服务正在运行,这时需要通知所有在使用该数据库特别是正在对数据进行修改或新增数据
3、的用户尽快退出。等所有用户都退出以后用 shutdown immediate 命令关闭当前实例,如 Fig-9 示。Fig-9等看到“Oracle 例程已经关闭”的信息后再到服务里关闭所有以“Oracle”开头的那些服务,具体有哪些可以参考图解 Oracle 10g 标准版安装及后续配置 。Fig-10Fig-11关闭所有服务后点击 Fig-8 中的重试,会看到如下图界面。这里直接点击下一步。Fig-12Fig-13Fig-14Fig-15因为当前系统中存在一个数据库实例,所以在完成管理软件升级后必须运行 Database Upgrade Assistant 对这个实例进行升级,否则会无法打开
4、该实例数据库。Fig-16Fig-17Fig-18Fig-19Fig-20Fig-21Fig-22我们之前已经备份过数据库,所以不需要用这个工具做一个数据库的冷备份物理拷贝数据库的控制文件,重做日志,数据文件,SPFILE 等。Fig-23Fig-24Fig-25Fig-26需要说明的是在完成后拖动 Fig-26 中的滚动条可能会看到有些任务比如 OLAP 失败,这和数据库当前启用了哪些组件相关,不影响数据库的正常工作,详细情况可以看下图的文档。Fig-27Fig-28最后重新连接数据库,查看当前的 INVALID 对象,如果没有新的 INVALID 对象产生,那么可以让用户连接数据库,查看数据的查询和修改等功能是否正常,如果有新的对象产生,就要联系开发人员来排除是否是代码的原因造成的,必要的时候要到 Oracle Support 网站上登记一个 case,请顾问帮忙解决。