厂商提供给用户的软件补丁的形式多为编译后的库函数,所以安装软件补丁实际上就是把这些库函数拷贝到相应目录,并在需要时进行联接 *** 作。软件公司一般在一段时间后会把针对某一版本的所有补丁进行整理:合并融合,解决冲突,进行整体测试,并使文件拷贝和联接 *** 作自动执行,得到一个软件补丁“包”。不同的公司使用不同的名称,现在一般计算机用户都熟悉的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漏洞不能升级Oracle 公司 于 2021 年 1 月 19 日,发布了第一个年度安全预警。其中,有 8 个安全警告和 Oracle 数据库部分有关。目前,可以通过最新的 CPU 补丁,可以修复这个安全漏洞。
以下是这 8 个安全漏洞:
CVE-2021-2018
该漏洞无需身份验证即可远程利用,入侵者可以通过网络利用这些漏洞并且不需要用户凭据。给出的安全系数风险评分是 8.3 分。不过,此攻击复杂度较高,也只影响 Windows 平台
CVE-2021-2035
被通过数据库的Scheduler 定时组件进行攻击,需要 Export Full Database 权限,如果对这个权限有管控权,则可以降低风险。风险评分高达 8.8 分。修复的方法是:梳理数据库的权限,或者应用补丁修复。
CVE-2021-2054
该漏洞和 Sharding 组件有关,大部分个人用户可能用不到,同时,不用分布式组件的用户也可以忽略
CVE-2021-2116 和 CVE-2021-2116
该漏洞和 Oracle Apex 有关,可以通过 HTTP 协议进行攻击。防范方式:做好账户管理,则风险不大
CVE-2021-1993
该漏洞和 Java JVM 有关,也是之前一系列反序列化的漏洞延续,可以通过 Package 的权限限制防范,或者补丁修复
CVE-2021-2045
该漏洞和 Text 组件相关,大部分用户应该没有这个选项。同时建议,数据库安装时,对于用不到的组件,不要选择安装。
CVE-2021-2000
该漏洞是 Unified Audit 统一审计管理特性相关的漏洞,对于权限要求极高,所以风险最低,安全分是 2.4 分。
具体风险列表如下:
由于Oracle自身比较复杂,在Linux环境下安装要涉及很多方面的因素。本文分两个方面介绍在Linux RedHat 6.0环境下Oracle 8.0.5的安装。 一、调整Linux核心与环境 在安装Oracle之前,应该先对RedHat 6.0的Linux内核与环境进行调整,要做以下工作: 1、在完成RedHat 6.0 Linux的缺省安装后,需要安装以下软件包。 kernel -source -2.2.5 -15.1386.rpm Linux 2.2.5内核源码,主要用于修改核心参数后重生成内核。 tcl -8.0.4 -29.1386.rpm 该软件包是安装Oracle Intelligent Agent包所必需的。 Compat -binutils -5.2-2.9.0.23.1.1386.rpm Compat -glibc -5.2-2.0.7.2.1386.rpm Compat -egcs -5.2 -1.0.3a.1.1381.rpm Compat -egcs -C++ -5.2 -1/0/3a.1.1386.rpm Compat -libs -5.2 -1.1386.rpm 2、调整Linux核心参数 根据Oracle 8.0.5对Linux核心内存参数的要求,可对Linux核心参数进行调整。编辑修改/usr/src/linux/include/asm/shmparam.h文件,修改SHMMAX选项。Oracle推荐使用4294967295,这意味着系统的共享内存达到4G,这是不合适的。一般,SHMMAX的设置可略大于本机内存配置。 事实上,缺省安装的RedHat 6.0核心运行Oracle 8.0.5是没有问题的,一般情况下可不对这些参数作出调整。 如确需调整,在完成修改后,要按文档要求重生成核心,并用lilo命令指定用新的核心进行引导。 3、增加用户,创建安装目录 Oracle安装与运行需要创建一个属于dba组的Oracle用户,同时要创建一个属主为Oracle用户的安装点目录,例如/u0/oracle,并指定该目录为Oracle用户的缺省主目录。 为了设置Oracle用户的运行环境,在Oracle用户的主目录下要建立一个脚本文件,用于在以Oracle用户登录进自动设置环境变量。该脚本文件的命名与用户所使用的shell有关(在etc/passwd文件中定义)。如采用bash,则脚本文件是.bash_profile如采用sh,则脚本文件名为.profile。以bash为例,在脚本文件.bash_profile中输入以下内容: #ORACLE_HOME指定Oracle的安装目录 ORACLE_HOME=/u0/oracleexport ORACLE_HOME #LD_LIBRARY_PATH指定Oracle的共享库目录 LD_LIBRARY_PATH=$ORACLE_HOME /libexport LD_LIBRARY_PATH ORACLE_BASE=$ORACLE_HOMEexport ORACLE_BASE #ORACLE_SID指定Oracle数据库实例名,Oracle建议小于或等于4个字符 ORACLE_SID=BROSexport ORACLE_SID #ORACLE_TERM Oracle用户的终端类型 ORACLE_TERM=ansiexport ORACLE_TERM PATH=$PATH: $ORACLE_HOME /binexport PATH #TMPDIR指定临时目录,Oracle要求至少20M的空间 TMPDIR=/var/tmpexport TMPDIR umask 022 退出登录后,再以Oracle用户登录,测试环境变量是否符合要求。 二、安装Oracle Oracle的安装可采用光盘或指定安装路径的方式。 对用Oracle for linux光盘来安装的,应执行以下命令: mount -t iso9660 /dev/cdrom /home/Oracle 安装光盘介质。正常情况下,CDROM应安装在/mnt/cdrom目录下。 对指定原始安装路径安装的,应事先将压缩档案文件805ship.tgz解压缩到一个临时目录,如/home/Oracle,使用命令: gunzip - c 805ship.tgz| tar xvf - 假设使用指定原始安装路径/home/Oracle,在该目录下执行: cd orainst sh oratab.sh oratab.sh命令的主要目的是创建/etc/oratab。 由于RedHat 6.0使用的是glibc 2.0,因此在RedHat 6.0环境下安装Oracle 8.0.5需打补丁。方法是:卸载位于ftp.Oracle.com站点的/pub/www/otn/linux/glibcpatch.tgz文件,在完成Oracle基本系统安装后,对$ORACLE_HOME/bin目录下的执行程序进行修正。 做完上述工作后,即可以开始Oracle基本系统的安装。 1、进入/home/Oracle目录; 2、执行./orainst /c3、选择Custom安装。 根据提示进行以下选择: Install,Upgrade or De -instal software Install new product -DO NOTCREAT DB Objects。这一步非常重要,由于安装包中的执行程序与blibc2.0不兼容,因此,在打补丁前,无法启动Oracle引擎来创建数据库对象。 按照上述步骤招待完退出后,系统应提示: Result:Success 4、对Oracle执行程序进行glibc修正。步骤如下: * 建立$ORACLE_HOME/orapatch目录; * 将glibcpatch.tgz拷贝至主目录; * 执行tar -xvzf glibcpatch.tgz; * 执行sh glibcpatch.sh。 完成 补丁程序安装后,要重新运行Oracle的安装程序,步骤如下: * cd orainst; * 执行orainst /c; * 进行custom安装。 根据提示进行以下选择: Create/upgrade Database objects Create Database objicts Oracle 8 Standard RDBMS 8.0.5.0.0 Create product DB Objicts Filisystem -bases Database 直至提示:Rusult:Success 5、执行后安装处理 * 以Oracle用户登录; * 执行su -p root,输入root用户密码; * cd orainst; * 执行sh root.sh; * 编辑修改 /etc/oratab文件。 找到Oracle -SID指示行,如: $BROS: /u0/Oracle:N 修改为: $BROS: /u0/Oracle:Y 以允许Oracle服务器自启动。 *修改TNS相关的文件权限: chown oracle.dba $ORACLE_HOME/bin/tnslsnr chmod 750 $ORACLE_HOME/bin/tnslsnr chown oracle.dba $ORACE_HOME/network/log chmod 775 $ORACLE_HOME/network/log chown root.dba $ORACLE_HOME/network/log/listener.log chmod 664 $ORACLE_HOME/network/log/listener.log 至此,安装基本完成。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)