当前位置:数据库 > Oracle >>

Install Oracle 9i/10g On RHEL AS 3

答案:
Install Oracle 9i/10g On RHEL AS 3 

作者:ern (yaoyongping@gmail.com)

本文描述了在Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3)上安装Oracle 9i/10g 必要的步骤和相关知识。相关文章很多,本文主要着重于整理和总结了网友(特别是Fenng)的文档、Red Hat公司的RHEL相关白皮书、Oracle公司的技术文档和白皮书等,比较两个版本在AS 3上的共同点和不同点,尽可能给出完整的安装说明。OS的安装将不再赘述。总体论述以10g的流程为主,但是方框中将插入9i的不同点。

硬件要求:

检查内容最小值检查命令参考物理内存512M# grep MemTotal /proc/meminfo 交换空间1.0 GB或2倍内存# grep SwapTotal /proc/meminfo /tmp 空间400 MB # df -k /tmp 软件所需空间2.5 GB # df -k  数据库文件1.2 GB # df -k 




软件要求与配置


操作系统版本:Red Hat Enterprise Linux AS release 3 (Taroon) Update 3
对于9i,需要内核2.4.21-4EL(一般AS 3均已满足),对于10g需要内核2.4.21-15EL。

确认以下 rpm包都已经安装:

make-3.79.1gcc-3.2.3-34glibc-2.3.2-95.20
compat-db-4.0.14.5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128openmotif21-2.1.30-8setarch-1.3-1
可以通过以下指令察看本机当前的rpm包情况   rpm -qa | grep compat 
  rpm -qa | grep openmotif 
  rpm -qa | grep setarch  gcc -v
  rpm -q glibc
如果个别包没有安装,请在系统安装光盘中找到具体的软件包(大多数在第三张光盘上),然后利用如下的命令来安装相应的包:

  rpm -ivh compat.....rpm

注意:这些软件包之间是有依赖性的,先后的顺序要找好,否则会报告不能安装的错误。

以上对硬件和软件的检查是针对10g,一般AS 3 U3均可达到,9i的要求会更宽松,但在9i中请注意:

gcc应使用2.96版本,因此在安装前执行:

  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/g++296 /usr/bin/g++

安装完成后:

  rm /usr/bin/gcc
  mv /usr/bin/gcc32 /usr/bin/gcc

设定核心参数

  vi /etc/sysctl.conf

在该文件末尾加入如下内容:


#----------------------------------------
# Parameters for Oracle10g
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
#----------------------------------------


编辑完之后,保存,执行 /sbin/sysctl -p 命令使变更生效。

注意:上面kernel.shmmax/kernel.sem等是典型的核心参数配置,可能需要根据实际环境进行适当的变动。可参考以下表格获取当前设定值,若设定值较上例大,则保留设定值,而kernel.shmmax应设为系统内存的一半,该值即指定了内核允许的最大共享内存段(Segment)的大小,一般安装Oracle后,Oracle将为SGA申请一个段。若系统内存超过8G时安装出错,请参考附录大内存的处理。
参数命令semmsl,semmns,semom & semmni/sbin/sysctl -a | grep semshmall,shmmax & shmmni/sbin/sysctl -a | grep shmfile-max/sbin/sysctl -a | grep file-maxip_local_port_range/sbin/sysctl -a | grep ip_local_port_range 
9i中,还应当在文件末尾增加:# Disables packet forwarding
net.ipv4.ip_forward = 0
# Enables source route verification
net.ipv4.conf.default.rp_filter = 1
# Disables the magic-sysrq key
kernel.sysrq = 0

创建用户和相关的组

  /usr/sbin/groupadd dba
  /usr/sbin/groupadd oper
  /usr/sbin/groupadd oinstall
  /usr/sbin/useradd -g oinstall -G dba,oper oracle
  /usr/sbin/passwd oracle

设定Shell限制

出于性能上的考虑,还需要增大oracle用户的限制,即增加nofile(可打开的文件描述符的最大数)和nproc(单个用户可用的最大进程数量)。

  vi /etc/security/limits.conf 
添加如下的行:

oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536
添加如下的行到/etc/pam.d/login 文件:
session required /lib/security/pam_limits.so



编辑 /etc/profile 文件,添加如下部分:
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
之后,执行$ unlimit 验证一下.

检查并调整环境变量

登录为oracle用户 
  su – oracle 
  cd 
  vi .bash_profile

添加如下参数,具体值和现实环境有关。

export ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8

然后执行 
  source .bash_profile
使环境变量生效。/u/app/oracle等相关目录应该建立好并做合适的授权。


开始安装

mount安装盘,一般网上下载是压缩文件,执行

cp /mnt/cdrom/ship.db.cpio.gz /u/install

gunzip ship.db.cpio.gz
cpio -idmv < ship.db.cpio
sh /u/install/Disk1/unInstaller

如果不能出现安装画面,查看本文后面的FAQ。

10g的安装相比以前的多了一个 Checking operating system certification 的步骤。安装文件会自动检测所需的条件。如果有不符合的地方,安装程序会报告给你,并会给出具体原因,大大减少了出错的可能。
下面是检查成功输出的内容:

Checking operating system certification
Expected result: One of redhat-2.1,redhat-3,UnitedLinux-1.0
Actual Result: redhat-3
Check complete. The overall result of this check is: Passed
=======================================================================

Checking kernel parameters
Checking for VERSION=2.4.9.25; found VERSION=2.4.21. Passed
Checking for shmall=2097152; found shmall=2097152. Passed
Checking for shmseg=10; found shmseg=4096. Passed
Checking for semmsl=250; found semmsl=250. Passed
Checking for semmni=128; found semmni=128. Passed
Checking for filemax=65536; found filemax=65536. Passed
Checking for shmmni=4096; found shmmni=4096. Passed
Checking for semmns=32000; found semmns=32000. Passed
Checking for semopm=100; found semopm=100.Passed
Checking for shmmin=1; found shmmin=1. Passed
Checking for shmmax=2147483648; found shmmax=2147483648. Passed
Check complete. The overall result of this check is: Passed
=======================================================================

Checking recommended operating system packages
Checking for make-3.79; found make-3.79.1-17. Passed
Checking for binutils-2.11.90.0.8-12; found binutils-2.14.90.0.4-26. Passed
Checking for gcc-2.96; found gcc-3.2.3-20. Passed
Checking for openmotif-2.1.30-11; found openmotif-2.2.2-16. Passed
Check complete. The overall result of this check is: Passed
=======================================================================

Checking recommended glibc version
Expected result: 2.2.4.31.7
Actual Result: 2.3.2.95.3
Check complete. The overall result of this check is: Passed
=======================================================================

Validating ORACLE_BASE location (if set)
Check complete. The overall result of this check is: Passed
=======================================================================

其他的步骤比较清晰,不再赘述。

最后系统会提示你运行root.sh文件,按照提示做即可。
9i的安装过程与10g基本一致,除缺少检查OS要求的步骤外,还要注意处理以下错误。1. 启动OUI时libcwait.so错误  用oracle用户登录,并在其家目录下建立文件libcwait.c如下  /*
  gcc -O2 -shared -o $HOME/libcwait.so -fpic
  $HOME/libcwait.c
  */
  #include
  #include
  #include
  #include
  pid_t
  __libc_wait (int *status)
  {
  int res;  asm volatile ("pushl %%ebx\n\t"
    "movl %2, %%ebx\n\t"
    "movl %1, %%eax\n\t"
    "int $0x80\n\t"
&n

上一个:ORACLE锁的管理
下一个:Oracle_Chapter 1

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,