第28章Oracle服务器配置和管理·705·第28章Oracle服务器配置和管理提起数据库,第一个想起的公司一般都会是Oracle。Oracle公司于1977年成立,专注于数据库产品的开发,在数据库领域一直都处于领先地位,其产品覆盖了大、中、小型机等数十种机型,是目前世界上使用最广泛的关系数据库系统之一。本节以其最新的数据库产品Oracle11g为例,介绍如何在RedHatEnterpriseLinux5.2上搭建和管理Oracle数据库服务器。28.1Oracle11g简介经过了三年的准备,Oracle(甲骨文)公司于2007年7月12日在全球范围内同步推出了其最新版本的数据库产品——Oracle11g。新的Oracle数据库仍然以g作为版本后缀,以代表这是一个包含了网格计算技术的数据库软件(Oracle自10版本开始以g作为版本后缀,而在这之前是使用i,如Oracle8i、Oracle9i,表示基于网络的数据库)。据悉,新版本的数据库经过了1500万小时的测试,开发工作量相当于1000名开发人员连续研发3年。与其上一个版本10g相比较,Oracle11g中增加了很多激动人心的新功能及新特性,大幅地提高了系统性能及安全性。概括来说,主要有以下几个方面。1.数据库管理重演功能,可从数据库和SQL两个级别捕捉负载并进行模拟。计划管理功能,固定SQL语句的执行计划。自动诊断知识库,捕捉和记录系统重要错误,自动发送信息给DBA(数据库管理员)或Oracle支持团队。事件打包服务,把与某一事件相关的信息打包,并可发送给Oracle支持团队。增强的补丁功能,按特性对补丁进行分类,通过企业管理权可订阅基于特性的补丁服务。2.性能自动SQL优化功能,使SQL的执行效率可获得原性能3倍的提高。自动内存优化功能,所有内存区均由Oracle自动管理和分配。更新的资源管理器,对CPU和IO进行管理。第3篇网络服务管理篇·706·ADDM,可对单个实例及整个RAC给出建议,也可以自行设定关心的信息。访问建议器,可提供更强的分区建议功能。3.PLSQL缓存结果集,大大提高了SQL查询速度。新的SQL语法“=”,在非DML的SQL语句中可使用序列。改进的对象依赖关系,表属性的改变不会导致函数和视图无效。对TCP包进行安全控制。改进的正则表达式。更高的触发器效率。支持多触发器的执行顺序定义。增加混合触发器和无效触发器。更完善的PLSQL警告功能。在PLSQL代码中引入对象编程的可继承性。更高的PLSQL代码编译速度。改进的DBMS_SQL包。引入新的PLSQL数据类型simple_integer及新的关键字continue。4.其他更新增强的压缩技术,最高可压缩2/3的空间。增强的DATAGuard技术,简化配置管理。在线应用升级,无需重启数据库。新的LOB结构。新的PHP驱动。逻辑对象分区。数据修复建议器。28.2Oracle数据库服务器的安装用户可以通过Oracle的官方网站下载到最新的Oracle数据库产品的软件安装包,在安装Oracle11g前需要检查系统的软硬件环境是否符合安装要求。Oracle11g提供图形化的安装程序界面,用户可以通过单击鼠标完成Oracle的安装。28.2.1如何获得Oracle安装包虽然Oracle数据库是一套商业软件,但是用户可通过Oracle官方网站第28章Oracle服务器配置和管理·707·数据库的安装包文件。但在下载前需要先注册一个用户账号,并且不能把下载得到的Oracle软件用于商业用途,如图28.1所示。图28.1下载Oracle11g选择下载“OracleDatabase11gRelease1(11.1.0.6.0)forLinuxx86”,安装包文件名为linux_11gR1_database_1013.zip,以zip格式压缩,下载后把文件保存到/tmp/目录下。28.2.2软、硬件要求Oracle11g数据库是一套商业软件,它对服务器的物理内存、硬盘空间、CPU频率等硬件配置均有所要求。此外,如果要在RedHatEnterpriseLinux5.2上安装Oracle11g还需要先安装必要的软件包。具体的软硬件要求如下所述。1.硬件要求安装Oracle11g数据库的主机硬件配置应能满足如下要求。物理内存不少于1GB。硬盘可用空间不少于5GB。Swap分区的空间不小于2GB。支持256色以上的图形显示卡。CPU主频不小于550MHz。2.软件包要求在安装Oracle11g前,需要先安装以下版本(或更高版本)的软件包。compat-libstdc++-33-3.2.3-61//compat-libstdc软件包第3篇网络服务管理篇·708·elfutils-libelf-0.125-3.el5//与elfutils-libelf相关的软件包elfutils-libelf-devel-0.125-3.el5glibc-2.5-12//与glibc相关的软件包glibc-devel-2.5-12glibc-common-2.5-12gcc-4.1.1-52.el5//与gcc相关的软件包gcc-c++-4.1.1-52.el5libgcc-4.1.1-52.el5libaio-0.3.106-3.2//与libaio相关的软件包libaio-devel-0.3.106-3.2libstdc++-4.1.1-52.el5libstdc++-devel-4.1.1-52.el5unixODBC-2.2.11-7.1//与unixODBC相关的软件包unixODBC-devel-2.2.11-7.1sysstat-7.0.0-3.el5//sysstat软件包binutils-2.17.50.0.6-2.el5//binutils软件包make-3.81-1.1//make软件包这些软件包都可以通过RedHatenterpriseLinux5.2的安装光盘获得,用户可以执行如下命令检查系统中是否已经安装上述的软件包。#rpm-qcompat-libstdc++-33elfutils-libelf-develglibc-devel-2.5gccgcc-c++libaio-devellibstdc++-develunixODBCunixODBC-develsysstatbinutilselfutils-libelfglibcglibc-commonlibaiolibgcclibstdc++make//检查系统中是否已经安装必须的软件包compat-libstdc++-33-3.2.3-61//如果软件包已经安装,则显示软件包的名称,包括版本信息elfutils-libelf-devel-0.125-3.el5glibc-devel-2.5-24gcc-4.1.2-42.el5gcc-c++-4.1.2-42.el5packagelibaio-develisnotinstalled//libaio-devel软件包未安装libstdc++-devel-4.1.2-42.el5packageunixODBCisnotinstalled//unixODBC软件包未安装packageunixODBC-develisnotinstalled//unixODBC-devel软件包未安装sysstat-7.0.2-1.el5binutils-2.17.50.0.6-6.el5elfutils-libelf-0.125-3.el5glibc-2.5-24glibc-common-2.5-24libaio-0.3.106-3.2libgcc-4.1.2-42.el5libstdc++-4.1.2-42.el5make-3.81-3.el5由命令的输出结果可以看到,软件包libaio-devel-0.3.106-3.2、unixODBC-2.2.11-7.1和unixODBC-devel-2.2.11-7.1并未安装。用户可以把RHEL5.2的安装光盘放入光驱,然后执行如下命令进行安装。#rpm-ivhlibaio-devel-0.3.106-3.2.i386.rpm//安装libaio-devel软件包第28章Oracle服务器配置和管理·709·warning:libaio-devel-0.3.106-3.2.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID37017186Preparing...###########################################[100%]1:libaio-devel###########################################[100%]#rpm-ivhunixODBC-2.2.11-7.1.i386.rpm//安装unixODBC软件包warning:unixODBC-2.2.11-7.1.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID37017186Preparing...###########################################[100%]1:unixODBC###########################################[100%]#rpm-ivhunixODBC-devel-2.2.11-7.1.i386.rpm//安装unixODBC-devel软件包warning:unixODBC-devel-2.2.11-7.1.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID37017186Preparing...###########################################[100%]1:unixODBC-devel###########################################[100%]28.2.3安装前的配置在安装Oracle11g前,需要手工更改系统的内核参数以及创建oracle用户和用户组,具体操作步骤如下所述。(1)创建oracle用户和oinstall、dba用户组,命令如下所示。#/usr/sbin/groupaddoinstall//创建用户组oinstall#/usr/sbin/groupadddba//创建用户组dba#/usr/sbin/useradd-m-goinstall-Gdbaoracle//创建用户oracle#idoracle//查看用户oracle的属性uid=512(oracle)gid=1005(oinstall)groups=1005(oinstall),1006(dba)cont-ext=user_u:system_r:unconfined_t(2)设置oracle用户的口令,命令如下所示。#passwdoracle//设置oracle用户的口令Changingpasswordforuseroracle.NewUNIXpassword:BADPASSWORD:itistoosimplistic/systematicRetypenewUNIXpassword:passwd:allauthenticationtokensupdatedsuccessfully.//口令更改成功(3)创建Oracle的安装目录。#mkdir-p/u01/app/oracle//创建/u01/app/oracle目录#chown-Roracle:oinstall/u01/app//更改目录的所有者和属组#chmod-R775/u01/app//更改目录的权限(4)更改系统的核心参数,以满足Oracle11g的安装要求。#cat/etc/sysctl.confEOF//修改/etc/sysctl.conf文件中的核心参数第3篇网络服务管理篇·710·