大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
给软件打补丁相当于给人打预防针,对系统的稳定运行至关重要。本文详细、系统地介绍了Oracle数据库补丁的分类、安装、管理等问题。
10余年的华容网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整华容建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“华容网站设计”,“华容网站推广”以来,每个客户项目都认真落实执行。
厂商提供给用户的软件补丁的形式多为编译后的库函数,所以安装软件补丁实际上就是把这些库函数拷贝到相应目录,并在需要时进行联接操作。软件公司一般在一段时间后会把针对某一版本的所有补丁进行整理:合并融合,解决冲突,进行整体测试,并使文件拷贝和联接操作自动执行,得到一个软件补丁“包”。不同的公司使用不同的名称,现在一般计算机用户都熟悉的Windows Service Pack就是这样的补丁包。Oracle公司给出的补丁包的名称是Patch Set,安装Patch Set后的版本称Patch Set Release(PSR)。
Oracle公司对处于标准技术支持的产品不定期地提供PSR,例如在完成本文时,版本10.2的最新PSR是10.2.0.2;版本10.1的最新PSR是10.1.0.5;版本9.2的最新(也极可能是最终)PSR是9.2.0.8。
在安装最新PSR后新发现的Bug,其相应补丁当然会收录到下一个PSR中。PSR是累积型的,即下一个PSR中会包括当前PSR中所有补丁和新发现Bug的补丁。同时存在几个PSR时,只需安装最新版本一次就可以了。但是由于PSR的发行有一定间隔,如果这些Bug对用户有比较大的影响,那么 Oracle公司也会向用户公开和提供这些补丁,这些补丁被称为个别补丁(Interim Patch,one-off patch 或 Patch Set Exception)。而对于最终补丁发行版而言,由于不再有下一个PSR,所以当发现影响系统的新Bug时,个别补丁成为惟一选择。
此外,Oracle公司还定期发布安全补丁,称之为CPU(Critical Patch Updates)。安全补丁用来修复软件的易受攻击性(vulnerability)或通常说的安全漏洞。这类问题本来不属于软件错误,在正常使用中不会出现任何问题。但是别有用心的人可以通过运行非常精巧设计的代码,绕过数据库系统的安全管理机制,达到非授权存取的目的。
另外还存在一类补丁:诊断用补丁(diagnostic patch)。顾名思义,这类补丁不是用来解决问题的,而是用来寻找问题的原因的。这类补丁只在Oracle技术支持部门要求安装时,才需要安装。在得到需要的诊断信息后,应立即卸载这一补丁。
利弊及时机选择
负责管理支撑大型应用系统的数据库的DBA会容易理解安装软件补丁的代价。安装PSR需要停止数据库服务,关闭数据库,对于许多应用系统安排这样的停机时间本身就是一件比较困难的事情。事实上,更为严重的是由于安装PSR可能“引入”新的Bug,反而影响应用系统的正常运行。软件补丁本来是修正 Bug,怎么会带来新的Bug?虽然有些让人匪夷所思,但很不幸这是现实存在的。
对于每一个PSR,其中都包括了少则几百多则上千个严重Bug的修正。即便是如此,在PSR发布后,很快就又会在安装PSR后的数据库中发现一些新问题。其中一部分Bug是以前就一直存在的只是以前没有发现,而现在偶尔被发现,或者是由于PSR修正了某一错误从而将其“激活”或容易发现。但是确实有一些Bug是由这一PSR造成的,Oracle技术支持部门称其为倒退(Regression)。对于每一PSR,在metalink中有两个重要的与之有关的文档,一个是“List of fixes added in XXXX”,是这一PSR修复的Bug的清单,是一本“修复列表”;另一个是“Known issues and alerts affecting XXXX”,是安装PSR后发现的问题,可以称其为“悔过列表”。由于大型软件的复杂性,Bug几乎是不可避免的。重要的是能够及时提供信息,DBA可以结合自己系统的情况做出正确的判断。读者不必因为知道还存在着Bug,就对Oracle数据库产品失去信心。PSR修复的上千个Bug中绝大多数是在一些很少见的环境中,或者是若干个组件的复杂组合使用的情形中发生的。
如果系统在运行中出现过某种问题,由Oracle技术支持部门或第三方的专家确认原因是PSR中的某一Bug,这样就必须尽早安装;如果系统一直运行正常,并且在PSR已发现的问题中涉及的组件或功能(如Logical Standby, JVM,RAC等)在系统中并不使用,此时可以选择安装也可以选择不安装。
另一个需要考虑的因素是安装补丁的时机。上述这些考虑的一个重要前提是系统已经投入运行,担心“倒退”的Bug影响系统。如果系统还处在开发和测试阶段,不需要有任何犹豫,安装最新的PSR,并在此基础上测试应用系统是否工作正常。如果发现异常,要及时请Oracle技术支持部门确认是否新Bug,如果是请其提供个别补丁。目的就是在一个尽可能完善稳定的数据库平台上测试应用系统。我们可以把这种安装补丁的策略概括为“补丁补新不补旧”。
以上都是针对PSR的安装,对于个别补丁,由于补丁修复的Bug单一,容易判断是否需要安装。需要注意的是,如果在当前PSR之上安装了若干个个别补丁,那么在下一个PSR发布后,在安装下一个PSR之前,需要卸载所有个别补丁。为便于管理,现在Oracle技术支持部门要求必须使用工具 opatch安装管理个别工具,而尽量避免手动拷贝文件等操作。
最后是安全补丁安装的判断。虽然安全漏洞这个词看上去让人觉得非常严重,但是还要冷静综合分析这些漏洞在系统中的危害程度。事实上,不安装安全补丁的危险性可能远远小于始终不渝地使用scott/tiger这样人人都知道的用户名和口令的“标准缺省”做法。
安装PSR
使用oui工具安装PSR时只需要用鼠标做几个选择就可以进入自动执行的阶段,操作过程本身非常简单。但是如果要求必须一次安装成功;要求必须在凌晨2点到4点这个有限的停机时间段完成操作;要求安装过程不出差错,以后出现问题时能够完全排除此次操作失误的可能性,那么就需要在启动oui之前做一些准备工作。
1. 收集信息
有关PSR的信息中,一个最重要的文档就是软件补丁说明,这个文件相当于技术手册中的安装指南和发行说明。文件本身包含在下载的软件补丁文件之中,文件名是patchnote.htm或README.html。需要注意的一个问题是在软件补丁文件之中找到的这一Patch Set Notes可能不是最新版,可以根据文件内的提示信息在metalink中检索最新版。
另外两个重要文件就是前面已经提及的“修复列表”和“悔过列表”,相对于“修复列表”更应该仔细阅读“悔过列表”中的每一项内容。另外,在Patch Set Notes的已知问题(Known Issues)一节内列出了安装PSR后出现的一些问题。
除去这三个主要文件外,还应在metalink中检索,寻找是否还有其他涉及这一PSR的技术文章,寻找其他用户在安装这一PSR时或安装后遇到问题时所发的救助的帖子,前车之鉴更应重视。
2. 做出判断
在认真阅读收集到的文章之后,根据自己系统的实际情况,做出是立即安装PSR,或是等待下一PSR的决定。如果是暂缓安装,则要记录原因,以便以后跟踪Bug的修复进程。
3. 制订实施计划
在决定安装PSR后,需要制订一个实施计划。在计划中不仅要包括正常的操作步骤,更要考虑在出现意外时的应急处理(如果安装PSR失败,则在正常应用开始时间之前,要恢复系统到安装之前的状态)。如果可能,在对正式系统开始实施之前,应在测试系统中进行演练和应用处理的测试,保证在安装PSR后不会影响应用系统的运行。
安装PSR的计划大致有以下几个部分:停止数据库服务关闭数据库;备份DBMS软件和数据库以备恢复之用;安装PSR软件;更新数据库数据字典升级PSR版本;正常启动数据库开始数据库服务。
看似简单的关闭数据库的操作,在系统构成复杂时也会变得不容易。另外,如果夜间作业时间不允许在完成数据库完全备份之后再安装PSR,则安装PSR的日期应该选择在例行的数据库完全备份的下一个晚上,只备份重做日志。
在安装PSR之前备份DBMS软件的目的是,由于安装PSR会对许多程序和库函数进行更新,如果安装PSR中途失败(虽然可能性非常小),有可能造成DBMS软件出现不一致。另外一种可能的情形是,在安装PSR,更新数据字典后,测试应用系统时,出现了某种异常,原因不明,最终决定放弃PSR。如果操作之前没有备份,则此时只有重新安装软件一种选择(PSR不同于完整软件安装,在oui中无法单独卸载PSR软件)。
对文件、目录和文件系统的备份,最简单的方式可以使用cp、tar、dump等命令完成。如果希望缩短文件拷贝时间,可以考虑分区备份的方法。分区备份常用的命令是dd。但是,分区拷贝比文件拷贝速度快的前提是良好的分区设计:Oracle软件单独占一个大小适中(如4GB)的分区,这样扇区拷贝才会体现优势,这也就是为什么在安装软件时,Oracle建议单独使用一个分区安装软件的原因之一。
在制定实施计划时,应认真阅读Patch Set Notes中有关操作前准备工作一节。在这节内会介绍对于一些特殊系统构成,如果你的系统属于文档中提到的构成,一定要首先阅读文内提示的相关技术文章,找到正确的安装步骤。
使用oui, PSR软件安装完成后,一定不要忘记更新数据字典这一步骤。如果在这一ORACLE_HOME下生成了多个数据库,则每个数据库都必须更新数据字典。
. 实施操作
制订一个详细的计划后,实施操作就可以“照本宣科”,是一个简单的体力劳动。要认识到“忙中出错”的概率远比“急中生智”大得多,操作时尽量减少失误的可能性。例如,需要执行的复杂命令,尽可能从一个文件拷贝到终端执行,而不要现场输入。另外,在实施过程中,要记录各个阶段实际的执行时间,以供以后制订类似计划时参考。
5. 检查操作结果并记录备案
执行一个操作,操作是否成功,一定要进行检查,不能简单认为没有出错信息就是成功。要知道验证的方法。除去极个别极费时间的验证(分区备份的内容是否可以成功恢复系统,必须恢复分区,启动数据库,测试应用系统后才能确认),其余操作都应进行验证。所有屏幕输出信息和日志文件都应保留,作为安装报告的附件提交给上级或客户。
在屏幕输出或日志文件中出现异常/错误信息时,应即时分析,决定马上采取的措施。出现严重错误时,可能需要重新执行某一SQL程序,或者重新安装PSR。所以在制订实施计划时应在时间上留出异常情况处理的时间。
下面给出一个在Linux平台上安装10.1的PSR的实例,给从未安装PSR的读者有一个感性认识。
操作系统是RHEL AS4.0 Update3,Oracle的当前版本是10.1.2。在metalink中检索,找到10.1版的最新PSR10.1.0.5。下载压缩文件。在压缩文件中找到Patch Set Notes,该文档的完成日期是2006年1月。而按照文档内的提示在metalink中检索得到的此文档的最新版本完成日期是2006年4月。使用文件比较工具进行比较,两个版本没有实质性差别,只有语句措词的修改,但是养成总是检索最新文档的习惯有益无害。
根据Patch Set Notes中的说明,有一些特殊系统构成需要额外的步骤,本例中由于全部没有涉及到,所以可以按标准步骤执行。
另外,检查“Known issues and alerts affecting 10.1.0.5”文档后,发现10.1.0.5引入的影响最大的一个Bug是执行SELECT MAX()在某些特定条件下结果不正确。而这一Bug可以通过设置事件(event)关闭FIRST ROW优化而避免。最后的结论是这一BUG不会对本系统有影响,可以安装PSR10.1.0.5。
1. 检查数据库表空间和初始化参数是否需要调整。
System表空间要求有一定未使用空间:初始化参数SHARED_POOL_SIZE 和 JAVA_POOL_SIZE不能低于最小值150MB。
2. 关闭数据库,停止listener和agent等进程。
3. 解压缩下载文件至某一目录,执行oui。
在压缩文件中附带的oui的版本要比已经安装的版本高,应总是使用新版本的oui。在oui窗口中,要求选择本次安装的软件的位置,正确的位置是解压缩目录下的子目录Disk1/stage/, 选中products.xml即可开始文件拷贝。
要注意窗口中会出现本次安装的日志文件的文件路径和文件名。文件的位置是在Oracle的inventory所在目录的子目录logs中,文件名由前缀InstallActions和安装日期时间组成,如: InstallActions2006-08-30-11-32-48AM.log。
正常结束后,退出oui。打开日志文件,检索是否出现error 或“ORA-”的错误信息。本次安装产生的日志文件内,没有任何此类的信息,表明PSR软件安装成功。如果此时再次启动oui,点击“已安装软件”,则可以看到在原有的10.1.0.2软件之下,新出现了10.1.0.5一项,这也证实PSR软件安装成功。
4.更新数据库数据字典
更新数据字典时,必须以特殊的升级方式打开数据库。
$ sqlplus /nolog
SQL CONNECT / AS SYSDBA
SQL STARTUP UPGRADE
SQL SPOOL patch.log
SQL @?/rdbms/admin/catpatch.sql
执行结束后,关闭重定向:
SQL SPOOL OFF
打开文件patch.log检查是否有错误“ORA-”。(这一文件在启动sqlplus时的当前目录中,当然也可以在“SPOOL patch.log”语句中显式指定文件路径。)如果出现错误要分析原因,在解决问题后,需要再次执行catpatch.sql程序。
更新数据字典时,由于对某些PL/SQL包删除后又重新生成,造成相关PL/SQL包的状态为异常(invalid)。在以后调用这些包时,检测到其状态为非法,会自动执行编译命令,使状态成为正常(valid)。虽然不会出错,但会造成个别处理第一次执行时变慢。显然,与其留到应用系统运行时再一个个编译,不如之前集中一次重编译所有异常包。
SQL SHUTDOWN
SQL STARTUP
SQL @?/rdbms/admin/utlrp.sql
最后,根据Known Issues中的指示,完成与本系统有关的操作。例如,修改Pro*C的配置文件。这里执行一个修改文件存取权限的“后操作”,以便非同组用户和程序可以存取客户端工具和库函数。
$ cd $ORACLE_HOME/install
$ ./ changePerm.sh
个别补丁管理工具opatch
如前所述,在发布一个PSR后发现的新BUG,只能把其补丁收入到下一个PSR中。如果对数据库有实质性影响,则这一补丁以个别补丁的形式向用户提供。个别补丁是与某一个特定的PSR关联,是安装在这一PSR之上的。另外,如同其名字表明的,个别补丁只是单一Bug的补丁,不会包含其他个别补丁,即不是累积型的。
在9.2版之前,安装个别补丁的操作完全是手工的。这种手工方式的缺点不仅在于加重DBA的负担,容易造成操作失误,更严重的是无法对已安装的个别补丁进行管理。
为解决手工方式的缺陷,从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch。opatch使用一个称为 inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch 命令完成,冲突检测也由opatch在安装时自动完成;提供列表命令可以很方便得到已安装个别补丁的信息。
10g(10.1和10.2)版本中,opatch作为一个标准工具,在软件安装时自动安装。(安装在$ORACLE_HOME/OPatch 下。)而对于9.2版,需要从metalink下载opatch。无论数据库是哪一个版本,系统中是否已经安装opatch,在使用之前,应从 metalink下载最新版本的opatch。很遗憾,由于系统实现的问题,10.2使用的opatch与之前版本(10.1和9.2)使用的 opatch不兼容,不能混用,这一点必须注意。
opatch是使用perl编写的脚本程序(其中也使用JAVA API)。编程使用的perl版本是5.6版,虽然在5.6之前的版本中也可运行,但应尽可能安装5.6或以上的版本的perl。对于DBA来说一个好消息是,如果安装9.2版软件时保留了HTTP服务器,则在$ORACLE_HOME/Apache下会自动安装perl。(10g会自动安装配置perl 和opatch。)
opatch命令格式为:
opatch command [ command_options ] [ -h[elp] ]
命令有:apply(安装个别补丁)、rollback(卸载个别补丁)、lsinventory(对inventory进行列表)、query (显示某一个别补丁的详细信息)、version(显示opatch版本信息)。在opatch目录下,有用户使用指南文件(Users_Guide.txt),其中有详细的命令格式和使用示例,读者可以参考。Opatch执行操作时,除在屏幕输出结果外,还生成日志文件。日志文件的路径和文件名格式如下:
$ORACLE_HOME/.patch_storage/ patch_id / action - patch_id _ mm-dd-yyyy_hh-mi-ss .log
其中“patch_id”是Oracle技术支持部门为个别补丁分配的编号。
4. 个别补丁安装实例
沿用安装PSR实例中的环境。在安装PSR10.1.0.5后,检索metalink,发现若干在其之上的个别补丁。选择其中之一安装。
个别补丁Patch 4518443修复BUG4518443,这一BUG的主要问题是TNS LISTENER在注册ONS(Oracle Notification Services)的同时如果创建子进程,那么LISTENER会挂起(HANGUP)。
安装时,首先,从metalink下载补丁的压缩文件p4518443_10105_LINUX.zip。将此文件解压缩至某一目录中。解压缩后,这一补丁的所有文件都在子目录4518443下,目录名就是个别补丁的补丁号,opatch依据目录名获得信息,所以一定不要重命名子目录。
然后,在终端窗口中,执行cd命令移动到4518443子目录中,执行以下命令:
$ $ORACLE_HOME/OPatch/opatch apply
对inventory列表,确认安装操作:
$ $ORACLE_HOME/OPatch/opatch lsinventory
执行卸载命令时,也必须使4518443子目录成为当前目录。其中,Rollback命令需要两个参数:-id给出个别补丁号;-ph 给出个别补丁解压缩后的路径。
$ $ORACLE_HOME/OPatch/opatch rollback -id 4518443 -ph /…/4518443
随后再对inventory列表,则会看到这一个别补丁已经被移去。
4. 使用opatch显示已安装的版本信息
不需要启动数据库,执行加选项的对inventory的列表命令,可以得到已安装的软件的各个组件的详细版本信息。
$ $ORACLE_HOME/OPatch/opatch lsinventory -detail
安全补丁CPU
一个CPU内包含了对多个安全漏洞的修复,并且也包括相应必需的非安全漏洞的补丁。CPU是累积型的,只要安装最新发布的CPU即可,其中包括之前发布的所有CPU的内容。事实上,在CPU之前的安全漏洞修改除去个别例外也被包括在CPU中。Oracle公司只对处于标准技术支持和延长支持期间的产品提供CPU更新,对处于维持支持范围的产品不提供新的CPU。(对于9.2以前的版本,只对处于ECS和EMS期间的版本提供CPU更新。)一般对当前补丁发行版及前一个版本提供CPU,但也有只限于当前补丁发行版的例外情形。也就是说,一般需要先安装最新PSR后才可能安装CPU。由于是累积型的定期发布,所以对于某一平台的某一版本,如果两次CPU发布期间没有发现新的安全漏洞,则新发布的CPU与前一版本完全相同。
上帝_无言
关注
Oracle数据库打补丁方法 原创
2022-04-29 17:54:42
 1点赞

上帝_无言 
码龄5年
关注
本篇仅针对DB 12.1.0.2.0 版本12C 的Opatch工具打补丁来讲解
Oracle 补丁过程
一,全库备份 oracle
用户:
abcdef
密码:
123
数据库:
ruru
全库导出命令
exp abcdef/123@ruru file=E:\bak.dmp full=y
二,关闭实例,关闭进程,关闭监听器。
1.开始菜单搜索,打开Sqlplus, 输入 /as sysdba 登录
2.执行 shutdown immediate 关闭数据库实例,
3.停止相关服务,打开任务管理器,服务列,找到oracle相关服务右键停止

4.停止相关进程,打开任务管理器,进程列,找到相关进程 结束进程。

三,备份Opatch, 解压补丁,打补丁。
1.opatch 文件夹备份,防止错误,可以恢复。

2.开始菜单搜索 命令提示符, 右键 以管理员身份运行,
进入到 %ORACL_HOME%\APP\product\12.1.0\dbhome_1\OPatch

再进入相关补丁文件内 执行 …\opatch apply 命令执行打补丁过程

最后显示 Successed 即为打补丁成功。
四,启动相关进程,启动oracle, 更新sql.
1.启动之前关闭的服务器 服务列中相关服务,点击开始,

2.使用sqlplus连接数据库,启动实例
开始菜单搜索,打开Sqlplus, 输入 /as sysdba 登录
3.使用 startup 命令启动数据库实例。
4. 使用 PL/SQL 测试是否可以正常连接数据库,
如果连接失败 运行打开PDB, 如果正常连接 则不需要。
alter pluggable database all open;
5.更新注册信息 到数据表,
在sqlPlus中 执行该命令
@?/rdbms/admin/dpload.sql
最后结果出现如下图,即为打补丁成功。

文章知识点与官方知识档案匹配
MySQL入门技能树使用数据库 创建和删除数据库
29055 人正在系统学习中
打开CSDN,阅读体验更佳
Windows环境下给oracle打补丁详细教程_范微的博客
检测当前数据补丁安装情况。C:\WINDOWS\system32opatch lsinventory Invoking OPatch 11.1.0.6.6 Oracle 中间补丁程序安装程序版本 11.1.0.6.6 版权所有 (c) 2009, Oracle Corporation。保留所有权利。 Oracle 主目录 : F:\app\mr_...
oracle滚动打补丁,使用Oracle Opatch打补丁_从一小姐的博客
1: MOS上下载对应的补丁(support.oracle.com); 2: 在打补丁前,有条件的情况下对数据库进行一次全备份; 检查数据库环境: 每个补丁的应用都有一定的环境,包含数据库版本,Opatch版本,我们通过命令opatch Isinventory来进行检查,操作如下:...
Oracle数据库如何打补丁
Oracle安装好后,还需要打上补丁,才能够稳定地运行的哦。
mysql漏洞如何打补丁_【补充】Mysql数据库测试及使用环境搭建教程
一、背景介绍Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称叫做MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。那么如何利用Metasploit(msf)进行Mysql弱口令爆破呢?如何搭建Sql靶机呢?接下来让我们一起学习!二、资...
继续访问
Oracle 11.2.0.4打补丁的方法_蚁库的博客
Oracle 11.2.0.4打补丁的方法 一、概述 本文主要介绍了Oracle 11.2.0.3 升级到11.2.0.4的补丁的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 二、打补丁 所需补丁及高版本opatch...
oracle数据库如何打补丁_DoveFeng的博客
为解决手工方式的缺陷,从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch.opatch使用一个称为inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch命令完成,冲突检测...
Oracle补丁就该这么打
Oracle补丁就该这么打 原创 金震宇 IT那活儿 今天 [ 补丁集下载 ] oracle打补丁最常见原因为bug修复或安全迎检漏洞修复需要打到最新的补丁版本。下文的经验之谈是基于rac环境,19c版本的最新补丁集的过程分享。 可以参考《Assistant:Download Reference for Oracle Database/GI Update, Revision, PSU,SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc I
继续访问
最新发布 Oracle rac 19C(19.16)补丁升级(OPatch 34130714)操作过程
在升级完成后本次操作有个实例未能启动,手动通过集群命令进行拉起此告警实例。6.完成数据字典更新后关闭实例进行OJVM升级,再次进行数据字典升级。6.完成数据字典更新后关闭实例进行OJVM升级,再次进行数据字典升级。2.两个节点grid、oracle替换OPatch工具。2.两个节点grid、oracle替换OPatch工具。2.两个节点备份grid、oracle家目录。2.两个节点备份grid、oracle家目录。5.节点一所有实例,进行数据字典更新。5.节点一所有实例,进行数据字典更新。
继续访问
记录Oracle rac 19C(19.15)补丁升级(OPatch 33803476)操作过程
提示以下是本篇文章正文内容,下面案例可供参考。
继续访问
Windows环境下给oracle打补丁详细教程
Windows环境下给oracle打补丁详细教程
继续访问

oracle 打补丁
oracle 11G补丁安装
继续访问
小白入门(九):Oracle数据库打补丁操作过程
文章目录前言简要介绍:一.OPatch 更新:1、检查目前补丁包版本($ORACLE_HOME下):2、创建目录备份当前Opatch工具:3、传输压缩包并解压Opatch工具至$ORACLE_HOME下:二、应用PSU补丁:1、Oraclehome下创建目录解压PSU补丁:2、执行oracle 中间补丁安装程序:3、停止监听以及数据库:4、应用补丁:三、数据库应用补丁:1、升级数据库数据字典、编译无效对象 :2、查看 PSU 更新信息3、opatch 检查:1、升级前检查是否有冲突1.1测试兼容性, 如果之
继续访问
oracle 补丁,Oracle补丁介绍一
【前言】保证数据库的稳定与安全运行是DBA的价值所在,Oracle Database本身也是一个软件,随着系统的使用场景和使用深度的增加一些原本没被发现的漏洞或BUG就会逐渐被发现。所以成熟的IT企业,往往会定期对数据库进行安全检查和补丁的更新;【一】Oracle版本命名规则在进行Oracle更新补丁之前,先对Oracle的版本命名有个认识。从9i之后,oracle版本命名规则定义如下:A.B.C...
继续访问
热门推荐 mysql[漏洞打补丁]小版本升级5.7.25到5.7.28
mysql[漏洞]小版本升级 事件背景 近日,公司进行安全扫描,发现mysql存在漏洞,高危漏洞编号为(CVE-2019-3822),此外还有多个中危,低危漏洞,目前mysql版本为5.7.25 解决方案 对mysql进行小版本升级到5.7.28,生产环境无法联网,用rpm 包离线安装,选择就地升级。 Mysql的两种升级方式 就地升级(In-place Upgrade) 关闭旧版本mys...
继续访问

Oracle打补丁步骤
1、登录MOS,在patchesupdates查找自己想要安装的补丁号或者bug code,下载补丁。同时查阅readme,这里面写的是怎么安装补丁以及安装补丁的事项。 2、将下载好的zip文件传入要打补丁的主机。解压到一个文件夹里(可以是自己临时创建的一个文件夹PATCH_TOP_DIR,但需要注意整个文件夹包括里面的文件的属主都修改为oracle) 3、关闭数据库...
继续访问
Oracle 11.2.0.4 RAC 手动打补丁
1 补丁介绍 GI补丁一般包括DB补丁,在打GI补丁过程中会自动打上DB补丁。也就是说GI版本=DB版本 比如下载GI补丁包p26635745_112040_Linux-x86-64,解压其实里面包括22502505、26392168、26609929三个目录,而DB补丁包p26392168_112040_Linux-x86-64.zip解压后就是26392168目录 1. 1 下载补丁和...
继续访问
oracle滚动打补丁,ORACLE打补丁的方法和案例
打补丁使用opatch工具,具体操作方法以补丁包中的readme.txt为准1.查看某个补丁是否安装的方法(下面命令不行就升级opatch)$ORACLE_HOME/OPatch/opatchlsinventory2.下载补丁包查看当前opatch版本。Oracle 11.2.0.1.0自带的opatch版本是11.1.0.6.6。补丁包的README.html中有描述该补丁或PSU需要的最低版本...
继续访问

oracle滚动打补丁,Oracle打补丁过程补丁7272646
redhat enterprise linux 6.1安装oracle 11.1.0.6.0,会提示错误:OUI-18001:the operating systemRedHat enterprise linux 6.1安装Oracle 11.1.0.6.0会提示错误:OUI-18001:the operating system 'Linux
1、 环境介绍
我们选择11gR2作为实验环境。
SQL select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
在安装目录$ORACLE_HOME下,是自带一个OPatch工具包的。一般小版本的升级,都是通过OPatch来完成。
[oracle@bsplinux ~]$ cd $ORACLE_HOME
[oracle@bsplinux oracle]$ ls -l | grep OPatch
drwxr-xr-x 8 oracle oinstall 4096 Oct 23 20:00 OPatch
不过,同Oracle自带的Uninstall一样,11.2.0.1自带的OPatch的版本是不能提供升级功能的。所以,我们通常需要首先升级OPatch,之后才能进行打补丁。
2、OPatch升级
首先,我们需要确定当前的OPatch版本。进入OPatch目录之后,可以通过版本首先确认。
[oracle@bsplinux OPatch]$ ls -l
total 92
drwxr-xr-x 2 oracle oinstall 4096 May 22 16:16 docs
-rw-r--r-- 1 oracle oinstall 21576 May 6 2009 emdpatch.pl
drwxr-xr-x 2 oracle oinstall 4096 May 22 16:16 jlib
drwxr-xr-x 5 oracle oinstall 4096 May 22 16:16 ocm
-rwxr-xr-x 1 oracle oinstall 8709 May 6 2009 opatch
-rw-r--r-- 1 oracle oinstall 49 May 22 16:22 opatch.ini
-rw-r--r-- 1 oracle oinstall 2576 May 6 2009 opatch.pl
drwxr-xr-x 4 oracle oinstall 4096 May 22 16:16 opatchprereqs
[oracle@bsplinux OPatch]$ ./opatch version
Invoking OPatch 11.1.0.6.6
OPatch Version: 11.1.0.6.6
OPatch succeeded.
11.2.0.1自带的OPatch版本为11.1.0.6.6,我们需要首先升级OPatch。第一步是进行原有OPatch备份。
[oracle@bsplinux oracle]$ tar zcvf opatch_bk.tar OPatch
OPatch/
OPatch/opatchprereqs/
OPatch/opatchprereqs/prerequisite.properties
(篇幅原因,省略部分内容)
OPatch/jlib/opatchprereq.jar
OPatch/opatch
OPatch/opatch.ini
[oracle@bsplinux oracle]$ ls -l | grep opatch
-rw-r--r-- 1 oracle oinstall 1187195 Oct 23 19:06 opatch_bk.tar
最新版本的OPatch可以从MOS上面下载到,补丁文件名称为:p6880880_112000_LINUX.zip(For Linux 32)。
[oracle@bsplinux upload]$ ls -l | grep p688
-rw-r--r-- 1 root root 32510812 Oct 23 19:58 p6880880_112000_LINUX.zip
--解压到ORACLE_HOME目录上
[oracle@bsplinux upload]$ unzip p6880880_112000_LINUX.zip -d $ORACLE_HOME
Archive: p6880880_112000_LINUX.zip
creating: /u01/app/oracle/OPatch/oplan/
(篇幅原因,省略部分……)
inflating: /u01/app/oracle/OPatch/crs/s_crsconfig_defs
inflating: /u01/app/oracle/OPatch/crs/s_crsconfig_lib.pm
之后,验证OPatch安装成功。
[oracle@bsplinux OPatch]$ ./opatch version
OPatch Version: 11.2.0.3.0
OPatch succeeded.
[oracle@bsplinux OPatch]$
3、补丁安装
如果OPatch不是最新的版本,直接安装PSU可能会有各种的问题。更新OPatch之后,我们就可以下载对应的PSU进行更新。
[oracle@bsplinux upload]$ ls -l | grep p12
-rw-r--r-- 1 root root 18510829 Oct 23 19:35 p12419378_112010_LINUX.zip
[oracle@bsplinux upload]$ unzip p12419378_112010_LINUX.zip -d $ORACLE_HOME
(省略)
[oracle@bsplinux oracle]$ cd 12419378/
[oracle@bsplinux 12419378]$ ls -l
total 60
drwxr-xr-x 3 oracle oinstall 4096 Jul 8 2011 custom
drwxr-xr-x 4 oracle oinstall 4096 Jul 8 2011 etc
drwxr-xr-x 12 oracle oinstall 4096 Jul 8 2011 files
-rwxr-xr-x 1 oracle oinstall 2871 Jul 8 2011 patchmd.xml
-rw-rw-r-- 1 oracle oinstall 40790 Jul 18 2011 README.html
-rw-r--r-- 1 oracle oinstall 21 Jul 8 2011 README.txt
将数据库和监听程序关闭。
[oracle@bsplinux OPatch]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 23 19:26:11 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL conn / as sysdba
Connected.
SQL shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL quit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@bsplinux OPatch]$ lsnrctl stop
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-OCT-2012 19:26:55
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
The command completed successfully