数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Install Oracle 9i/10g On RHEL AS 3

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Install Oracle 9i/10g On RHEL AS 3 

作者:ern (
[email protected])


本文描述了在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.1
gcc-3.2.3-34
glibc-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.128
openmotif21-2.1.30-8
setarch-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 sem
shmall,shmmax & shmmni /sbin/sysctl -a | grep shm
file-max /sbin/sysctl -a | grep file-max
ip_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   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               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"
    "popl %%ebx"
    : "=a" (res)
    : "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S"
    (0));
  return res;
  }
  使用gcc -02 -shared -o $HOME/libcwait.so -fpic $HOME/libwait.c编译。设置相关环境变量:
  export LD_ASSUME_KERNEL=2.4.19
  export LD_PRELOAD=$HOME/libcwait.so
  另一个解决方案是到metalink.oracle.com下载p3006854_9204_LINUX.zip。
2. 安装时链接错误
  第一个与$ORACLE_HOME/network/lib/ins_oemagent.mk有关,只需将该文件如下行注释即可:
  # LDFLAGS = $(STDMODE) -L$(LIBHOME) -L$(ORACLE_HOME)/rdbms/lib -L $(ORACLE_HOME)/network/lib
  随后即可点击“重试”继续安装。
  第二个错误为$ORACLE_HOME/ctx/lib/ins_ctx.mk because / usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS),可以直接忽略。
  以上链接错误也可通过在Oracle Metalink网站下载binutils-2.11.90.8.8-13.i386.rpm解决,但建议在用该包替换并完成数据库安装后替换回原RHEL的版本。

附录:

A. FAQ

1. 不能启动安装界面

运行runInstaller提示信息类似如下:

xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server

Exception in thread "main" java.lang.InternalError:can't connect to x11 window server using "localhost:0.0"
at .......

解决办法:设定你的DISPLAY环境参数。

  export DISPLAY= your_IPaddress :0.0

或者用root简单的执行一下# xhost + (要注意这样会有安全上的隐患) 。


2.
安装界面显示很多"口口"样子的乱码

解决办法:
查看locale输出

#
locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

执行#export LC_CTYPE=en_US.UTF-8 然后重新调用安装程序.


3. 用IE登录Linux服务器上的em出现乱码

 
在Linux(Unix) 环境下成功安装了Oracle 10g,从windows下用IE浏览器登录 10g 的em, 按钮是"口口"这样的方框.


解决办法:
参考 http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm 或者是参考这个 http://www.linuxsir.org/bbs/showthread.php?s=&threadid=98591 后者比较彻底,前者比较"Quick & Dirty ".


4.创建数据库的时候出现ORA-03113的错误

解决办法:
查看核心参数是否调整正确.参考
http://www.dbanotes.net/Oracle/ORA-03113.htm


5. RedHat 9 / FC1等系统10g不支持如何安装?

解决办法:
在10g不支持的Linux发行版上安装10g的解决方法

1) 运行runInstaller -ignoreSysPrereqs,这样会跳过检查

2)
摘自 www.puschitz.com 修改/etc/redhat-release文件:

#su - root
#
cp /etc/redhat-release /etc/redhat-release.backup
#
cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF


安装完毕,执行如下操作:
#
su - root
#
cp /etc/redhat-release.backup /etc/redhat-release

3).
http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm

同样的思路,我们可以修改Oracle 的install/oraparam.ini文件达到目的


6 如何关掉那些 ocssd.bin 进程?

解决办法:编辑/etc/inittab文件(做好备份)

注释掉这一行:

h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null

B. 大内存的配置

首先说明,以下材料来自Install Oracle on RHEL AS 2.1的白皮书,可能AS 3对大内存的支持已经很好了,但是笔者此文主要来自查阅和编辑多篇文档,具体的安装限于硬件也没能测试。所以,如果在AS 3上出现了错误,不妨参考下文。

shmmax最大值为4GB-1。为了创建大于1.7GB的SGA,必须使用共享内存文件系统(shmfs)。指令如下,并可添加到/etc/rc.local中,也可以使用/etc/fstab来创建shmfs,在增加/dev/shm前先注释掉已有的/dev/shm条目。

  mount -t shm shmfs -o size=32g /dev/shm

  mount -t shm shmfs -o nr_blocks=8388608 /dev/shm

在8GB系统上使用shmfs,SGA可以最大调整到7GB。需要调整init.ora,增加:

  use_indirect_data_buffers=true

另一种使用大SGA的方法是使用Lower Mapped Base,可以从1.7GB增长到2.7GB。具体方法可参考Oracle白皮书。

C.大页面的配置

AS支持4MB的大页面(而不是一般的4KB),这样可以减少页表中的条目,将SGA锁定在内存中,多用于大SGA或多用户时。这一特性存在于Enterprise Kernel中。

大页面的数量可用cat /proc/meminfo查看。

配置步骤如下:

1. 在/etc/rc.local中

  echo 2 > /proc/sys/kernel/shm-use-bigpages (shmfs中使用大页面)

  echo 1 > /proc/sys/kernel/shm-use-bigpages (SYSV中使用大页面)

  echo 0 > /proc/sys/kernel/shm-use-bigpages (不使用大页面)

2. 在/etc/lilo.conf的boot段中增加如下参数,重新配置LILO并重启系统

  append="bigpages=xxxxMB"

  对4GB的SGA,可以设为4100MB;对2GB的,可以设为2100MB。

在8GB的机器上SGA最大为5.4GB。


参考信息


Installing Oracle 10g on RHEL AS 3 Step-by-Step by Fenng
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm

Tips & Techniques - Install & Configure Oracle9i & RHEL AS

Deploying Oracle9i Database on Red Hat Enterprise Linux v.3

以上两篇可在http://www.redhat.com/solutions/info/whitepapers/#rhel找到

Oracle Database Quick Installation Guide 10 g Release 1 (10.1) for Linux x86
http://download-west.oracle.com/docs/html/B10813_01/toc.htm

Oracle Database Installation Guide 10 g Release 1 (10.1) for UNIX Systems
http://download-west.oracle.com/docs/html/B10811_02/toc.htm





相关文章

相关软件