Where is Sample Schema in Oracle 11gR2

在Oracle10g的时候如果我们在创建了数据库以后想单独安装一些示例用户数据,那么可以直接执行: $ORACLE_HOME/demo/schema/mksample.sql 这样会创建包括HR,OE等在内的一系列示例用户。这些用户数据可以让我们简单地进行一些功能测试,并且Oracle很多文档的示例也是使用这些用户的。 但是在11gR2中我们在$ORACLE_HOME/demo/schema/目录下已然找不到mksample.sql文件,并且每个单独的子目录中也不再有创建示例用户的SQL脚本。 实际上,Oracle将这些示例用户的安装独立到了一个安装盘中,比如对于Linux x86-64的安装文件可以从OTN上直接下载: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html 其中Oracle Database 11g Release 2 Examples就是我们需要的示例用户安装文件。 但是现在这份安装文件有500多M,如果你并不期望下载这么大的内容,或者说你仅仅需要HR和OE用户,那么可以直接从以下URL中下载现成的SQL脚本,解压以后运行即可。 http://st-curriculum.oracle.com/obe/jdev/obe11jdev/11/common/files/sample_schema_scripts.zip 以HR用户为例: $ ls hr_cre.sql hr_main.sql hr_popul.sql $ sqlplus / as sysdba SQL> @hr_main.sql

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…

11.2.0.2 Patch Set? Really a Patch Set?

Oracle最新为Linux x86和x86-64平台发布了Oracle 11.2.0.2 patch set [Patch set ID: 10098816],这个庞大的patch set拥有5G的超大容量。所以几乎全世界的人都在问,这真的是一个补丁集吗?不仅仅是体积庞大,甚至还一改往日补丁集仅仅是作为Bug修复的角色,在11.2.0.2中还包含了很多New Feature。 Oracle专门为此补丁写了一篇文章-Important Changes to Oracle Database Patch Sets Starting With 11.2.0.2 [ID 1189783.1],着重提到了几点。 1. Oracle 11.2.0.2 patch set是一个完整的安装包,以后Oracle也会如此发布后续的补丁包。所以在以后如果要安装新数据软件,不再需要安装一个Base版本然后再打补丁集到最新版本,而是直接使用最新补丁集安装包即可。 2. Oracle建议今后的补丁集安装都安装在一个与当前环境目录不同的全新目录下(Out-of-place upgrade),在安装完成以后再通过此份软件启动数据库实例。实际上以后安装补丁集的过程就等同于从一个版本升级到一个新版本的过程。 3. 为什么做这种改变,是因为Oracle认为Out-of-place upgrade是最佳实践,比较安全。当然这实际上符合Oracle的作风,他认为合理且最好的通常都会武断地改变并且说服客户去接受。 4. Oracle仅仅计划在11.2.0.2中提供一些新功能,今后的补丁集仍然会以修复bug为首要任务。 我个人承认确实Out-of-place upgrade是更加安全的,但是至少这种做法目前存在两点缺陷: 1. 补丁尺寸急剧增加,下载2G的补丁和下载5G的补丁还是有很大区别,但是这不是大问题。当然,由于需要安装在新Oracle Home中,在打补丁时需要额外的硬盘空间,但是不到10G的空间需求也不是大问题。 2. 由于在打完补丁以后,Oracle Home路径实际上发生了变化,那么在脚本中,服务定义中牵涉到的原ORACLE_HOME路径必须都要做相应改动。这是个大问题。不过,可以将老目录rename成一个新名字,再将新目录rename成原目录。 今后的补丁集发布计划可以参看Release Schedule of Current Database Releases [ID 742060.1]