oracle补丁怎么安装,oracle怎么打补丁
怎么在win7安装oracle11g 补丁
首先先下载好Oracle安装包(这个就不用说了,上Oracle官网自己找下载入口),将下载好后的两个压缩文件解压至同一文件夹下,该文件夹为database;
成都创新互联专注于黑河网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供黑河营销型网站建设,黑河网站制作、黑河网页设计、黑河网站官网定制、成都微信小程序服务,打造黑河网络公司原创品牌,更为您提供黑河网站排名全网营销落地服务。
解压完毕后,在该目录下打开setup.exe,执行安装程序后会出现启动安装的命令提示符,进入安装;
稍等一会儿,就会出现以下安装步骤,取消复选框勾选,点击下一步继续,并单击“是”继续
之后出现以下安装框,默认点击“下一步”继续,
选择安装“桌面类”和“服务器类”,当然服务器类是安装的在Windows server上的,Win7就选择“桌面类”安装即可
接下来进入安装配置,密码口令为大小写数字拼成的口令,否则,就会提示警告
点击下一步,在执行先决条件检查时,我们选择全部忽略即可
下一步,点击完成按钮即开始安装了
安装画面如下
进度条到达100时则会出现以下对话框,并等待其配置完成
配置完成后,会再弹出对话框点击“确定”即可。
如何给oracle 11.2.0.1.0更新补丁?
1、分别解压“winx64_12c_database_1of2.zip“和“winx64_12c_database_2of2.zip”,将其放在同一个文件夹上
2、点击“setup.exe”进行正式安装
3、这里需要注意一下,需要取消“我希望通过My Oracle Support接受安全更新”的勾选(不取消的话以后会莫名其妙进行重新安装的)
4、软件更新,直接跳过即可
5、默认状态即可,点击“下一步”
6、根据介绍选择”桌面类”还是”服务器类”,选择”服务器类”可以进行高级的配置,这里直接默认状态即可
7、”创建新windows用户“,输入用户名和口令,单击”下一步“
如何安装oracle11g的安装包
包含64位/32位官方版本,并附详细的Oracle 11g安装图解教程,同时希望能帮助到刚接触到Oracle数据库的朋友。安装过程稍需一段时间,具体时间决取于你的电脑配置,请大家稍安勿躁。
Oracle 11g版本是甲骨文公司凭借自已30年的设计经验,成功打造的功能强大的关系数据库管理系统,目前共发行了linux版本和windows版本,Oracle数据库的高效性、安全性、稳定性、延展性,是其成功的关键因素,世界上的几乎所有大型信息化系统都在应用Oracle技术。
在甲骨文推出的产品中,Oracle 11g是最具创新性和质量最高的软件,它具有400多项功能,经过了1500万个小时的测试,开发工作量前所未有。Oracle数据库11g可以帮助企业管理企业信息、更深入地洞察业务状况并迅速自信地做出调整以适应不断变化的竞争环境,最新版数据库增强了Oracle数据库独特的数据库集群、数据中心自动化和工作量管理功能,更多详细的功能请大家查看下面的Oracle 11g新增功能介绍。
Oracle 11g 64位/32位官方版
Oracle 11g安装图解教程
安装以win7 64位系统为例
1、将win64_11gR2_database_1of2和win64_11gR2_database_2of2解压到同个文件夹下合并(可以直接左键框住右键点击一起解压),打开运行其中的setup开始安装,如图所示:
2、稍后进入Oracle 11g安装界面(如下图:)
3、【配置安全更新】邮箱以及口令可以不写,点击下一步,出现提醒,直接点是即可。
4、【安装选项】直接选择默认创建和配置一个数据库(安装完Oracle后,系统会自动创建一个数据库实例)。
5、【系统类】个人用户直接选择默认的桌面类就可以了,如图所示:
6、【典型安装】Oracle基目录,软件目录,和数据库文件目录,Oracle一般会自动帮你选择空间最大的盘和你解压文件的盘符,全部默认即可。管理口令需要输入(大写+小写+数字)的八位密码,也有网友指出此处可以随意设置简单好记的密码,无视软件提醒即可。
7、【先决条件检查】安装程序会检查软硬件系统是否满足此Oracle版本的最低要求,安装需要占用约2G的C盘空间,内存2G以上即可。如果还是通不过要求,选择全部忽略。
8、【概要】安装前的一些相关选择配置信息,点击完成。
9、安装正在进行中,请耐心等待。。。。如图所示:
10、Oracle实例创建启动完成后,会自动创建安装一个实例数据库名称orcl123,(小编用的是orcl123,默认为orcl名称的数据库)。
11、 安装完成,运行开始菜单Oracle - OraDb11g_home1Database Control - orcl123,以IE运行进入登录界面或打开ie直接输入即可 (此处如果出现证书错误的话,点击继续浏览此网站即可)。
12、登录界面,输入用户名"SYS",口令为之前注册设置的管理密码,将连接身份改为SYSDBA,点击登录,成功之后你就可以管理你的数据库实例了。
Oracle 11g新版功能
1.数据库管理部分
◆数据库重演(Database Replay)
这一特性可以捕捉整个数据的负载,并且传递到一个从备份或者standby数据库中创建的测试数据库上,然后重演负责以测试系统调优后的效果。
◆SQL重演(SQL Replay)
和前一特性类似。但是只是捕捉SQL负载部分,而不是全部负载。
◆计划管理(Plan Management)这一特性允许你将某一特定语句的查询计划固定下来,无论统计数据变化还是数据库版本变化都不会改变她的查询计划。
◆自动诊断知识库(Automatic Diagnostic Repository ADR)
当Oracle探测到重要错误时,会自动创纪一个事件(incident),并且捕捉到和这一事件相关的信息,同时自动进行数据库健康检查并通知DBA。此外,这些信息还可以打包发送给Oracle支持团队。
◆事件打包服务(Incident Packaging Service)
如果你需要进一步测试或者保留相关信息,这一特性可以将与某一事件相关的信息打包。并且你还可以将打包信息发给oracle支持团队。
◆基于特性打补丁(Feature Based Patching)
在打补丁包时,这一特性可以使你很容易区分出补丁包中的那些特性是你正在使用而必须打的。企业管理器(EM)使你能订阅一个基于特性的补丁服务,因此企业管理器可以自动扫描那些你正在使用的特性有补丁可以打。
◆自动SQL优化(Auto SQL Tuning)
10g的自动优化建议器可以将优化建议写在SQL profile中。而在11g中,你可以让oracle自动将能3倍于原有性能的profile应用到SQL语句上。性能比较由维护窗口中一个新管理任务来完成。
◆访问建议器(Access Advisor)
11g的访问建议器可以给出分区建议,包括对新的间隔分区(interval partitioning)的建议。间隔分区相当于范围分区(range partitioning)的自动化版本,她可以在必要时自动创建一个相同大小的分区。范围分区和间隔分区可以同时存在于一张表中,并且范围分区可以转换为间隔分区。
◆自动内存优化(Auto Memory Tuning)
在9i中,引入了自动PGA优化。10g中,又引入了自动SGA优化。到了11g,所有内存可以通过只设定一个参数来实现全表自动优化。你只要告诉oracle有多少内存可用,她就可以自动指定多少内存分配给PGA、多少内存分配给SGA和多少内存分配给操作系统进程。当然也可以设定最大、最小阈值。
◆资源管理器(Resource Manager)
11g的资源管理器不仅可以管理CPU,还可以管理IO。你可以设置特定文件的优先级、文件类型和ASM磁盘组。
◆ADDMADDM在10g被引入。
11g中,ADDM不仅可以给单个实例建议,还可以对整个RAC(即数据库级别)给出建议。另外,还可以将一些指示(directive)加入ADDM,使之忽略一些你不关心的信息。
◆AWR 基线(AWR Baselines)
AWR基线得到了扩展。可以为一些其他使用到的特性自动创建基线。默认会创建周基线。
2.PLSQL部分
◆结果集缓存(Result Set Caching)
这一特性能大大提高很多程序的性能。在一些MIS系统或者OLAP系统中,需要使用到很多"select count(*)"这样的查询。在之前,我们如果要提高这样的查询的性能,可能需要使用物化视图或者查询重写的技术。在11g,我们就只需要加一个/*+result_cache*/的提示就可以将结果集缓存住,这样就能大大提高查询性能。当然,在这种情况下,我们可能还要关心另外一个问题:完整性。因为在oracle中是通过一致性读来保证数据的完整性的。而显然,在这种新特性下,为提高性能,是从缓存中的结果集中读取数据,而不会从回滚段中读取数据的。关于这个问题,答案是完全能保证完整性。因为结果集是被独立缓存的,在查询期间,任何其他DML语句都不会影响结果集中的内容,因而可以保证数据的完整性。
◆对象依赖性改进
在11g之前,如果有函数或者视图依赖于某张表,一旦这张表发生结构变化,无论是否涉及到函数或视图所依赖的属性,都会使函数或视图变为invalid。在11g中,对这种情况进行了调整:如果表改变的属性与相关的函数或视图无关,则相关对象状态不会发生变化。
◆正则表达式的改进
在10g中,引入了正则表达式。这一特性大大方便了开发人员。11g,oracle再次对这一特性进行了改进。其中,增加了一个名为regexp_count的函数。另外,其他的正则表达式函数也得到了改进。
◆新SQL语法 =
我们在调用某一函数时,可以通过=来为特定的函数参数指定数据。而在11g中,这一语法也同样可以出现在sql语句中了。例如,你可以写这样的语句:select f(x=6) from dual;
◆对TCP包(utl_tcp、utl_smtp…)
支持FGAC(Fine Grained Access Control)安全控制
◆增加了只读表(read-only table)
在以前,我们是通过触发器或者约束来实现对表的只读控制。11g中不需要这么麻烦了,可以直接指定表为只读表。
◆触发器执行效率提高了
内部单元内联(Intra-Unit inlining)在C语言中,你可以通过内联函数(inline)或者宏实现使某些小的、被频繁调用的函数内联,编译后,调用内联函数的部分会编译成内联函数的函数体,因而提高函数效率。在11g的plsql中,也同样可以实现这样的内联函数了。
◆设置触发器顺序
可能在一张表上存在多个触发器。在11g中,你可以指定它们的触发顺序,而不必担心顺序混乱导致数据混乱。
◆混合触发器(compound trigger)
这是11g中新出现的一种触发器。她可以让你在同一触发器中同时具有申明部分、before过程部分、after each row过程部分和after过程部分。
◆创建无效触发器(Disabled Trigger)
11g中,开发人员可以可以闲创建一个invalid触发器,需要时再编译她。
◆在非DML语句中使用序列(sequence)
在之前版本,如果要将sequence的值赋给变量,需要通过类似以下语句实现:select seq_x.next_val into v_x from dual;在11g中,不需要这么麻烦了,下面语句就可以实现:v_x := seq_x.next_val
◆PLSQL_Warning
11g中,可以通过设置PLSQL_Warning=enable all,如果在"when others"没有错误爆出就发警告信息。
◆PLSQL的可继承性
可以在oracle对象类型中通过super(和java中类似)关键字来实现继承性。
◆编译速度提高
因为不在使用外部C编译器了,因此编译速度提高了。
◆改进了DBMS_SQL包其中的改进之一就是DBMS_SQL可以接收大于32k的CLOB了。另外还能支持用户自定义类型和bulk操作。
◆新的PLSQL数据类型——simple_integer这是一个比pls_integer效率更高的整数数据类型。
3.其他部分
◆增强的压缩技术
可以最多压缩2/3的空间。
◆高速推进技术
可以大大提高对文件系统的数据读取速度。
◆增强了DATA Guard
可以创建standby数据库的快照,用于测试。结合数据库重演技术,可以实现模拟生成系统负载的压力测试。 ◆在线应用升级
也就是热补丁——安装升级或打补丁不需要重启数据库。
◆数据库修复建议器
可以在错误诊断和解决方案实施过程中指导DBA。
◆逻辑对象分区
可以对逻辑对象进行分区,并且可以自动创建分区以方便管理超大数据库(Very Large Databases VLDBs)。
◆新的高性能的LOB基础结构
◆新的PHP驱动
oracle 11.2.0.2.3补丁怎么打
oracle手动升级有两种方式,一种在安装oracle软件之后,安装升级包,然后创建数据库;另一种在oracle数据库创建以后,进行升级。
下面主要介绍oracle数据库创建后进行的数据库升级(10.2.0.1-10.2.0.4),代码如下:
SQL --查看当前数据库版本
SQL select * from v$version;
SQL --给用户scott解锁
SQL alter user scott account unlock;
SQL --查看表空间
SQL select * from dba_tablespaces;
SQL --查看数据文件存放位置
SQL select * from dba_data_files;
SQL --创建测试表空间
SQL create tablespace ts_upgrade datafile '/u02/oradata/data/orcl/ts_upgrade01.dbf' size 5m autoextend on maxsize 30g;
SQL --创建用户
SQL create user u_upgrade identified by "123456" default tablespace ts_upgrade temporary tablespace temp;
SQL --为用户赋权
SQL grant connect,resource to u_upgrade;
SQL --创建测试表
SQL create table u_upgrade.dept as select * from scott.dept;
SQL select * from u_upgrade.dept;
[oracle@feegle ~]$ #停止em
[oracle@feegle ~]$ emctl stop dbconsole
[oracle@feegle ~]$ #停止sql*plus
[oracle@feegle ~]$ isqlplusctl stop
[oracle@feegle ~]$ #停止监听
[oracle@feegle ~]$ lsnrctl stop
[oracle@feegle ~]$ #安装升级包(p6810189_10204_Linux-x86-64.zip)
[oracle@feegle ~]$ #手动升级数据库
[oracle@feegle ~]$ sqlplus /nolog
SQL conn /as sysdba
SQL --以升级模式启动数据库
SQL startup upgrade;
SQL --重建数据字典(建议关闭数据库归档)
SQL spool upgrade.log
SQL @$ORACLE_HOME/rdbms/admin/catupgrd.sql
#####重建数据字典部分截图#####
Oracle Database 10.2 Upgrade Status Utility 06-15-2012 18:27:56
.
Component Status Version HH:MM:SS
Oracle Database Server VALID 10.2.0.4.0 00:12:04
JServer JAVA Virtual Machine VALID 10.2.0.4.0 00:04:58
Oracle XDK VALID 10.2.0.4.0 00:00:32
Oracle Database Java Packages VALID 10.2.0.4.0 00:00:28
Oracle Text VALID 10.2.0.4.0 00:00:25
Oracle XML Database VALID 10.2.0.4.0 00:02:25
Oracle Workspace Manager VALID 10.2.0.4.3 00:00:43
Oracle Data Mining VALID 10.2.0.4.0 00:00:21
OLAP Analytic Workspace VALID 10.2.0.4.0 00:00:23
OLAP Catalog VALID 10.2.0.4.0 00:01:02
Oracle OLAP API VALID 10.2.0.4.0 00:00:53
Oracle interMedia VALID 10.2.0.4.0 00:03:52
Spatial VALID 10.2.0.4.0 00:01:37
Oracle Expression Filter VALID 10.2.0.4.0 00:00:12
Oracle Enterprise Manager VALID 10.2.0.4.0 00:01:18
Oracle Rule Manager VALID 10.2.0.4.0 00:00:10
.
Total Upgrade Time: 00:31:30
DOC#######################################################################
DOC#######################################################################
DOC
DOC The above PL/SQL lists the SERVER components in the upgraded
DOC database, along with their current version and status.
DOC
DOC Please review the status and version columns and look for
DOC any errors in the spool log file. If there are errors in the spool
DOC file, or any components are not VALID or not the current version,
DOC consult the Oracle Database Upgrade Guide for troubleshooting
DOC recommendations.
DOC
DOC Next shutdown immediate, restart for normal operation, and then
DOC run utlrp.sql to recompile any invalid application objects.
DOC
DOC#######################################################################
DOC#######################################################################
DOC#
SQL
#####重建数据字典部分截图#####
SQL spool off
SQL --关闭数据库
SQL shutdown immediate;
SQL --启动数据库
SQL startup;
SQL --编译无效对象
SQL @$ORACLE_HOME/rdbms/admin/utlrp.sql
#####编译无效对象部分截图#####
DOC 1. Query showing jobs created by UTL_RECOMP
DOC SELECT job_name FROM dba_scheduler_jobs
DOC WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC
DOC 2. Query showing UTL_RECOMP jobs that are running
DOC SELECT job_name FROM dba_scheduler_running_jobs
DOC WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC#
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_END 2012-06-15 18:45:01
DOC The following query reports the number of objects that have compiled
DOC with errors (objects that compile with errors have status set to 3 in
DOC obj$). If the number is higher than expected, please examine the error
DOC messages reported with each object (using SHOW ERRORS) to see if they
DOC point to system misconfiguration or resource constraints that must be
DOC fixed before attempting to recompile these objects.
DOC#
OBJECTS WITH ERRORS
-------------------
DOC The following query reports the number of errors caught during
DOC recompilation. If this number is non-zero, please query the error
DOC messages in the table UTL_RECOMP_ERRORS to see if any of these errors
DOC are due to misconfiguration or resource constraints that must be
DOC fixed before objects can compile successfully.
DOC#
ERRORS DURING RECOMPILATION
---------------------------
SQL
#####编译无效对象部分截图#####
SQL 验证升级
SQL --查看组件状态
SQL --status=VALID
SQL select comp_name, version, status from sys.dba_registry;
SQL --查看表空间状态
SQL select tablespace_name,status from dba_tablespaces;
SQL --查看用户
SQL select username from dba_users;
SQL --查看用户对象
SQL select object_name from dba_objects where owner='SCOTT';
SQL select object_name from dba_objects where owner='U_UPGRADE';
SQL select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
[oracle@feegle ~]$ #启动监听
[oracle@feegle ~]$ lsnrctl start
[oracle@feegle ~]$ #启动EM
[oracle@feegle ~]$ emctl start dbconsole
[oracle@feegle ~]$ #启动SQL*PLUS
[oracle@feegle ~]$ isqlplusctl start
如何给oracle打patch补丁
给软件打补丁相当于给人打预防针,对系统的稳定运行至关重要。本文详细、系统地介绍了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中绝大多数是在一些很少见的环境中,或者是若干个组件的复杂组合使用的情形中发生的。
如果系统在运行中出现过某种问题,由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与前一版本完全相同。
如何使用opatch给oracle打补丁
1、下载
需要metalink的用户名口令
10.2及之后的数据库下载连接为:
http //updates oracle com/download/4898608.html
10.2之前的版本下载连接为:
http //updates oracle com/download/2617419.html
2、安装可以参照metalink Note 189489.1
安装其实很简单,unix下做一下unzip,然后把opath加到你的$PATH即可
3、opatch作用
opatch是用于维护"个别"补丁的,有人称其为interim path或是one-off patch
以解决TA ENQ AND US ENQ DEADLOCK DURING TRANSACTION RECOVERY IN RAC问题的interim patch 3777178为例,
安装及rollback的命令如下:
install:
oracleunzip p3777178_9206_HP64.zip
oraclecd 3777178
oracleopatch apply
rollback:
oraclecd 3777178
oracleopatch rollback -id 3777178
查看:
如下命令可以看到已经安装了哪些interim patch
4、不断的在opatch后面加-h可以看到这个命令更加详细的选项:
看一下lsinventory后面有哪些选项:
[oracle@mysql2 ~]$ /u01/app/oracle/product/10.2.0/db_2/OPatch/opatch lsinventory -h
Invoking OPatch 10.2.0.3.0
Oracle interim Patch Installer version 10.2.0.3.0
Copyright (c) 2005, Oracle Corporation. All rights reserved..
DESCRIPTION
List the inventory for a particular $ORACLE_HOME or display all
installations that can be found.
SYNTAX
opatch lsinventory [-all ] [-delay value ] [-detail ] [-all_nodes]
[-invPtrLoc Path to oraInst.loc ] [-jre LOC ]
[-oh ORACLE_HOME ] [-retry value ] [-patch] [-oh]
[-property_file path to property file]
OPTIONS
-all
Report the name and installation directory for each
$ORACLE_HOME found.
-delay
If -retry is specified, this option tells OPatch how
many seconds it should wait before attempting to lock
inventory again in case of a previous failure.
-detail(s)
Report installed products and other details. This
option cannot be used in conjunction with all option.
-invPtrLoc
Used to locate the oraInst.loc file. When the
installation used the invPtrLoc flag. This should be
the path to the oraInst.loc file
-jre
This option tells OPatch to use JRE (java) from the
specified location instead of the default location
under Oracle Home
-retry
This option tells OPatch how many times it should
retry in case of an inventory lock failure
-patch
Lists the patch IDs installed in the oracle home
-oh
The oracle home to work on. This takes precedence over
the environment variable ORACLE_HOME
-property_file
The user defined property file for OPatch to use. The
path to the property file should be absolute. This
property file takes precedence over the one that is
supplied with OPatch
-all_nodes
Reports the patches installed on the given Oracle Home
in all nodes of the RAC system. It also prints the oracle
binary's size and checksum on all nodes. This option cannot
be used in conjunction with -all, -detail, -patch.
PARAMETERS
This operation does not have any required parameters.
当前名称:oracle补丁怎么安装,oracle怎么打补丁
分享链接:http://ybzwz.com/article/dsiopss.html