Oracle9i数据库管理实务讲座(一)之I部分

发表于:2007-05-25来源:作者:点击数: 标签:数据库管理oracle9i讲座实务
如何安装Oracle 9i Enterprise Edition for Linux 前言 Oracle 9i 数据库 系统可算是近几年来Oracle公司一项杀手级的产品,其功能与应用面之广,连研究Oracle多年的我在第一次接触到产品规格时也不禁吓了一跳!突然间一大堆的技术文件与白皮书排山倒海而来,

  如何安装Oracle 9i Enterprise Edition for Linux
  前言
  
  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
   
  图一:Oracle Technology Network
  如果您尚未注册,就赶快点选首页右上角的【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之前,请先下载以下两个档案:
  
  n orarun9i.rpm:
  
  下载地址:ftp://ftp.suse.com/pub/suse/i386/supplementary/commercial/Oracle/orarun9i.rpm
  
  n Java 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
  3. 执行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檔。安装的方式分别如下:
  
  n      j2sdk-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
  
  n      j2sdk-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即可。
   
  图六:设定Oracle Inventory之所在目录。
  
  Step2:设定可更新Oracle软件之操作系统群组
  
  在这里所设定的群组是用来更新Oracle软件所用,如果您决定只让root使用者具备更新Oracle软件的权利,就不要指定任何群组名称。
  
  因为SuSE Linux安装完毕就自动将oracle帐户加至oinstall群组,所以Unix Group Name字段就先显示了oinstall,按下【Next】继续吧!
   
  图七:设定可更新Oracle软件之操作系统群组。
  Step3:建立Oracle Inventory
  
  Oracle Universal Installer已准备一个建立Oracle Inventory所用的orainstRoot.sh档案(位置是在/tmp/orainstRoot.sh),不过这个档案需利用root身分执行。此时您可以再开启一个终端机窗口来执行该档案,如图九所示。待执行完毕再回到如图八的窗口按下【Continue】。
   
   图八:执行orainstRoot.sh之提示窗口。
   
  图九:执行orainstRoot.sh建立Oracle Inventory目录。
  Step4:指定Oracle安装程序来源与目的地所在目录
  Oracle Home为Oracle数据库系统所在之主要目录。因为在/etc/profile.d/oracle.sh内已设定ORACLE_HOME为/opt/oracle/product/9.0.1,所以下方Destination的Path字段会出现ORACLE_HOME之设定值。这里也不需要做变更。
   
  图十:指定Oracle安装程序来源与目的地所在目录
  Step5:选择欲安装的Oracle 9i产品种类
  这里请勾选【Oracle 9i Database 9.0.1.0.0】,按下【Next】。
   
  图十一:选择欲安装的Oracle 9i产品种类。
  Step6:选择Oracle 9i数据库版本
  
  如果您是第一次安装Oracle数据库系统,建议您选择【Enterprise Edition】或是【Standard Edition】。而已有安装经验的读者则可以选择【Custom】方式自行决定要安装的套件。
   
  图十二:选择Oracle 9i数据库版本。
  Step7:决定数据库基本组态
  
  假定您上一个步骤是选择Enterprise Edition或是Standard Edition,则会出现Database Configuration的窗口。您可以依照Oracle数据库的实际用途选择最佳的组态。举例来说,如果是为了建置资料仓储所用的线上分析环境,则您可以选择使用【Data Warehouse】选项。这里我们先选择一般用途【General Purpose】。
   
  图十三:决定数据库基本组态。
  Step8:设定Oracle数据库之识别资料
  Oracle数据库从8i以后的版本都是使用Global Database Name唯一识别每一个Oracle数据库。建议您设定数据库的名称为Oracle SID名称.网域名称。例如我将Oracle SID设定为ora901,数据库名称就可设为ora901.uuu.com.tw。
   
  图十四:设定Oracle SID与数据库名称。
  Step9:指定数据库所使用的字符集。
  字符集(Character Set)是建立Oracle数据库时最重要的一项设定,如果设定错误的话,很可能无法正常存取中文资料喔!预设的字符集为WE8ISO8859P1,您可以由下方第三个选项的下拉式选单点选可存放中文字的
  ”Traditional Chinese.ZHT16BIG5”字符集。
  
  图十五:设定数据库所使用之字符集。
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

原文转自:http://www.ltesting.net