当前位置:Linux教程 - Mysql - 为Linux配备Oracle 8

为Linux配备Oracle 8

在Linux下使用Oracle 8以前,应当安装Oracle 8,但Oracle公司提供的安装文档较为简单。笔者借鉴其在Unix操作系统下的安装方法,得出了在Linux上安装Oracle 8的方法,此方法并不一定是最好的,使各位读者用上Oracle 8才是本文的目的。

  前期准备

  假定安装环境是Red Hat Linux,请在安装前确认Linux的核心版本为2.0.36及以上。

  1.以Root用户登录进入系统,创建用户oracle和组dba,这是Oracle默认的安装用户。创建安装用户后,用tar -xvzf 将压缩文件解压到一个指定的目录,本文假定为/oracle,因为tar进行数据归档与用户本机的用户ID、组ID不同,所以要运行chown -R oracle:dba 以更改文件属性。

  2.由于Oracle本身对共享段的要求,用户必须重新手工生成核心,以便共享段的设定满足安装要求。为生成核心,用户应当安装Linux操作系统的源代码,编辑/usr/src/linux/include/shmparam.h,将#define SHMMAX 0x002000000一行的0x002000000(32MB)改为256MB以上,然后在/usr/src/linux下运行make dep、make clean、make bzImage生成核心,使用linuxconf命令将新核心设为启动核心。这一步一定要做,如果生成的新核心有错,可以用原来的核心启动计算机。可用ipc -ml查看共享段的设置是否满足要求。当共享段大于2GB时,查看到的值是负数。

  3.安装相应的egc包。假定安装光盘mount在/mnt/cdrom上,用命令modprobe isofs使操作系统能处理光盘的文件系统,然后运行mount -t iso9660 /dev/cdrom /mnt/cdrom,如在安装后修改了/etc/fstab,可不进行这一步操作。进入相应的RPMS目录,安装以egc开始的包,采用的安装命令为rpm -ivh 。

  设定安装的环境变量

  安装前,应该设定相应的环境变量。修改用户Oracle的.bash—profile文件,设定相应的环境变量。由于安装系统时需要Root用户,也要有这些环境变量,故将其放在/etc/profile内,加*号为Oracle专有的环境变量,示例如下:

  # /etc/profile

  # System wide environment and startup programs

  # Functions and aliases go in /etc/bashrc

  JAVA—HOME=/usr/local/jdk1.1.3

  SYBASE=/opt/sybase-11.9.2

  DSQUERY=SYBASERDBMS

  *PATH=$PATH:$JAVA—HOME/bin:/usr/X11R6/bin:/home/oracle/product/8.0.5/bin

  PS1=″[email protected]:w\$″

  ulimit -c 1000000

  if [ ′id -gn′ = ′id -un′ -a ′id -u′ -gt 14 ]; then umask 002

  else umask 022

  fi

  USER=′id -un′

  LOGNAME=$USER

  MAIL=″/var/spool/mail/$USER″

  CLASSPATH=/usr/local/jdk1.1.3/lib:$HOME/bin

  HOSTNAME=′/bin/hostname′

  HISTSIZE=1000

  HISTFILESIZE=1000

  export JAVA—HOME CLASSPATH SYBASE DSQUERY

  export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL

  *ORACLE—HOME=/home/oracle/product/8.0.5

  *ORACLE—BASE=/home/oracle

  *ORACLE—OWNER=oracle

  *ORACLE—SID=oracle8

  *ORACLE—TERM=386

  *LD—LIBRARY—PATH=/home/oracle/product/8.0.5/lib

  *TMPDIR=/var/tmp

  *export ORACLE—HOME ORACLE—BASE ORACLE—OWNER ORACLE—SID ORACLE—TERM

  export LD—LIBRARY—PATH TMPDIR

  for i in /etc/profile.d/.sh ; do

   if [ -x $i ]; then . $i

   fi

  done

  unset i

  安装并启动数据库

  1.以用户Root登录系统,然后到相应目录运行/oracle/orainst/oratab.sh可生成/etc/oratab文件。用su - oracle切换到用户Oracle,运行/oracle/orainst/orainst就可启动安装命令,安装时注意在这一步不要安装Oracle文档、JDK和智能代理,并且不要创建数据库对象。重新启动/oracle/orainst/orainst安装的RDBMS部份,一般情况下除了输入几个用户定制的口令其余按默认值就可以了。Oracle安装程序开始拷贝文件,拷贝文件过程中,当安装到数据库管理系统(RDBMS)时,用户可从另一终端登录,用ps -ef | grep oracle见到一些Oracle进程已启动。

  2.数据库服务器安装完成后,就可以手工启动了。以用户Oracle登录,进入$ORACLE—HOME/bin,运行DBStart就可以启动数据库服务器。运行DBShut就可停止数据库服务器。

  如果用户不太熟悉Oracle的网络部份,可将$ORACLE—HOME/network/admin/ora拷贝到/etc目录,在$ORACLE—HOME/bin下运行lsnrctl start就可以启动网络监视进程。

  3.为了每一次启动系统时自动启动Oracle或管理员手工指定是否每一次启动时自动启动Oracle,可采用如下方法。以Root登录,进入/etc/rc.d/init.d,手工生成文件Oracle,至于文件的书写格式可参见其余相应文件,示例如下:

  #!/bin/sh

  # oracle   This shell script takes care of starting and stopping

  #       oracle.

  # chkconfig: 2345 80 30

  # description: oracle is a RDBMS Server.

  # processname: oracle

  # Source function library.

  . /etc/rc.d/init.d/functions

  # Source networking configuration.

  . /etc/sysconfig/network

  # Check that networking is up.

  [${NETWORKING}= ″no″ ] && exit 0

  # See how we were called.

  case ″$1″ in

   start)

   # Start daemons.

   echo -n ″Starting oracle: ″

   su - oracle /home/oracle/product/8.0.5/bin/dbstart > /dev/null 2>&1

    sleep 60

   su - oracle/home/oracle/product/8.0.5/bin/lsnrctl start > /dev/null 2>&1

   echo

   touch /var/lock/subsys/oracle

   ;;

   stop)

   # Stop daemons.

   echo -n ″Shutting down oracle: ″

   su - oracle/home/oracle/product/8.0.5/bin/lsnrctl stop > /dev/null 2>&1

   su - oracle /home/oracle/product/8.0.5/bin/dbshut > /dev/null 2>&1

   echo

   rm -f /var/lock/subsys/oracle

   ;;

   restart)

   $0 stop

   $0 start

   ;;

   status)

   status oracle

   ;;

   )

   echo ″Usage: oracle {start|stop|restart|status}″

   exit 1

  esac

  exit 0

  客户端配置

  为了能使用Windows下的一些开发工具,可以按如下方法进行:

  1.在Windows下安装Oracle客户端软件(可以采用Oracle 7.xx的Windows客户端软件),安装完成后,将Linux下的/etc/tnsnames.ora拷到Windows下的$ORACLE etworkadmin目录下,在开始选单中运行net easy configure并指明ODBC连接的字串名和运行SQLPLUS需要的主机字串(Host String),就可以从客户端连上服务器,通过ODBC进行数据库的开发。

  2.如果用户使用Delphi为开发工具,可在BDE设定中指明有远端Oracle服务器,设定时仅指明数据库系统的网络协议为TNS(Transparent Network Substrate,请不要使用TCP),然后进入数据库桌面,就可以访问远端Oracle数据库上的数据了。