[原创]两小时搞定RHAS 3.0上的Oracle 9i的安装

发表于:2007-07-04来源:作者:点击数: 标签:
作者:好好先生 参考文档: http://www.puschitz.com/InstallingOracle9i.shtml 另外还参考了一篇csdn上的安装文档,在此一并表示感谢! 声明:本文可任意转载,但请保留上述信息 ========================================================================

作者:好好先生
参考文档:http://www.puschitz.com/InstallingOracle9i.shtml
另外还参考了一篇csdn上的安装文档,在此一并表示感谢!
声明:本文可任意转载,但请保留上述信息
==========================================================================
    Oracle是世界上使用最广泛的数据库,它可以运行在各种计算机上;也是当前最优秀的关系型数据库。以前,一至无缘接触。这两天,正好有空。就在自己的计算机上装了一遍,领略了一番她的魅力!
    一、准备工作
     1.下载oracle 9i for linux的源码包(一共有三个cpio.gz的文件:lnx_920_disk1.cpio.gz,lnx_920_disk2.cpio.gz,lnx_920_disk3.cpio.gz)
     2.下载补丁。至少需要四个补丁文件:
    [quote:84109dc8dd]p3095277_9204_LINUX.zip 9.2.0.4.0的升级补丁包.
      p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.
      p3119415_9204_LINUX.zip 在升级到9.2.0.4.0之后打.
      p2617419_210_GENERIC.zip 打3119415补丁所需要的.[/quote:84109dc8dd]
      这几个补丁文件都可以在google上搜索到,其中p3095277_9204_LINUX.zip这个补丁有300多M,我在网上搜到了一个国内的下载站,速度有30多K/秒。另外三个,在itpub有人打包上传了。http://www.itpub.net/showthread.php?s=&threadid=171693&perpage=15&pagenumber=1
                                                                                
     3.修改内核参数
    [quote:84109dc8dd]#echo "kernel.sem=\"250 32000 100 128\"" >> /etc/sysctl.conf
      #echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf[/quote:84109dc8dd] 
                                                                                                               
     第一条命令中的 250、32000、100、128 分别对应SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数。
     上面是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动.
     4.检查设置
     [quote:84109dc8dd]# more /etc/sysctl.conf | grep kernel.s
        kernel.sysrq = 0
        kernel.shmmax=2147483648
        kernel.sem="250 32000 100 128"[/quote:84109dc8dd]
     5.检查安装所需的rpm包是否齐全,确认以下rpm包都已经安装(如果你安装时选择了软件开发,那么基本上下面所列的包都已经安装了,如果没有安装,大部分在第三张光盘上,安装时注意一下顺序)
     [quote:84109dc8dd] # rpm -qa | grep compat
        compat-gclearcase/" target="_blank" >cc-7.3-2.96.122
        compat-libstdc++-devel-7.3-2.96.122
        compat-gcc-c++-7.3-2.96.122
        compat-libstdc++-7.3-2.96.122
        compat-glibc-7.x-2.2.4.32.5
        compat-db-4.0.14-5
                                                                                                                   # rpm -qa | grep openmotif
        openmotif-2.2.2-16
        openmotif-devel-2.2.2-16
                                                                                                                  # rpm -qa | grep setarch
        setarch-1.3-1[/quote:84109dc8dd]
                                                                                                            
     6.把gcc,g++更换为2.96的版本。
      [quote:84109dc8dd]# mv /usr/bin/gcc /usr/bin/gcc323
# ln -s /usr/bin/gcc296 /usr/bin/gcc 
# mv   /usr/bin/g++ /usr/bin/g++323   
# ln -s /usr/bin/gcc296 /usr/bin/gcc
[/quote:84109dc8dd]
                                                                                                               
     7.设置用户及环境变量、安装目标路径
     a.增加用户和组
       [quote:84109dc8dd]groupadd dba          # 创建数据库管理员组
       groupadd oinstall     # 创建oracle文件的所有组
       useradd -c "Oracle software owner" -g oinstall -G dba oracle #创建oracle用户
       passwd oracle         #设置oracle用户的密码[/quote:84109dc8dd]
     b.创建安装目标路径
       [quote:84109dc8dd]mkdir /opt/oracle
       mkdir /opt/oracle/product
       mkdir /opt/oracle/product/9.2.0
       chown -R oracle.oinstall /opt/oracle
                                                                                                               
       mkdir /var/opt/oracle
       chown oracle.dba /var/opt/oracle
       chmod 755 /var/opt/oracle[/quote:84109dc8dd]
     c.设置环境变量
      [quote:84109dc8dd]su  - oracle
      vi .bash_profile加入下面的内容
      export LD_ASSUME_KERNEL=2.4.1 #这个参数必须指定,否则Java安装界面无法启动,这个参数实际上是为了避免Linux上的NPTL(Native POSIX Thread Library)和Oracle应用不兼容的问题.
     # Oracle Environment
     export ORACLE_BASE=/opt/oracle
     export ORACLE_HOME=/opt/oracle/product/9.2.0
     export ORACLE_SID=test
     export ORACLE_TERM=xterm
     # export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
     export NLS_LANG=AMERICAN;
     export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
     LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
     LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
     export LD_LIBRARY_PATH
                                                                                                               
     # Set shell search paths
     export PATH=$PATH:$ORACLE_HOME/bin                                                                                                                
    然后执行
    $ source .bash_profe #让配置文件生效[/quote:84109dc8dd]
                                                                                                               
    8.设置swap和临时文件夹
     oracle对内存和swap要求比较高,Oracle 建议 Oracle 9i  服务器至少需要 512M 内存,两倍内存或不少于 400M 的交换 (swap) 空间。如果你没有足够的交换空间或内存,在数据库创建过程中,你的 Oracle 服务器将变得非常迟钝。 我的内存只有256M,512M的swap。在此,我新增了1000M的swap。
    [quote:84109dc8dd]su – root
    dd if=/dev/zero of=tmpswap bs=100M count=10
    chmod 600 tmpswap
    mkswap tmpswap
    swapon tmpswap[/quote:84109dc8dd]
                                                                                                               
    另外,oracle的安装至少需要400M的/tmp临时空间。如果你/tmp下的空间不够,可以可以临时在另一个文件系统中建立一个/tmp 目录。
                                                                                                               
   [quote:84109dc8dd]su – root
   mkdir /<AnotherFileSystem>/tmp
   chown root.root /<AnotherFileSystem>/tmp
   chmod 1777 /<AnotherFileSystem>/tmp
   export TEMP=/<AnotherFileSystem> # used by Oracle
   export TMPDIR=/<AnotherFileSystem> # used by Linux programs[/quote:84109dc8dd]

  当安装完 Oracle 之后,关闭 Oracle 并删除临时目录:
  [quote:84109dc8dd]su – root
  rmdir /<AnotherFileSystem>/tmp
  unset TEMP
  unset TMPDIR[/quote:84109dc8dd]
                                                                                                               
   Oracle 磁盘空间 (Sizing Oracle Disk Space)
  仅安装数据库软件,大约需要2.5G 的磁盘空间。如果执行一个标准的数据库安装而不是自定义安装,则大约需要3.5G空间。
                                                                                                               
   9.解包安装文件。
    把下载的文件拷贝到/tmp中。最好以root身份来解压,否则可能会报错。
    a.解压
    gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz 
    b.解包
   [quote:84109dc8dd]cpio -idmv < lnx_920_disk1.cpio
   cpio -idmv < lnx_920_disk2.cpio
   cpio -idmv < lnx_920_disk3.cpio[/quote:84109dc8dd]
    会生成Disk1,Disk2,Disk3三个文件夹, 好了,准备工作告一段落。万事俱备,只久安装了!
   二、安装
    1.打第一个补丁。
    运行runInstaller之前,需要打补丁3006854: 注意,必须以root身份运行.
                                                                                                               
   [quote:84109dc8dd]# unzip p3006854_9204_LINUX.zip[/quote:84109dc8dd]
   会在当前目录下创建一个目录,进入到该目录中
   [quote:84109dc8dd] # cd 3006854
    #chmod +x *.sh
    # ./rhel3_pre_install.sh[/quote:84109dc8dd]
    2.以root身份执行xhost +
     如果以oracle身份执行,会出现提示不能连接到display 0.0之类的错误。
    3.运行runinstall(激动人心的时刻到了!)

     su - oracle
     /tmp/Disk1/runInstaller (有文章说不要进入到Disk1的文件夹中再执行./runInstaller,否则会找不到其它的盘。我没有实验那样是否不行。)
      根据提示往下面安装,中间会提示你,有一个地方要组名,输入oinstall,
     另一个地方添数据库名和SID,请均填入orcl。 还会提示你用root身份执行一个脚本,按ctrl+shift+n新开一个终端窗口, 然后执行/tmp/的一个.sh文件。
     另外,relink 阶段,会报告两个错误:ins_oemagent.mk 和 ins_ctx.mk. 点 Ignore忽略,安装后升级到9.2.0.4的版本来消除这个bug.
    4.升级
   解包:
   unzip p3095277_9204_LINUX.zip
   cpio -icvd < 9204_lnx32_release.cpio 这个地方最好还以root身份解包,否则可能还会提示你权限不够。                                                                                                                
   现在可以再次运行runInstaller,要先升级oui(最后一个选项)否则不让升级到9.2.0.4.而且,升级完oui以后,要退出oui然后再重新运行oui, 再升级到9.2.0.4.不退出继续升级会报告错误.升级过程中,仍然会出现ins_oemagent.mk错误,点 Ignore 忽略(可以通过下面的补丁解决)。然后还会提示你用root身份来执行一个/opt中的一个脚本,你同样开一个终端,用root身份来执行就可以了。
   5.打补丁
   [quote:84109dc8dd]su - oracle
$ unzip p3119415_9204_LINUX.zip
$ cd 3119415
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin        # the patch needs "fuser" which is located in /sbin
$ which opatch
/tmp/OPatch/opatch
$ opatch apply
[/quote:84109dc8dd]
   这个地方有一个问题需要注意,直接用oracle身份解压可能提示权限不够,用root身份解压,然后用oracle身份来执行还会提示你权限不够,你用root解压然后执行chmod 777 3119415,然后su - oracle;/tmp/Opatch/opatch apply就ok了。
   好了,大功告成了!  运行dbca命令来创建数据库,还有文档上说这个时候可能会出错,要修改dbca文件来解决,我没有遇到这个问题,如果你遇到了可以上google上找相关文档,来解决这个问题。
   三、清扫战场及实验
     1.删除临时文件(这些临时文件将近3G,不用我再说删除的意义了吧?)
       [quote:84109dc8dd]cd /tmp
       rm -rf *[/quote:84109dc8dd]
    2.改回gcc,g++的版本,否则在以后编译安装其他软件时可能会有问题
      [quote:84109dc8dd]# mv /usr/bin/gcc323 /usr/bin/gcc
      # mv /usr/bin/g++323 /usr/bin/g++[/quote:84109dc8dd]
    3.连接一下数据库,检查一下自己的劳动成果吧!
      [quote:84109dc8dd]su - oracle
      oracle$ sqlplus /nolog
      SQL> connect / as sysdba
      SQL> startup[/quote:84109dc8dd]
      SQL>这时你可以用create table来创建数据库了,和mysql提示符下的操作一样。
      如果你现在只是测试服务器,不是生产服务器,关机时别忘了在sql>提示符下执行一下shutdown来关闭数据库,不然的话,关机的过程将变得非常漫长。
    好了,就写这么多吧,如果你在安装过程中还有什么问题,欢迎与我交流。

 llzqq 回复于:2004-02-27 19:06:46
谢谢好好先生!

 好好先生 回复于:2004-02-27 19:19:25
[quote:a892b749bc="llzqq"]谢谢好好先生![/quote:a892b749bc]
呵呵!你回复的可真快,我还没贴好呢! :em02:

 panafrio 回复于:2004-02-27 19:44:22
可以告訴那裡下載以上的DISK1,2,3 和其他4 個文件嗎....

 panafrio 回复于:2004-02-27 19:45:54
我也想試裝.................

 好好先生 回复于:2004-02-27 19:48:59
这些东西上oracle的网上都有下载。你也可以用google搜国内的本地下载。

 david5337 回复于:2004-02-27 21:30:06
好东西!
找时间试一下!

 camp 回复于:2004-02-28 08:45:44
如果机器够快30分钟就搞定了。我的最高纪录。

 lnx 回复于:2004-02-28 09:08:52
谢谢好好
另外,我补充一点就是:
如果用中文环境登陆的话,在安装时,那些英文会变成方格的,所以要在安装前换成英文环境~

 好好先生 回复于:2004-02-28 09:12:47
我已经设置环境变量了:export NLS_LANG=AMERICAN 。:lol:

 lnx 回复于:2004-02-28 09:41:36
呵呵,谢谢提醒~~
刚才只是把它收藏了,没详细看 :em02:

 阿修罗 回复于:2004-02-28 10:22:37
好,本站收藏

 llzqq 回复于:2004-02-28 13:04:08
所有补丁的下载地址:
http://www.sh.nu/download/oracle/p3095277_9204_LINUX.zip
http://www.itpub.net/attachment.php?s=&postid=1033083

 Linux@初学者 回复于:2004-02-28 13:10:25
谢谢兄台,我正找不到那个300多M的文件呢!
:)

 mofaser 回复于:2004-02-28 13:54:37
好東東

 好好先生 回复于:2004-02-29 09:03:16
[quote:172561539c="camp"]如果机器够快30分钟就搞定了。我的最高纪录。[/quote:172561539c]
 :em16: 我的机器只有赛扬1.1G,256sdram。

 platinum 回复于:2004-02-29 09:11:20
知足吧!我的是PII-366、128M的,连跑X都够戗)*!$^@E%*^&(……

 zorrozolo 回复于:2004-02-29 20:26:51
你写道“升级过程中,仍然会出现ins_oemagent.mk错误,点 Ignore 忽略”
这个问题打补丁 p3119415_9204_LINUX.zip  能解决吗?

 好好先生 回复于:2004-03-01 07:40:46
[quote:f0b75ba51b="zorrozolo"]你写道“升级过程中,仍然会出现ins_oemagent.mk错误,点 Ignore 忽略”
这个问题打补丁 p3119415_9204_LINUX.zip  能解决吗?[/quote:f0b75ba51b]
可以。

 lijing0626 回复于:2004-03-01 08:53:53
不错

 sandbeah 回复于:2004-03-02 10:11:48
http://www.9iv.com/down/down.asp?id=855&no=3

 text2002 回复于:2004-03-02 10:17:06
好,好。。。

 zjqyb 回复于:2004-03-04 08:27:17
oracle 817 for linux 的ora-04031 bug 真太犯人了

 hongweig 回复于:2004-03-04 08:47:08
中文问题好解决。

看看我的安装方法:
在fedora 1上安装的。

http://www.linuxsir.org/bbs/showthread.php?s=&threadid=88112

 hongweig 回复于:2004-03-04 08:47:33
几个补丁文件在我的站上就有。
软件下载里。

 hongweig 回复于:2004-03-04 08:48:48
嘻嘻,我的机子40分钟左右全部搞定。

 text2002 回复于:2004-03-04 09:48:55
export NLS_LANG=AMERICAN格式是错的.

 luoyuan21 回复于:2004-03-18 11:03:07
有一个问题不能得到解决。那就是oracle agent在安装完成配置过程中出错,OUI提示的详细出错信息如下:

Paramater "orahome" = /opt/ora9/product/9.2"
Paramater "nodeinfo" = NO_VALUE

Agent Service Failed


造成的结果是在启动oracle agent时没有任何输出信息,也不能启,因此虽然启动了oms但是却不能通过oms对数据库进行管理,只能使用oem独立登入进行管理,还请各位指点。

 好好先生 回复于:2004-03-18 11:08:11
[quote:33823ecb11="luoyuan21"]有一个问题不能得到解决。那就是oracle agent在安装完成配置过程中出错,OUI提示的详细出错信息如下:

Paramater "orahome" = /opt/ora9/product/9.2"
Paramater "nodeinfo" = NO_VALUE

Agent Service Failed..........[/quote:33823ecb11]
有没有设置环境变量?有没有根据自己的实际情况更改环境变量?有没有切换到oracle用户?

 好好先生 回复于:2004-03-18 11:08:58
[quote:cccdb0a029="text2002"]export NLS_LANG=AMERICAN格式是错的.[/quote:cccdb0a029]
那是写在oracle用户的环境变量中的,我就是这么写的也成功装上了。

 text2002 回复于:2004-03-18 11:25:00
[quote:12a7fa70b7="好好先生"]
那是写在oracle用户的环境变量中的,我就是这么写的也成功装上了。[/quote:12a7fa70b7]
安装当然是成功的,以后用就问题多多了。写在oracle的环境变量中,每次打开一个session只用引用到这个变量就会报错。不然做个导入导出就知道了。

 好好先生 回复于:2004-03-18 12:01:30
[quote:b5a72447f8="text2002"]
安装当然是成功的,以后用就问题多多了。写在oracle的环境变量中,每次打开一个session只用引用到这个变量就会报错。不然做个导入导出就知道了。[/quote:b5a72447f8]
哦!原来如此,我对oracle研究不多,我一会儿试试。谢谢!

 bigbeng 回复于:2004-04-19 14:11:29
我在RH AS3.0 上装9iR2(9.2.0.4),不需要patch,数据库也装上了,但是最后也出下面的问题:
Paramater "orahome" = /opt/ora9/product/9.2" 
Paramater "nodeinfo" = NO_VALUE 

Agent Service Failed。

请好好先生帮忙指导一下。

 bigbeng 回复于:2004-04-19 14:11:29
我在RH AS3.0 上装9iR2(9.2.0.4),不需要patch,数据库也装上了,但是最后也出下面的问题:
Paramater "orahome" = /opt/ora9/product/9.2" 
Paramater "nodeinfo" = NO_VALUE 

Agent Service Failed。

请好好先生帮忙指导一下。

 异军突起 回复于:2004-05-08 17:35:25
我用您的方法在RHAS3。0下安装ORACLE9。2
已经将ORACLE安装界面启动,但输完组名,就再也跳不过去了,总是有一个对话框档着我,
内容是The  ORACLE Universal installer inventory on this system does not exist or is not writable.
The possibile causes are:
1、The /tmp/orainstRoot.sh script was not executed with root priveleges,or an error occurred during execution.
2、You are not a member of the specified installer group
  可是我查看了我以前的所有安装步骤一直找不到问题原因???。PASH—PROFILE也没配置错啊???我将贴图发到您邮箱里了?
   还请大师指教?谢谢您了。

 fwzhuo 回复于:2004-08-19 15:01:23
非常感谢!偶正在找这个补丁,真及时啊 :D !

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