热门标签 | 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,至此,数据库顺利升级完毕。


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 大连微软技术社区举办《.net core始于足下》活动,获得微软赛百味和易迪斯的赞助
    九月十五日,大连微软技术社区举办了《.net core始于足下》活动,共有51人报名参加,实际到场人数为43人,还有一位专程从北京赶来的同学。活动得到了微软赛百味和易迪斯的赞助,场地也由易迪斯提供。活动中大家积极交流,取得了非常成功的效果。 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
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社区 版权所有