热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

11.2.0.1单实例数据库升级到11.2.0.3.18的步骤

11g数据库升级共有3种方式:DBUA,,MANUAL,EXPDPIMPDP+UPDATE我们比较熟悉的是前两种升级方式,至于第三种,官方文档是这样说的:UnlikeDBUAoramanualupgrade,theOracleDataPumpExportandImportutilitiesphysicallycopydatafromyourc

11g数据库升级共有3种方式:DBUA,,MANUAL,EXPDP/IMPDP+UPDATE 我们比较熟悉的是前两种升级方式,至于第三种,官方文档是这样说的: Unlike DBUA or a manual upgrade, the Oracle Data Pump Export and Import utilities physically copy data from your c

11g数据库升级共有3种方式:DBUA,,MANUAL,EXPDP/IMPDP+UPDATE

我们比较熟悉的是前两种升级方式,至于第三种,官方文档是这样说的:

Unlike DBUA or a manual upgrade, the Oracle Data Pump Export and Import utilities physically copy data from your current database to a new database. When upgrading from Oracle Database 10g Release 1 (10.1) or higher,Data Pump Export and Import are recommended for higher performance and to ensure support for new datatypes.

The Export utility of the current database copies specified parts of the database into an export dump file. Then, the Import utility of the new Oracle Database 11g release loads the exported data into a new database. However, the new Oracle Database 11g database must currently exist before it can be loaded from the export dump file.

When importing data from an earlier release, the Import utility of the new Oracle Database 11g release makes appropriate changes to data definitions as it reads export dump files from earlier releases.

If your database is earlier than Oracle Database release 10.1, then you can use the original Export and Import utilities to perform a full or partial export from your database, followed by a full or partial import into a new Oracle Database 11g database. Export/Import can copy a subset of the data in a database, leaving the original database unchanged.

详情可以参考官方文档:http://docs.oracle.com/cd/E11882_01/server.112/e23633/preup.htm#UPGRD12367

这里主要是用MANUAL方式来升级数据库到11.2.0.3

一、首先,安装数据库PSR 11.2.0.3(out-of-place upgrade--最佳实践方式)

我的11.2.0.1默认安装路径是E:\APP\ORACLE\PRODUCT\11.2.0\DB_1,这里注意要装到一个不同的目录里去,比如:E:\APP\ORACLE\PRODUCT\11.2.0\DB_2

二、运行utlu112i.sql脚本对数据库进行PRE-UPGRADE

其中会碰到一些预检测中碰到的问题,必须先一一解决掉

\

\

\

\

\

按照官方对于第一个WARNING的说明,推荐使用一个名叫check_schema_stale_stats.sql的脚本,可在官网下载到:

https://support.oracle.com/epmos/main/downloadattachmentprocessor?

该脚本用于检测哪些schema with stale optimizer statistics,并提供了收集数据字典状态的统计信息的脚本

\

第二个WARNING,下面直接给出了执行语句:PURGE DBA_RECYCLEBIN

三、停止Oracle的相关服务,包括em,sqlplus,lsnrctl,还有OracleServiceSID

四、执行catupgrd.sql升级数据字典

五、执行utlrp编译无效对象

六、测试数据库是否正确升级

SQL> select comp_id,comp_name,status from sys.dba_registery;

其实用DBUA方式升级,更容易些,具体方法可参考文档相关资料,下面给几个操作过程的图,一个是5个step

\

\

\

\

\

执行完整个过程,也要大约1个多小时

升级完11.2.0.3的PSR以后,再用Opatch升级PSU

一、解压缩PSU包到任意目录(注意,APPLY的时候必须进入该目录执行,否则报错)

二、如果Opatch软件版本过低,执行Opatch apply的时候会有提示,去官方下载新版的Opatch然后替换掉原来的,解压后复制黏贴到ORACLE_HOME/Opatch下覆盖掉原目录就可以了,当然你也可以把原来的目录先改个名,作为备份。比如改成:Optach_bak,不会影响使用的

\

这里提示最低要求的版本是11.2.0.1.9,而默认升级完11.2.0.3后自带的版本是11.2.0.1.7

三、先用opatch lsinventory查看一下目前opatch装了哪些补丁

\

这里,看到只装了一个11.2.0.3.0的主要PSR,并没有任何PSU补丁

四、执行opatch apply安装已经解压好的PSU补丁16345833

\

这里提示很多dll和jar文件正在被某些进程调用,返回error code 41。如果之前没有把oracle相关的服务和进程都关闭的话,就会提示该错误

如果你发现已经关闭数据库,并且和Oracle相关的Service和Process也都已经停掉了,但是还会报单独的一个oci.dll被占用的提示:

\

这个OCI.DLL是Oracle Call Interface的缩写,用于客户端和Oracle服务器之间进行远程通信的话,必须要用这个动态链接库文件,用过PL/SQL等工具的人应该不陌生吧,但是这里并没忽悠开启任何第三方的工具,怎么还会占用这个文件呢?

这里有两种方式可以解决该问题

一、修改Oracle Home的方式可以欺骗一下Opatch

1.修改Oracle Home路径(rename文件db_1的名字即可,或者改前面的第一个父目录E:\app\Oracle -> E:\app\Oacle2,目的就是让占用oci的程序无法正常调用)

2.重启系统

3.把Oracle Home路径改回原来的路径

4.重新执行Opatch

二、借助Microsoft公司的一个名叫procexp小工具

procexp是一个进程管理期的加强版,可以看到所有进程的运行情况,以及对应的文件路径,用它来查找是哪些进程占用了oci.dll文件,然后在任务管理器中关闭即可

\

这里非常清楚的告诉我们,有3个进程占用了Oracle Home中的oci.dll文件,我的环境Oracle Home是E:\app\oracle\product\11.2.0\db_2

其中procexp.exe是程序自己调用的,最后退出程序时就释放了,所以可以不用管,把剩下3个进程全部关闭,直到出现下图:

\

退出程序后,再次执行opatch apply,至此可以顺利执行了

用这个工具可以省去了重启服务器的麻烦,也不容易出错,所以推荐采用该方法来关闭oci.dll的占用。

接下去就是顺利安装PSU补丁了,开始的时候会提示你输入MOS邮件的账号密码,回车后按"Y"忽略即可,最后可以看到,Opatch顺利把PSU装完了

\

看到OPatch succeeded.字样就OK了,最后再用opatch lsinventory查看一下安装补丁后fix了哪些BUG,其实有几十个,后面内容省略掉了

\

我这里安装的PSU是16345833,版本是18,至此,数据库顺利升级完毕。


推荐阅读
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • Canopy环境安装与使用指南
    《利用Python进行数据分析》一书推荐使用EPDFree版本的环境,然而随着技术的发展,目前更多人倾向于使用Canopy。本文将详细介绍Canopy的安装及使用方法。 ... [详细]
  • MVC模式下的电子取证技术初探
    本文探讨了在MVC(模型-视图-控制器)架构下进行电子取证的技术方法,通过实际案例分析,提供了详细的取证步骤和技术要点。 ... [详细]
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 数据输入验证与控件绑定方法
    本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 美团安全响应中心推出全新配送业务测试活动,带来双重福利,邀您共同参与! ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 七大策略降低云上MySQL成本
    在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 解析Java虚拟机HotSpot中的GC算法实现
    本文探讨了Java虚拟机(JVM)中HotSpot实现的垃圾回收(GC)算法,重点介绍了根节点枚举、安全点及安全区域的概念和技术细节,以及这些机制如何影响GC的效率和准确性。 ... [详细]
author-avatar
黄欣豪972
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有