服务器 频道

在DELL pe800下安装linux AS3.0+ora 9i

  【IT168 服务器学院】计算机:DELL PE800(2G RAM;2.8G cpu,4 ×76.0G Sata硬盘)
  说明:本帖只在针对DELL PE800下安装作的特殊操作步骤来处理安装时出现的异常情况;软件安装步骤参考网络,并试验安装成功
  
  安装前注意:
  1. 用DELL提供的Server Assistant光盘引导安装AS3.0可以解决以AS3引导安装系统网卡驱动不了,vi无颜色显示问题。
  2. 选择英语环境安装,以DELL引导盘安装无法选择多语言环境,所以选择英语环境安装比较好。

  第一部分: Red Hat Enterprise Advanced Server 3.0 安装

  一. 软件准备

  1、Red Hat Enterprise Linux Advanced Server 3.0 的四个安装文件。

  2、如果everything 安装,那么不用另外安装其他的包,如果使用Server Assistant CD 来安装系统, 可能有些服务或应用没有被安装到Linux 系统中,需要手动重新安装,比如我们使用DELL 安装引导CD8.3 安装后telnet 没有被安装到服务中,需要安装第三张CD 中的telnet-server-0.17-26.i386.rpm 包和第二张CD中的telnet-0.17-26.i386.rpm 。
  # rpm –ivh telnet-server-0.17-26.i386.rpm
  # rpm –ivh telnet-0.17-26.i386.rpm 如果缺其他包,可以使用类似方法。

  3、安装时swap分区设置为内存的二倍。不要采用DHCP设置主机名和IP地址,而是“手工设置"。否则会在安装oracle的时候出现如下错误:
  Thrown when the IP address of a host cannot be determined
  出现这个错误将使Oracle不能安装成功。安装RHAS3,可以刻录到光盘安装, 也可以从硬盘安装,从硬盘安装RHAS3, 请参考: http://bbs.chinaunix.net/forum/viewtopic.php?p=2416942#2416942 . 注意: Server上两块网卡设置同一个网段的ip地址可能需要调整才能使用。

  二.Linux 安装设置

  1、系统要求:内存最低256(我们基本是2G 或4G),建议大于512M,硬盘空间至少4G,如果Oracle 安装文件存在硬盘,建议5G(在安装操作系统后的剩余空间)。可以查看内存的大小,用到的命令是:grep MemTotal /proc/meminfoswap 分区在安装操作系统的时候就设定好了,为内存的2倍,当内存达到1G 以上时,和内存大小相同就可以了啊。看交换分区命令是: /sbin/swapon -s

  2.其他系统盘大小分配按照具体的server 的磁盘大小定义。一般设置:
  / (root) 2048M
  /boot 282M
  swap 2047内存的两倍,这里我们设置2047 M .
  /usr 6000M , 如果安装9i RAC,可能需要扩大一些。
  /home 4353M
  /tmp 2047M
  /u01 211998M  RAID1 中的其他部分给/u01, 用于oracle 软件的安装和部分数据文件的存放.

  3、检查是否安装以下包:
  [quote:864939f94a]#su - root
  #rpm -qa|grep compat
  compat-db-4.0.14-5.i386
  compat-gcc-7.3-2.96.122.i386
  compat-gcc-c++-7.3-2.96.122.i386
  compat-libstdc++-7.3-2.96.122.i386
  compat-libstdc++-devel-7.3-2.96.122.i386
  #rpm -qa|grep openmotif21
  openmotif21-2.1.30-8.i386
  #rpm -qa|grep setarch
  setarch-1.3-1.i386
  #rpm -qa|grep tcl
  tcl-8.3.5-92.i386
  [/quote:864939f94a]
  上面显示的内容是已经安装了具体的RPM 包之后的结果。它们对应的软件包是:[q
  uote:864939f94a] , 注意包的依赖关系及安装顺序。
  #rpm –ivh compat-db-4.0.14-5.i386.rpm
  #rpm –ivh compat-gcc-7.3-2.96.122.i386.rpm
  #rpm –ivh compat-libstdc++-devel-7.3-2.96.122.i386.rpm
  #rpm –ivh compat-gcc-c++-7.3-2.96.122.i386.rpm
  #rpm –ivh compat-libstdc++-7.3-2.96.122.i386.rpm
  #rpm –ivh openmotif21-2.1.30-8.i386.rpm
  #rpm –ivh setarch-1.3-1.i386.rpm
  #rpm –ivh tcl-8.3.5-92.i386.rpm
  一般情况下,你的系统上的输出结果和这个不同。如果个别包没有安装,把系统安装光盘mount 上,找到具体的软件包(大多数在第三张光盘上),然后利用如下的命令来安装相应的包:
  # rpm -ivh compat.....rpm
  当然也可以用命令来挂载iso 文件。
  mount -o loop /mnt/e/rhas3/rhel-3-i386-as-disc3.iso /mnt/cdrom
  还需要将gcc、g++更换为2.96 的版本.
  方法如下:
  #su - root
  mv /usr/bin/gcc /usr/bin/gcc323
  ln -s /usr/bin/gcc296 /usr/bin/gcc
  mv /usr/bin/g++ /usr/bin/g++323 # if g++ doesn''t exist, then gcc-c++ was not installed
  ln -s /usr/bin/g++296 /usr/bin/g++

  4、设置内核参数:
  这个版本的默认的glibc 很合适,免去了不少麻烦。
  用grep MemTotal /proc/meminfo 查看内存总量
  出现MemTotal XXXXXKB,其中的XXXXX 就是内存总量。
  修改两个文件,如下:
  #vi /etc/sysctl.conf
  加入:
  kernel.shmmax = 1024000000 ,一般为物理内存的一半,切换到字节。要是超过这
  个值,在运行dbca 时会出现Ora-27123:Unable to attach to shared memeroy segment)
  kernel.shmmni=4096
  # kernel.shmall=2097152
  kernel.sem=250 32000 100 128
  fs.file-max=65536
  net.ipv4.ip_local_port_range=1024 65000
  修改后运行sysctl -p 命令使得内核改变立即生效。
  #vi /etc/security/limits.conf
  加入:
  oracle hard nofile 65536
  oracle soft nofile 65536
  oracle hard nproc 16384
  oracle soft nproc 16384

  第二部分: Linux AS3.0 上安装Oracle9.2.0.4

  1、建立用户、设置环境变量
  建立用户的命令是以root 用户运行的。
  #groupadd oper
  #groupadd dba
  #useradd -g dba –G oper oracle
  #passwd oracle
  设置环境变量:
  以oracle 用户登录,
  $ vi $HOME/.bash_profile
  插入下面的内容
  # .bash_profile
  # Get the aliases and functions
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi
  # User specific environment and startup programs
  PATH=$PATH:$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:.
  BASH_ENV=$HOME/.bashrc
  export BASH_ENV PATH
  unset USERNAME
  # Set Oracle Environment
  ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
  ORACLE_SID=tpc;export ORACLE_SID
  ORACLE_OWNER=oracle;export ORACLE_OWNER
  ORACLE_BASE=/u01/product;export ORACLE_BASE
  ORACLE_TERM=vt100;export ORACLE_TERM
  #NLS_LANG=''traditional chinese_taiwan''.ZHT16BIG5;export NLS_LANG
  LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
  set -u
  PS1=`hostname`''<$PWD>$'';export PS1
  EDITOR=/bin/vi; export EDITOR
  JAVA_HOME=/usr/local/java;export JAVA_HOME
  ORA_NLS33=/u01/product/oracle/ocommon/nls/admin/data;export ORA_NLS33
  CLASSPATH=/u01/product/oracle/jdbc/lib/classesl11.zip:/usr/local/java;
  export DISPLAY=127.0.0.1:0.0
  export LD_ASSUME_KERNEL=2.4.1
  PATH=$ORACLE_HOME/bin:$JAVA_HOME/bin:$PATH:.;export PATH
  alias ll=''ls -l'';
  alias ls=''ls --color'';
  alias his=''history'';
  #. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
  #rq=`date`
  #echo "please enter your name:"
  #read name
  # echo "hello $name, now time is $rq, welcome to linux AS3.0 system, please
  EXIT the system when you left,thank you. PCEG-IT-SYS.DBA TEL: 21686 "
  #echo "#"
  echo "please choose a oracle sid: 1):tpc default:tpc"
  read ans
  case $ans in
  1)
  ORACLE_SID=tpc; export ORACLE_SID;;
  *)
  ORACLE_SID=tpc; export ORACLE_SID;;
  Esac
  然后注销重新登录,用set|more 查看环境变量是否生效。
  #chown -R oracle.dba /u01
  #chmod 755 /u01
  这时ORACLE_BASE 的值就是/u01/product 。

  2、开始安装
  从http://www.oracle.com 下载三个安装文件,
  ship_9204_linux_disk1.cpio.gz
  ship_9204_linux_disk2.cpio.gz
  ship_9204_linux_disk3.cpio.gz
  用zcat ship_9204_linux_disk1.cpio.gz|cpio -idmv
  zcat ship_9204_linux_disk2.cpio.gz|cpio -idmv
  zcat ship_9204_linux_disk3.cpio.gz|cpio -idmv
  生成三个文件夹Disk1,Disk2,Disk3;
  你也可以用gunzip ship_9204_linux_disk1.cpio.gz
  cpio -idmv <ship_9204_linux_disk1.cpio
  这样的命令来生成三个目录,可以用下面的命令刻录到光盘,也可以保存在硬盘。
  进入Disk1 目录运行runInstaller之前,注意两点:
  a、安装p3006854_9204_LINUX.zip补丁,否则会出现如下错误:
  Error occurred during initialization of VM
  Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjav
  a.so:
  symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time ref
  erence
  从http://metalink.oracle.com 下载p3006854_9204_LINUX.zip补丁。安装此补丁的方
  法:
  su - root
  # unzip p3006854_9204_LINUX.zip
  Archive: p3006854_9204_LINUX.zip
  creating: 3006854/
  inflating: 3006854/rhel3_pre_install.sh
  inflating: 3006854/README.txt
  # cd 3006854
  # sh rhel3_pre_install.sh
  Applying patch...
  Patch successfully applied
  注意:如果运行rhel3_pre_install.sh 出现下面的错误
  rhel3_pre_install.sh: line 36: gcc: command not found
  是因为你忘了安装gcc,同样要是出现下面的错误:
  # ls
  s: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: N
  o such file or directory
  # rm /etc/ld.so.preload
  rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object fil
  e: No such file or directory
  #
  请不要退出bash,用下面的方法来修复(我开始遇到,后来没有遇到了,可能是因
  为我把gcc 降级到了296 吧)
  # echo "" > /etc/ld.so.preload
  rm /etc/ld.so.preload
  And start over again.
  现在运行./runInstaller &(必须进入到Disk1 目录,或者从光盘运行,从光盘安装不要进入/mnt/cdrom 后运行runInstaller,而是这样运行./mnt/cdrom/runInstaller)
  呵呵,高兴了吧,期待以久的GUI 界面终于出来了啊。这是欢迎界面。显示了Oracle 安装的源文件所在目录,还有要安装到的产品目录。我们点“Next”;
  接着出现的下一个界面是Inventory 路径,我们点“Next”;
  现在要求用户输入UNIX 组名,我们用Oracle 用户所在的组“dba” ,点“Next”,
  如果你是第一次安装Oracle 产品,则要你运行一个sh 文件。文件是/tmp/orainstRoot.sh,我们打开一个shell 窗口,切换到root 用户,如下:
  su root
  sh /tmp/orainstRoot.sh
  运行完毕我们返回Oracle 安装界面,点“Continue”;
  选择文件存放的目录,我们选择默认值。然后“Next”;
  安装的产品是“Oracle9i Database 9.2.0.4.0”,点“Next”;
  一般使用custom 安装,选取所需要的组件,安装。
  不需要建立数据库。
  出现安装组件的选择结果,这时点“Install”,开始安装,复制文件,进度条在一点一点的增加,当安装并link 完后,出现配置工具界面,agent 服务不能配置成功,忽略不用管,在下面修复。DBCA,NETCA,HTTP 都正确配置完毕哦。呵呵。下面开始修复错误。其实要是把各个界面抓取下来就更好了。

  7、安装p3238244_9204_LINUX.zip补丁
  此补丁也是从http://metalink.oracle.com 下下载,同时要下载一个opatch软件包:p2617419_220_GENERIC.zip,它主要是用来修复agent服务不能启动的错误。
  过程如下:
  su - oracle
  $ cp p2617419_210_GENERIC.zip /tmp
  $ cd /tmp
  $ unzip p2617419_210_GENERIC.zip
  $ export PATH=$PATH:/tmp/OPatch
  $ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
  $ unzip p3238244_9204_LINUX.zip
  $ cd 3238244
  $ opatch apply
  补丁修复完成,需要relinked 一个.mk 文件。
  $ cd $ORACLE_HOME/network/lib
  $ make -f ins_oemagent.mk install
  现在在运行agentctl start,看是不是可以成功运行agent 服务了啊,可以用stop、status 来停止此服务或者检查服务的状态。
  在这个成功之后,居然不能启动Oracle,说是不能找到初始化文件,没办法,我用dbca 先删除了原来安装时建立的库,再重新建立了数据库。

  第三部分: Oracle9.2.0.4 升级到Oracle9.2.0.5 (如果觉得没有必要,这一步可以忽略)

  升级前需要认真考虑是否需要升级,因为不同版本的数据库做Standby 可能存在问题。
  1. 检查oracle 用户下的环境变量,ORACLE_HOME, ORACLE_SID 等。
  2. 在http://metalink.oracle.com 下载9205 patch set , 文件名称:
  p3501955_9205_LINUX.zip 。
  3. 解压文件# gunzip p3501955_9205_LINUX.zip
  4. cpio -idmv <9205_lnx32_release.cpio
  5. 关闭存在的实例及监听器,agent (如:agentctl stop) 及其它的process .
  6. 使用Oracle Universal Installer Release 10.1.0.2 安装patch set,如果Oracle Universal Installer was installed with the base release of Oracle9i ,那么需要建立以下的链接(我们直接安装oracle9204,需要有这个链接):
  $ cd $ORACLE_BASE/oui/bin/linux
  $ ln –s libclntsh.so.9.0 libclntsh.so ,
  然后到patchset 的解压目录查找runInstaller , $ cd /u01/packages/Disk1/下,如果是安装9205 cluster manager patch set , 那么需要运行/u01/packages/Disk1/oracm/runInstaller .
  7. 开始安装: $./runInstaller 开始看到欢迎界面,显示File Locations screen 。注意查看是否是Oracle Universal Installer Release 10.1.0.2,点击about Oracle Universal Installer 就可以看到了。
  8. 还有file location 的page 第一项是安装产品的全路径:
  /u01/packages/Disk1/stage/products.xml , 第二个空格填入oracle 主目录的名称( OUIHome ) , 第三个空格填入oracle 主目录的全路径:
  /u01/product/oracle (按照.bash_profile 中设置的)。
  9. Next,如果是Oracle Universal Installer was installed with the base release of
  Oracle9i ,那么我们需要首先安装Oralce9.2.0.5 组件中的Oracle Universal
  Installer 10.1.0.2 , 然后再安装oracle9205 database 组件。安装过程没有任何错误出现,如果有,一定是前面做的有问题。

  第四部分: 利用DBCA 建立数据库

  建立资料库的时候在最后安装部分可能报一些错,比如ORA-29807 , 这是Oracle 的bug , 可以忽略掉,安装完成后,在$ORACLE_HOME/rdbms/admin 目录下运行utlrp.sql ,用于修补ORA-29807 错误。
  解释:
  ORA-29807: specified operator does not exist
  This is a known issue (bug 2925665). You can click on the "Ignore" button to continue.
  Once DBCA has completed database creation, remember to run the ''prvtxml.plb'' script from $ORACLE_HOME/rdbms/admin independently, as the user SYS. It is also advised to run the ''utlrp.sql'' script to ensure that there are no invalid objects in the database at this time.
  参考文章:
  http://www.chinaunix.net/jh/19/363433.html

  第五,开始升级Oracle9.2.0

  1. 安装结束后,HTTPD会自动运行.在升级之前,需要将它停下来.
  $ cd $ORACLE_HOME/Apache/Apache/bin
  $ ./apachectl stop
  ./apachectl stop: httpd stopped

  LISTENER也需要停下来.
  $ lsnrctl stop

  注意: 如果不停的话,oracle会提示不能覆盖文件.这个时候再去将服务停下来也可以,点Retry就可以了.

  2.
  开始打补丁升级.
  注意打补丁时使用root用户,切换到root用户控制台:

  解包:
  $ unzip p3095277_9204_LINUX.zip
  Archive: p3095277_9204_LINUX.zip
  inflating: 9204_lnx32_release.cpio
  inflating: README.html
  inflating: patchnote.css

  $ cat 9204_lnx32_release.cpio │ cpio -i --make-directories

  做完这个后,再切换到oracle用户控制台, 再次运行/home/ora9i/Disk1/runInstaller升级,
  注意必须先选择最下面的安装选项,安装OUI ,要不然没有办法打那个最上面的升级补丁。

  升级完OUI后,要退出,再次运行/home/ora9i/Disk1/runInstaller
  选择第一个选项,将Oracle升级到9.2.0.4。
  这时候还是会有一个错误出现。再次选择忽略它。

  3、打其他的补丁:

  切换到root的终端。注意这个最好是原来那个保持了ORACLE_HOME, ORACLE_BASE的环境变量那个终端:
  修复ins_oemagent.mk错误.

  首先安装 opatch.

  $ unzip p2617419_210_GENERIC.zip
  Archive: p2617419_210_GENERIC.zip
  creating: OPatch/
  creating: OPatch/docs/
  inflating: Opatch/docs/FAQ
  ......
  inflating: README.txt
  $ ls
  $ pwd
  /home/or9i
  $ export PATH=$PATH:/home/or9i/OPatch:/sbin

  注意:
  修改PATH时,除了要包括解压出来的OPatch目录外,还要包括/sbin目录.这一点,metalink上没有说.

  $ unzip p3119415_9204_LINUX.zip
  Archive: p3119415_9204_LINUX.zip
  creating: 3119415/
  ......
  inflating: 3119415/README.txt
  $ cd 3119415
  $ opatch apply

  在这一步看到success的提示,那么全部的安装就算成功了. 恭喜,恶梦结束了

  用$dbca 看看能不能出现Oracle的图形管理工具
  注意:如果第一次安装oracle时选择soft only,那么第一次dbca时要建一个基本库数据库SID要和ORACLE_SID一样,然后用数据库启动语言:
  $ sqlplus /nolog
  $ connect /as sysdba
  $ startup
  数据库成功启动!

  额外的提示:
  第一:很多人都没有解决安装界面乱码的问题,很不幸,我也没有解决.只找到一个曲线救国的办法.采用的方法是将系统语言暂时设置为英文,安装结束后再更改回中文简体,这样可以解决安装过程中的问题
  第二:要分清每一个步骤是需要用oracle用户还是root用户,有些问题,可以用set命令看看环境变量是不是设置正确
  第三,Oracle升级时所用的补丁必须以root身份打
  

0
相关文章