作者: 何致億, 美商甲骨文公司台湾分公司 特约顾问
前言
Oracle 9i数据库系统可算是近几年来Oracle公司一项杀手级的产品,其功能与应用面之广,连研究Oracle多年的我在第一次接触到产品规格时也不禁吓了一跳!忽然间一大堆的技术文件与白皮书排山倒海而来,一时之间还不知道该从何着手。所以我花了几个月的时间在各种平台上进行环境测试以及新功能研究,并将手边的资料大致整理了一下,希望在未来的专栏内容中都能陆续介绍给各位linuxer杂志的忠实读者。
在这里有一点要先跟读者致歉:之前我曾经写过数篇有关Oracle 8i数据库治理的文章,因为自己工作实在太忙(这可能只是我的借口!),加上Oracle 9i已经released。所以我决定先暂时停掉该部分的专栏,专心整理Oracle 9i的相关资料。也非常谢谢这段期间来信鼓励以及给予建议的读者朋友们,在能力答应的范围内,我将会尽最大的努力为大家整理最新的Oracle技术资料。当然除了数据库治理技术之外,未来我也会应读者要求,加入利用java设计Oracle 9i数据库应用的文章,请大家继续给予批评指导!
Oracle试用软件之取得方式
因为Oracle 9i在Linux平台上正式通过认证的只有SuSE Linux (7.1与7.2),所以我就利用SuSE Linux 7.1 PRofessional版本为平台做为示范。Oracle数据库则是使用Oracle 9i Enterprise Edition for Linux Intel release 1(9.0.1)。
大家一定觉得非常希奇,为什么Redhat Linux没有经过Oracle 9i认证?说实在的,这点我也不清楚!据Redhat的说法好象是来不及将最新版本交给Oracle作认证与测试,所以…….。不过Redhat已经在日前正式提出新闻稿表示在未来新的Oracle版本一定会大力支持了(可能是被骂到受不了吧!?),请大家拭目以待啰。
相信有许多人对于Oracle 9i已经垂涎许久了。我先为各位说明如何进行安装前的预备动作。除了Linux操作系统之外,大家最关心的应该是如何”取得”Oracle 9i软件?关于这点我在二月份的专栏已经说明过,各位可以到Oracle Technology Network(OTN)网站注册成为OTN会员,一但您成为OTN的正式会员,就可以下载任何Oracle最新的技术文件以及软件。但是要注重的是所有下载的软件其授权方式为”程序开发者授权”(Developer License),虽然具备完整版的功能,但是您只能运用于开发测试或是进行评估,可不能进行商业用途!
OTN网址为:http://otn.oracle.com
假如您尚未注册,就赶紧点选首页右上角的【Membership】图标注册一个
新帐号吧!成功注册之后再回到OTN首页,点选左边【Software】下的【Downloads】,就可以点选您要下载的Oracle试用软件。
点击查看大图图二:Oracle软件下载区
请您在签署”程序开发授权同意书”(Oracle Technology Network Development License Agreement)之后请直接下载Oracle 9i Enterprise Edition for Linux。Oracle 9i安装程序共有三个档案,分别是Linux9i_Disk1.cpio.gz、Linux9i_Disk2.cpio.gz、Linux9i_Disk3.cpio.gz。因为这三个档案都是压缩档,您可以参考下列步骤进行解压缩:
1.执行gunzip,例如:
gunzip Linux9i_Disk1.cpio.gz
gunzip Linux9i_Disk2.cpio.gz
gunzip Linux9i_Disk3.cpio.gz
2.解开.cpio檔:
cpio –idmv
cpio –idmv
cpio –idmv
注:假如您觉得这样的下载方式不太方便的话,OTN网站还提供了软件订阅服务,不过这项服务因为系统维护的关系,大概在12月左右才会再上线,请自行注重网站上的讯息!
安装时之系统需求
注:Oracle 9i安装程序Oracle Universal Installer在执行安装动作时会使用/tmp作为资料暂存目录。
假如/tmp目录之剩余空间不足,建议您设定TMP或是TMPDIR等环境变量,指向具有足够空间之目录即可。但是该目录必须开放可写入之权限。
安装Oracle 9i之前置处理动作
1.在安装Oracle 9i之前,请先下载以下两个档案:
norarun9i.rpm:
下载地址:FTP://ftp.suse.com/pub/suse/i386/supplementary/commercial/Oracle/orarun9i.rpm
nJava Development Kit(JDK)1.3.1:
下载地址:
http://java.sun.com/j2se/1.3/download-linux.Html
2.设定oracle使用者帐户密码(optional)
之前有安装过Oracle 8i for Linux的读者应该记得,安装之前必须先在Linux操作系统下新增一个名为oracle之使用者帐户,以及一个oracle DBA所专用的群组。但是SuSE Linux 7.1版在操作系统安装完毕时预设就有一个oracle帐户,甚至连群组(名称为oinstall)都已经设定好了!(只差在不知道oracle帐户的密码是什么!假如有读者知道的话也请发个mail告诉我)所以建议您先利用root身分更改oracle使用者之密码,以免以后需要用oracle帐户登入时不知道密码。更改密码的方式如下:
passwd oracle
执行orarun9i.rpm
这个步骤大概是各位觉得比较希奇的部分,在此也先做个说明:
因为安装Oracle 9i时,必须先设定相关的环境变量以及Shared memory组态。说实在的,这些工作还真的相当繁琐!所以SuSE公司就提供了这个rpm档,执行之后会自动将大部分的组态设定完成(这点是我最欣赏SuSE的地方,希望R公司也能多多学习!) 。当然您也可以依实际需要再作必要的调整。
请您利用root身分执行以下指令:
rpm –Uvh orarun9i.rpm
执行之后会在操作系统加入以下两个档案,分别是
n/etc/profile.d/oracle.sh
设定ORACLE_HOME、ORACLE_BASE、ORACLE_SID…等环境变量。
n/etc/rc.config.d/oracle.rc.config
设定Shared memory之各参数值。
这些档案您都可以依照实际环境再予以修改,但假如您是第一次安装的读者建议您还是尽量使用预设的设定较好。
点击查看大图图三:/etc/profile.d/oracle.sh档案内容
点击查看大图图四:/etc/rc.config.d/oracle.rc.config之档案内容。
注1:在/etc/profile.d/oracle.sh所设定的Oracle_SID名称为orcl,假如不想使用这个名字的话,可以在更改掉档案的只读属性之后予以修改。例如我将ORACLE_SID更改成ora901。
注2:最重要的Shared Memory参数为SHMMAX,建议的设定值为(物理内存的一半)。例如我安装用的服务器内存为512MB,则SHMMAX可设为256MB,换算方式如下:
256 MB = (1MB=1048576 bytes) *256= 268435456 bytes
4.安装JDK
在Sun网站上提供下载的JDK for Linux有两种格式,一种是.bin档,另一种是.rpm檔。安装的方式分别如下:
nj2sdk-1_3_1-linux-i386.bin的安装方式
1)将j2sdk-1_3_1-linux-i386.bin复制到欲安装的目录下,例如/usr/local。
2)更改档案属性为”可执行”:
chmod a+x j2sdk-1_3_1-linux-i386.bin
3)执行JDK安装程序
./j2sdk-1_3_1-linux-i386.bin
nj2sdk-1_3_1-linux-i386-rpm.bin的安装方式
1)执行j2sdk-1_3_1-linux-i386-rpm.bin:
chmod a+x j2sdk-1_3_1-linux-i386-rpm.bin
./j2sdk-1_3_1-linux-i386-rpm.bin
执行之后会在目前工作目录下产生一个jdk-1.3.1.i386.rpm档案。
2)利用rpm指令安装JDK程序套件:
rpm –iv jdk-1.3.1.i386.rpm
当您完成以上几项预备工作之后。接下来就可以正式开始安装Oracle 9i了。
使用Oracle Universal Installer进行安装
当您完成所有前置预备动作后,请利用oracle帐户重新登入系统。建议您执行env指令确认所有环境变量是否设定无误:
# env
接下来请切换至Oracle 9i第一片所在目录以执行安装程序,我是利用光盘片安装,执行安装程序的方式为:
# ./cdrom/runInstaller
(/cdrom 为光驱mount之目录名称)
注:假如您也是利用光盘安装,请不要切换至/cdrom目录下才执行runInstaller,原因容后说明。
Oracle Universal Installer安装程序顺利激活之后,您可以看到如下图五之画面:
点击查看大图图五:激活Oracle Universal Installer 2.0.1
跳过欢迎画面后就可以开始正式的安装啰!
Step1: 设定Oracle Inventory之位置
首先您必须指定Oracle Inventory之所在目录。Oracle Inventory是用来记录所有安装过的Oracle产品清单,假如没有非凡的需求就请依照预设的目录/opt/oracle/oraInventory即可。