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


推荐阅读
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 在MySQL中更新密码时,首先需要在DOS窗口中切换到mysql安装目录,并使用`--skip-grant-tables`参数启动MySQL服务,以跳过权限表验证。接着,在MySQL命令行中执行相应的SQL语句来设置新密码。完成密码更新后,重启MySQL服务以使更改生效。此外,对于电脑快捷方式的修改,可以通过右键点击快捷方式,选择“属性”,在弹出的窗口中进行路径或目标的修改,最后点击“应用”和“确定”保存更改。 ... [详细]
  • 在数据库事务处理中,InnoDB 存储引擎提供了多种隔离级别,其中 READ COMMITTED 和 REPEATABLE READ 是两个常用的选项。本文详细对比了这两种隔离级别的特点和差异,不仅从理论角度分析了它们对“脏读”和“幻读”的处理方式,还结合实际应用场景探讨了它们在并发控制和性能表现上的不同。特别关注了行锁机制在不同隔离级别下的行为,为开发者选择合适的隔离级别提供了参考。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 在近期的项目开发过程中,ORM层采用了MyBatis,并且需要连接多个数据库,这带来了多数据源配置的挑战。为了解决这一问题,我们可以通过巧妙运用注解来实现优雅的数据源切换,确保系统的灵活性和可维护性。这种方法不仅简化了配置,还提高了代码的可读性和扩展性。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 在数据库设计中,谨慎使用外键至关重要。本文探讨了九个关键原因,包括数据完整性的维护、性能优化、系统复杂性的管理、数据迁移的灵活性以及对外部系统的依赖性控制。通过深入分析这些因素,可以帮助开发人员和架构师做出更明智的设计决策,确保数据库系统的高效与稳定。 ... [详细]
  • MySQL 数据备份与恢复的常见方法及其实践经验总结。物理备份涉及直接复制数据库文件,适用于大规模数据库环境,但无法在异构系统(如 Windows)中恢复。逻辑备份则侧重于导出建表语句和数据插入语句,便于跨平台迁移和部分数据恢复。此外,本文还探讨了增量备份、全量备份以及使用工具如 mysqldump 和 Percona XtraBackup 的具体应用场景和优缺点。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • Python爬虫入门:深入解析HTTP协议与Requests库的应用
    Python爬虫入门:深入解析HTTP协议与Requests库的应用 ... [详细]
  • 本文详细探讨了MySQL并发参数的优化与调整方法,旨在帮助读者深入了解如何通过合理配置这些参数来提升数据库性能。文章不仅介绍了常见的并发参数及其作用,还提供了实际操作中的调整策略和最佳实践,适合希望提高数据库管理技能的技术人员阅读。 ... [详细]
  • 解决MySQL 5.1服务器无法正确识别中文字符的问题
    在使用MySQL 5.1服务器时,可能会遇到无法正确识别中文字符的问题。由于相关资料较少且不够全面,本文将详细阐述解决方案。首先,需要检查MySQL的配置文件,确保字符集设置正确,并通过命令行工具验证当前的字符编码配置。此外,建议更新到最新版本以避免此类问题。 ... [详细]
  • SQL Server 客户端连接远程数据库时未指定端口导致 “用户 'sa' 登录失败 (错误 18456)” 的解决方案 ... [详细]
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社区 版权所有