快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

ag8亚洲只为非同凡响0:Oracle数据库补丁分类、安装及管理(1)Oracle数据库



厂商供给给用户的软件补丁的形式多为编译后的库函数,以是安装软件补丁实际上便是把这些库函数拷贝到响应目录,并在必要时进行联接操作。软件公司一样平常在一段光阴后会把针对某一版本的所有补丁进行收拾:合并交融,办理冲突,进行整体测试,并使文件拷贝和联接操作自动履行,获得一个软件补丁“包 ”。不合的公司应用不合的名称,现在一样平常谋略机用户都认识的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中绝大年夜多半是在一些很少见的情况中,或者是多少个组件的繁杂组合应用的情形中发生的。

1. 网络信息

有关PSR的信息中,一个最紧张的文档便是软件补丁阐明,这个文件相称于技巧手册中的安装指南和发行阐明。文件本身包孕鄙人载的软件补丁文件之中,文件名是paag8亚洲只为非同凡响0tchnote.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版本;正常启动数据库开始数据库办事。

5. 反省操作结果并记录立案

履行一个操作,操作是否成功,必然要进行反省,不能简单觉得没有掉足信息便是成功。要知道验证的措施。撤除极个别极费光阴的验证(分区备份的内容是否可以成功规复系统,必须规复分区,启动数据库,测试利用系统后才能确认),另外操作都应进行验证。所有屏幕输出信息和日志文件都应保留,作为安装申报的附件提交给上级或客户。

在屏幕输出或日志文件中呈现非常/差错信息时,应即时阐发,抉择顿时采取的步伐。呈现严重差错时,可能必要ag8亚洲只为非同凡响0从新履行某一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.

更新数据字典时,因为对某些PL/SQL包删除后又从新天生,造成相关PL/SQL包的状态为非常(invalid)。在今后调用这些包时,检测到其状态为不法,会自动履行编译敕令,使状态成为正常(valid)。虽然不会掉足,但会造成个别处置惩罚第一次履行时变慢。显然,与其留到利用系统运行时再一个个编译,不如之前集中一次重编译所有非常包。SQL> SHUTDOWN

SQL> STARTUP

SQL> @?/rdbms/admin/utlrp.sql

着末,根据Known Issues中的唆使,完成与本系统有关的操作。例如,改动Pro*C的设置设置设备摆设摆设文件。这里履行一个改动文件存取权限的“后操作”,以便非同组用户和法度榜样可以存取ag8亚洲只为非同凡响0客户端对象和库函数。

$ cd $ORACLE_HOME/install

$ ./ changePerm.sh

个别补丁治理对象opatch

如前所述,在宣布一个PSR后发明的新BUG,只能把其补丁收入到下一个PSR中。假如对数据库有实质性影响,则这一补丁以个别补丁的形式向用户供给。个别补丁是与某一个特定的PSR关联,是安装在这一PSR之上的。别的,犹如其名字注解的,个别补丁只是单一Bug的补丁,不会包孕其他个别补丁,即不是累积型的。

在9.2版之前,安装个别补丁的操作完全是手工的。这种手工要领的毛病不仅在ag8亚洲只为非同凡响0于加重DBA的包袱,轻易造成操作掉误,更严重的是无法对已安装的个别补丁进行治理。

为办理手工要领的缺陷,从9.2版开始,Oracle公司设计实现了个别补丁安装治理对象opatch.opatch应用一个称为inventory的系统数据布局(严格说是与oui共享inventory),集中治理所有已安装的个别补丁;个别补丁的安装和卸载都应用opatch敕令完成,冲突检测也由opatch在安装时自动完成;供给列表敕令可以很方便获得已安装个别补丁的信息。

个别补丁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列表,则会看到这一个别补丁已经被移去。

应用opatch显示已安装的版本信息

不必要启动数据库,履行加选项的对inventory的列表敕令,可以获得已安装的软件的各个组件的具体版本信息。$ $ORACLE_HOME/OPatch/opatch lsinventory -detail

安然补丁CPU

一个CPU内包孕了对多个安然破绽ag8亚洲只为非同凡响0的修复,并且也包括响应必需的非安然破绽的补丁。CPU是累积型的,只要安装最新宣布的CPU即可,此中包括之前宣布的所有CPU的内容。事实上,在CPU之前的安然破绽改动撤除个别例外也被包括在CPU中。Oracle公司只对处于标准技巧支持和延长支持时代的产品供给CPU更新,对处于保持支持范围的产品不供给新的CPU.(对付9.2曩昔的版本,只对处于ECS和EMS时代的版本供给CPU更新。)一样平常对当前补丁发行版及前一个版本供给CPU,但也有只限于当前补丁发行版的例外情形。也便是说,一样平常必要先安装最新PSR后才可能安装CPU.因为是累积型的按期宣布,以是对付某一平台的某一版本,假如两次CPU宣布时代没有发明新的安然破绽,则新宣布的CPU与前一版本完全相同。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: