当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

在Redhat 9上安装 Oracle 817心得


  关于 Oracle 安装的讨论已经有很多了,可是在实践中你还是总会遇到某些麻烦,因此我就留下我的两分钱吧。本文讨论的环境基于 Redhat Linux 9.0.93,
  
  Oracle 的版本号为 8.1.7.0.1。
  
  下载软件
  假设你已经有了一台跑着 Redhat 的机器,并且它满足 Oracle 8i 对硬件的相关要求,并且具有网络连接,下面就下载其他所需的软件。首先在 OTN 下载 linux
  
  81701.tar 和 glibc-2.1.3-stubs.tar.gz,另外还需要:i386-glibc-2.1-linux.tar.gz
  (Redhat 自带的是 binutils-2.13.90.0.18-9.i386.rpm,用于恢复
  
  因为 Oracle 自带了 JRE 1.1.8,所以不用单独安装,假设以上所述软件都放在 /tmp 目录。
  
  (注:还需要从Java官方网站下载JDK 1.4.2用以恢复,我安装的Redhat9没有发现JDK 1.4.2,下载位置:http://java.sun
  
  .com/j2se/1.4.2/download.html)
  
  安装glibc、JDK、和 binutils
  su
  cd /
  tar zxvf /tmp/i386-glibc-2.1-linux.tar.gz
  
  cd /usr/bin
  mkdir saved
  mv gcc cc ld saved
  ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc
  ln -s gcc cc
  ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
  (注:安装oracle过程中发现/usr/bin/ld变为非链接,需要重新设置,否则会出现连接出错!)
  
  cd /usr/lib
  mkdir saved
  mv libc.so libdl.so libm.so libpthread.so saved
  mv libc.a libdl.a libm.a libpthread.a saved
  
  (注:没有安装过java的话就没有这个目录,需要先mkdir /usr/java)
  cd /usr/java
  tar jxvf /tmp/jdk118_v3-glibc-2.1.3.tar.bz2
  ln -s /usr/java/jdk118_v3 /usr/local/java
  (注:原来是ln -s jdk118_v3 /usr/local/java,后来发现链接不正确)
  
  (注:安装前先转到软件放置目录cd /tmp)
  rpm -Uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm
  (注:执行这一命令后/usr/bin/ld变为非链接,需要重新设置,否则会出现连接出错!)
  
  创建用户和组
  groupadd oinstall
  groupadd dba
  groupadd oper(注:此组还象没有用到,可以去掉,下面的useradd也要相应的去掉)
  useradd -d /oracle -g oinstall -G dba,oper oracle(注:此处为给oracle用户设定/oracle目录,默认是/home/oracle)
  passwd oracle
  chown -R oracle.dba /oracle
  chmod 750 /oracle
  
  准备安装
  vi /oracle/.bash_profile(注:由于前面给oracle设置/oracle目录,默认是/home/oracle/.bash_profile)
  
  修改为如下内容:
  (注:内容开始,可以在非Linux环境修改这个文件,不过该文件中换行只能是0A,要去掉所有的0D)
  # .bash_profile
  
  # Get the aliases and functions
  if [ -f ~/.bashrc ]; then
  . ~/.bashrc
  fi
  
  # User specific environment and startup programs
  unset USERNAME
  umask 022
  export EDITOR=vi
  export TERM=xterm
  export TMPDIR=/tmp
  
  # Setup installation environment
  export ORACLE_SID=orcl
  export ORACLE_BASE=/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
  export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/i386-glibc-2.1-linux/i386-glibc-linux/lib:/lib:/usr/lib:/lib:/usr/local/lib(注:恢复时这一行要删i
  
  386-glibc-2.1的路径)
  export SHLIB_PATH=$ORACLE_HOME/lib:/usr/lib:/lib:/usr/local/lib
  export LIBPATH=$ORACLE_HOME/lib:/usr/lib:/lib:/usr/local/lib
  export TNS_ADMIN=$ORACLE_HOME/network/admin
  export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
  export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
  export ORACLE_OWNER=oracle
  export ORACLE_TERM=xterm
  export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/
  export LD_ASSUME_KERNEL=2.4
  export JAVA_HOME=/usr/local/java
  export CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:.
  (注:内容结束,注意export的内容在同一行上,CLASSPATH后面的classesxxx.zip建议自己去查一下,我这里xxx是111,路径用冒号分隔而不是分号)
  
  su oracle
  . .bash_profile
  export LANG=en
  cd /tmp
  tar xvf linux81701.tar
  
  其中 export LANG=en 是为了防止界面黑做一团。
  
  (注:此时最好去检查一下/usr/bin/ld的链接是否正确:ls -l /usr/bin/ld,应该链接到/usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld才对,否则重
  
  复前面的做法,先rm /usr/bin/ld,再ln。另外建议对前面设定的各个链接都检查一下:/usr/bin/gcc,/usr/bin/cc,/usr/local/java,深红色的表示链接不正确)
  
  开始安装
  ./Disk1/runInstaller
  
  点击 Next;在 UNIX Group Name 里输入 oinstall;出现一个提示框要求执行 orainstRoot.sh,这时另外打开一个终端:
  
  su
  cd $ORACLE_HOME
  ./orainstRoot.sh
  
  回到 GUI,按 Retry;选择安装 Enterprise Edition;选择典型安装;选择使用一个已经存在的 repository;选择 JDK 的位置(注:应是/usr/local/java);问
  
  是否要新建一个数据库,不用;继续,等待一段时间;出现一个提示框要求执行 root.sh;回到终端:
  (注:建议选择自定义安装,这样可以添加支持的语言,比如简体中文等,连接过程如果出错的话请按后面的“处理错误”执行,我没有碰到错误)
  
  vi root.sh
  
  按下列要求修改:第98行,把 SED=/usr/local/bin/sed 改为 SED=/bin/sed;第102行,把 RMF=/bin/rm –f 改为 RMF="/bin/rm -f";第156行,把 RUID=`/usr
  
  /bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}` 改为 RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}'`。
  
  ./root.sh
  
  回一次车;回到 GUI,按 OK。
  
  处理错误
  (注:出错的可能性是/usr/bin/ld的链接被更改,记住在安装binutils-2.10.91.0.2-3.i386.rpm之后要去更改)
  出现一个提示框,说 Error in invoking target relink of makefile /oracle/product/8.1.7/precomp/lib/ins_precomp.mk 或者 Error in invoking target
  
  relink of makefile /oracle/product/8.1.7/rdbms/lib/ins_rdbms.mk,回到终端:
  
  exit
  cd $ORACLE_HOME
  tar zxvf /tmp/glibc-2.1.3-stubs.tar.gz
  ./setup_stubs.sh
  
  链接工作完成后,回到 GUI,按 Retry;等待,直到安装完成;完成后自动启动的 Net8 配置向导没有反应,kill 之。
  
  恢复其他软件
  su
  rpm -e --nodeps bintutils-2.10.91.0.2-3
  rpm -ivh /mnt/cdrom/Redhat/RPMS/binutils-2.13.90.0.18-9.i386.rpm(注:如果是下载的,位置可能不一样)
  cd /usr/local
  rm java
  
  (注:补充开始)
  安装JAVA
  1、#cp j2sdk-1_4_2_05-linux-i586-rpm.bin 到/usr/local
  2、#chmod 755 j2sdk-1_4_2_05-linux-i586-rpm.bin
  3、#./j2sdk-1_4_2_05-linux-i586-rpm.bin (解出j2sdk-1_4_2_05-linux-i586.rpm)
  4、#rpm -ivh j2sdk-1_4_2_05-linux-i586.rpm
  rpm安装很方便,不用保佑了。
  (注:补充结束)
  
  ln -s /usr/java/j2sdk1.4.2_05 java
  (注:原来是j2sdk1.4.2_01,我现在从网下载到的是j2sdk1.4.2_05,建议安装完后自己去检查一下。我用的是“ln -s /usr/java/j2sdk1.4.2_05 /usr/local/
  
  java”,担心又出来链接不对的情况)
  cd /usr/bin
  rm gcc cc ld
  mv ./saved/* .
  rmdir saved
  cd /usr/lib
  mv ./saved/* .
  rmdir saved
  
  然后把 oracle 用户环境变量 LD_LIBRARY_PATH 中的 glibc 的部分删去。
  
  创建数据库
  exit
  cd $ORACLE_HOME/bin
  unset LANG
  unset NLS_LANG
  ./dbassist
  
  选择创建数据库;定制;多用途;下一步;共享服务器模式;去掉所有选项(创建 JServer 的时间巨长);设置全局数据库名和 SID,假设全局数据库名为 testdb
  
  ,SID 为 orcl;更改字符集:字符集为 UTF8、国家字符集为 ZHS16GBK;六次下一步;完成。
  
  配置 Net8
  ./netca
  
  使用 netca 是因为 netasst 总是没有反应,让我们鄙视它吧。选择监听程序配置;添加;监听程序名使用默认的 LISTENER;三次下一步。
  
  上面步骤即是对 $ORACLE_HOME/network/admin/listener.ora 的编辑:
  
  # copyright (c) 1997 by the Oracle Corporation
  #
  LISTENER =
  (ADDRESS_LIST=
  (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
  (ADDRESS=(PROTOCOL=ipc)(KEY=EXTPRO
相关内容
赞助商链接