1. 什么是PSU/CPU? CPU: Critical Patch Update Oracle对于其产品每个季度发行一次的安全补丁包,通常是为了修复产品中的安全隐患。 PSU: Patch Set Updates Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。Oracle选取被用户下载数量多的,并且被验证过具有较低风险的补丁放入到每个季度的PSU中。在每个PSU中不但包含Bug的修复而且还包含了最新的CPU。 2. 如何查找最新的PSU? 每个数据库版本都有自己的PSU,PSU版本号体现在数据库版本的最后一位,比如最新的10.2.0.5的PSU是10.2.0.5.3,而11.2.0.2的最新PSU则是11.2.0.2.2。 MOS站点中Oracle Recommended Patches — Oracle Database [ID 756671.1] 文档中查到各个产品版本最新的PSU。 如果你记不住这个文档号,那么在MOS中以“PSU”为关键字搜索,通常这个文档会显示在搜索结果的最前面。 注意:必须购买了Oracle基本服务获取了CSI号以后才有权限登陆MOS站点。 3. 如何正确安装PSU? 每个PSU安装包中都包含一个README.html文档,其中描述了如何安装该PSU,有些PSU是可以直接安装的,而有些PSU则必须要求安装了上一个版本的PSU之后才能继续安装。比如对于10.2.0.4版本的数据库来说,PSU 10.2.0.4.4可以直接安装在最原始的10.2.0.4.0版本中,而最新的PSU 10.2.0.4.8则必须要求先安装10.2.0.4.4。这些信息在README.html中都可以找到,所以请仔细阅读该文档。 通常安装PSU是比较简单的,步骤如下: 1) 安装PSU需要使用到opatch,在README.html中有描述该PSU需要的最低版本opatch,如果当前opatch版本过低,则需要先下载Patch 6880880,该Patch中包含最新的opatch,只需要解压覆盖原先的$ORACLE_HOME/OPatch目录即可。 查看当前的opatch版本,可以使用opatch version命令。 $ opatch version Invoking OPatch 10.2.0.5.2 OPatch Version: 10.2.0.5.2 OPatch succeeded. 2)安装PSU,请仔细阅读README.html,确认安装命令,通常是简单的opatch apply。 opatch apply 3)更新数据库,将修改过的SQL文件应用到数据库中,很多DBA在执行完上述安装命令以后就不再进行这一步,那么实际上PSU是没有完整安装的。 cd $ORACLE_HOME/rdbms/admin…
How to change I/O scheduler in Linux
Updated@2015/12/15 为什么可能会去修改Linux I/O Scheduler (elevator)?以及什么是I/O Scheduler,应该如何为数据库系统选择合适的I/O Scheduler?可以参看以下文章。 Linux, i/o scheduler and ASM – 在极大I/O压力的情况下,采用Deadline scheduler可能会提高5%-10%的I/O性能。 Choosing an I/O Scheduler for Red Hat® Enterprise Linux® 4 and the 2.6 Kernel – 在大多数情况下,默认的CFQ scheduler已经足够好,无需修改。 Linux I/O Scheduler What is the recommended I/O scheduler for a database workload in Red Hat Enterprise Linux? – 在RHEL 4, 5, 6中CFQ为默认的调度模式,而在RHEL7中已经使用deadline为默认调度模式…
How to use Database File System (DBFS) in Oracle 11gR2
简单的来说,DBFS就是Oracle数据库11gR2中提供的能够在Linux操作系统中将Oracle数据库当成文件系统来使用的功能。在DBFS内部,文件是以SecureFiles LOBs(对比与以前的BasicFiles LOBs)的形式存储在数据表中。 本文简单介绍在Oracle11gR2中使用DBFS的方法。 参考文档:Oracle® Database SecureFiles and Large Objects Developer’s Guide 11g Release 2 (11.2) – 6 DBFS File System Client 本文使用的数据库是Oracle 11.2.0.1,操作系统是Oracle Enterprise Linux 5.3: $ cat /etc/enterprise-release Enterprise Linux Enterprise Linux Server release 5.3 (Carthage) $ uname -r 2.6.18-128.el5 1. 首先需要安装kernel-devel和FUSE包。实际上现在最新的FUSE版本是2.8.5,但是为了防止有兼容性问题,仍然按照文档所述选择了2.7.4版本。kernel-devel包在OEL的安装光盘中就可以找到,如果你的Linux系统中已经安装过,无需再次安装。 # rpm -qa| grep kernel-devel kernel-devel-2.6.18-128.el5 安装FUSE也同样很简单。 将下载成功的fuse-2.7.4.tar.gz文件解压,生成fuse-2.7.4目录。 # ./configure –prefix=/usr…