RedHat AS4.0(X86) 上安装 Oracle9iR2 数据库

一,准备工作
  1,先安装好RedHat AS4.0,保持系统的干净。
  在oracle官方网站上下载Oracle 9i的安装文件:
  ship_9204_linux_disk1.cpio.gz 
  ship_9204_linux_disk2.cpio.gz 
  ship_9204_linux_disk3.cpio.gz 打3238244补丁
  同时要下载三个补丁:  p4198954_21_linux.zip      在运行 runInstaller 之前打
  p2617419_220_GENERIC.zip  修复agent错误的补丁
  p3238244_9204_LINUX.zip   打3238244补丁
  由于安装oracle需要很多系统软件包,少一样都不行,真是一个都不能少。开一个终端,以root用户运行:
  # rpm -qa | grep compat
  检查当前系统所安装的compat软件包是否已有:
  compat-db-4.1.25-9 
  compat-gcc-32-3.2.3-47.3
  compat-gcc-32-c++-3.2.3-47.3 
  compat-oracle-rhel4-1.0-3 
  compat-libcwait-2.0-1 
  compat-libgcc-296-2.96-132.7.2
  compat-libstdc++-296-2.96-132.7.2 
  compat-libstdc++-33-3.2.3-47.3 
  gcc-3.4.3-9.EL4 
  gcc-c++-3.4.3-9.EL4
  gnome-libs-1.4.1.2.90-44 
  gnome-libs-devel-1.4.1.2.90-44
  libaio-devel-0.3.102-1 
  libaio-0.3.102-1 
  make-3.80-5 
  openmotif21-2.1.30-11
  xorg-x11-deprecated-libs-devel-6.8.1-23.EL
  xorg-x11-deprecated-libs-6.8.1-23.EL 
 发如果少了上数包,可按下面的命令和所属AS4光盘安装RPM包(最后两个由Oralce补丁p4198954_21_linux.zip解压产生) 
  rpm -ivh sysstat-5.0.5-1.i386.rpm disk4
  rpm -ivh openmotif21-2.1.30-11.RHEL4.2.i386.rpm disk3
  rpm -ivh libaio-0.3.102-1.i386.rpm disk3
  rpm -ivh libaio-devel-0.3.102-1.i386.rpm disk3
  rpm -ivh freetype-devel-2.1.9-1.i386.rpm disk3
  rpm -ivh fontconfig-devel-2.2.3-7.i386.rpm disk3
  rpm -ivh xorg-x11-devel-6.8.1-23.EL.i386.rpm disk3
  rpm -ivh xorg-x11-deprecated-libs-devel-6.8.1-23.EL.i386.rpm disk3
  rpm -ivh glib-devel-1.2.10-15.i386.rpm disk4
  rpm -ivh ORBit-devel-0.5.17-14.i386.rpm disk4
  rpm -ivh gtk+-devel-1.2.10-33.i386.rpm disk4
  rpm -ivh alsa-lib-devel-1.0.6-4.i386.rpm disk3
  rpm -ivh audiofile-devel-0.2.6-1.i386.rpm disk3
  rpm -ivh esound-devel-0.2.35-2.i386.rpm disk3
  rpm -ivh libjpeg-devel-6b-33.i386.rpm disk3
  rpm -ivh libtiff-devel-3.6.1-7.i386.rpm disk3
  rpm -ivh libungif-devel-4.1.3-1.i386.rpm disk3
  rpm -ivh imlib-devel-1.9.13-23.i386.rpm disk3
  rpm -ivh gnome-libs-devel-1.4.1.2.90-44.1.i386.rpm disk4
  rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm (p4198954_21_linux.zip)
  rpm -ivh compat-libcwait-2.0-2.i386.rpm (p4198954_21_linux.zip)
 
  二,创建相关安装目录和环境变量
  1,创建user/group; 
  #groupadd dba  
  #groupadd oinstall  
  #useradd oracle -g oinstall -G dba  
  #passwd oracle  
  2,建立oracle安装文件夹; 
  # mkdir -p /opt/ora9/product/9.2.0.4 
  # mkdir /var/opt/oracle
  # chmod oracle.dba /var/opt/oracle 
  # chown -R oracle.dba  /opt/ora9
  
3,配置环境变量; 
    以root用户登录,设置root用户的环境打开.bash_profile文件,将如下内容加入: 
export ORACLE_BASE=/opt/ora9 
export ORACLE_HOME=/opt/ora9/product/9.2.0.4 
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin 
export ORACLE_OWNER=oracle 
export ORACLE_SID=oradb //此处为你的sid
 使用Oracle用户登陆: 
 #su – oracle 
 $vi .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 
 export ORACLE_BASE=/opt/ora9  
 export ORACLE_HOME=/opt/ora9/product/9.2.0.4 
 export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin 
 export ORACLE_OWNER=oracle 
 export ORACLE_SID=oradb 
 export ORACLE_TERM=xterm 
 export LD_ASSUME_KERNEL=2.4.19 
 export THREADS_FLAG=native 
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib 
 export NLS_LANG=”American_america.zhs16gbk”
   # export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data  
 export PATH 
 unset USERNAME 
 4,设置系统参数; 
#su – root切换到root用户 
a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容(其中红色字体为添加的内容): 
# Kernel sysctl configuration file for Red Hat Linux 

# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and 
# sysctl.conf(5) for more details. 
 
# Controls IP packet forwarding 
net.ipv4.ip_forward = 0 
 
# Controls source route verification 
net.ipv4.conf.default.rp_filter = 1 
 
# Controls the System Request debugging functionality of the kernel 
kernel.sysrq = 0 
 
# Controls whether core dumps will append the PID to the core filename. 
# Useful for debugging multi-threaded applications. 
kernel.core_uses_pid = 1 
kernel.shmmax = 536870912 
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命令使得内核改变立即生效; 
  (译者注:一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。)  
建议永久地增加 shmmax 设置。 
  sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).Shmmax 最大共享内存,官方文档建议是内存的1/2,Shmmni 最小共享内存 4096KB.Shmall 所有内存大小 。

b) 设置oracle对文件的要求:  
编辑文件:#vi /etc/security/limits.conf 加入以下语句:  
oracle    soft    nofile    65536  
oracle    hard    nofile   65536  
oracle    soft    nproc    16384  
oracle    hard    nproc    16384  
 
c) gcc降级  
#su – root  
#mv /usr/bin/gcc /usr/bin/gcc34  
#ln –s /usr/bin/gcc32 /usr/bin/gcc  
#mv /usr/bin/g++ /usr/bin/g++34  
#ln –s /usr/bin/g++32 /usr/bin/g++  

(网上说有的安装过程中GCC不降级的话不会出错  但是偶安装的时候出了问题所以建议还是进行gcc降级)


5,安装oracle补丁  
当你从 Oracle 9iR2 光盘执行 runInstaller 时,会出现错误信息:   
Error occurred during initialization of VM   
Unable to load native library:   
/tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386   
/libjava.so symbol _libc_wait, version GLIBC_2.0 not   
defined in file libc.so.6 with link time reference  
为了解决 _libc_wait 符号问题,  
http://oss.oracle.com/projects/compat-oracle/files/RedHat/ 下载补丁   
compat-libcwait-2.0-2.i386.rpm  compat-oracle-rhel4-1.0-5.i386.rpm.为了应用这个补丁,可以运行:  
$su – root   
# cd /orasetup  
#ls compat*.rpm  
compat-libcwait-2.0-2.i386.rpm  compat-oracle-rhel4-1.0-5.i386.rpm  
# rpm -Uvh compat*.rpm  
Preparing...            ########################################### [100%]  
  1:compat-libcwait-2.0-2.i386.rpm ##################################### [ 50%]  
  2:compat-oracle-rhel4-1.0-5.i386.rpm#################################### [100%]  


三,开始安装Oracle9i

1,解压下载的安装文件: 
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  
解包和解压过程中,自动创建了3个包含安装文件的目录:  
Disk1  
Disk2  
Disk3  
.以oracle用户登录系统,进行Oracle的安装:  

$export LANG=en_CN(否则安装界面出来就会出现“□”,因为Oracle9i不支持中文界面。)
$export LN_ALL=en_CN
$ cd Disk1  
1,$ ./runInstaller过一会儿就会出现Oracle的安装界面  
接着出现的下一个界面是Inventory路径,我们点“Next”;
  现在要求用户输入UNIX组名,我们用Oracle用户所在的组“oinstall”,然后点“Next”,如果你是第一次安装Oracle产品,则要你运行一个sh文件。文件是/tmp/orainstRoot.sh,我们打开一个shell窗口,切换到root用户,如下:

引用:
su root
sh /tmp/orainstRoot.sh


2,运行完毕我们返回Oracle安装界面,点“Continue”;
  选择文件存放的目录,我们选择默认值。然后“Next”;
  安装的产品是“Oracle9i Database 9.2.0.4.0”,点“Next”;
  选择安装类型是“通用”,默认选项。点“Next”;
  输入全局数据库名,然后“Next”;
  数据文件的存放位置,我采用的是默认位置,点“Next”;
  出现安装组件的选择结果,这时点“Install”,开始安装,复制文件,进度条在一点一点的增加,当安装并link完后,出现配置工具界面,agent服务不能配置成功,忽略不用管,在下面修复。DBCA,NETCA,HTTP都正确配置完毕哦。呵呵。下面开始修复错误。

============================
 
4, 最后执行 #dbca  建oracle数据库  
点击OK,然后退出即可,正常登陆并启动数据库的操作。  
[oracle@oracle oracle]$ lsnrctl start  
[oracle@oracle oracle]$ sqlplus /nolog  
SQL*Plus: Release 9.2.0.4.0 - Production on Sat Mar 12 22:58:53 2005  
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.  
SQL>; connect / as sysdba  
Connected.  
SQL>; shutdown immediate  关闭数据库  
Database closed.  
Database dismounted.  
ORACLE instance shut down.  
SQL>; startup;   启动数据库  
ORACLE instance started.  
Total System Global Area  236000356 bytes  
Fixed Size                   451684 bytes  
Variable Size             201326592 bytes  
Database Buffers           33554432 bytes  
Redo Buffers                 667648 bytes  
Database mounted.  
Database opened.  


5, 为了方便管理,可以写一个启动脚本ora9i:  
以root身份进入,编写以下脚本:  
 
#!/bin/bash  
#start and stop the oracle instance  
# chkconfig –level 5 --add ora9i  
#chkconfig: 345 91 19   
# description: starts the oracle listener and instance  
 
export ORACLE_HOME="/opt/ora9/product/9.2.0.4"  
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH  
export ORACLE_OWNER="oracle"  
export ORACLE_SID=oradb  
 
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]  
then   
    echo "oracle startup:cannot start"  
    exit 1  
fi  
 
case "$1" in  
start)  
  #startup the listener and instance  
    echo -n "oracle startup: "  
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"  
    su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart  
    touch /var/lock/subsys/oracle  
    echo "finished"  
   ;;  
stop)  
# stop listener, apache and database  
    echo -n "oracle shutdown:"  
    su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"  
    su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut  
    rm -f /var/lock/subsys/oracle  
    echo "finished"  
;;  
reload|restart)  
    $0 stop  
    $0 start  
;;  
*)  
   echo "Usage: ora9i [start|stop|reload|restart]"  
   exit 1  
 
esac  
exit 0  
 
存为ora9i后,然后用chmod a+x ora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9i start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行(不过官方是不建议开机自动运行的),那么要运行以下命令:chkconfig --level 3(或者是5) --add ora9i  
或者以root用户执行如下命令:  
#cp /orasetup/ora9i /etc/rc.d/init.d/  
#chmod a+x /etc/rc.d/init.d /ora9  
#cd /etc/rc.d/rc5.d  
#ln -s /etc/rc.d/init.d/ora9i S99ora9i  
#cd /etc/rc.d/rc0.d  
#ln -s /etc/rc.d/init.d/ora9i K99ora9i  
也可自启动oracle9i!  
或者可在/etc/rc.d/rc.local中加入如下:  
su - oracle -c "/opt/ora9/oracle/product/9.2.0.4/bin/lsnrctl start"  
su - oracle -c "/opt/ora9/oracle/product/9.2.0.4/bin/dbstart start"  
 
6,  
 关于数据库删除重新安装的问题:  
  把ORACLE安装目录删除及/etc/ora*.*删除就行了  
#rm –f  /etc/ora*.*  


ok了,现在一切也就差不多了,你已经可以建议自己的数据库:) 

重启后  root /etc/rc.d/init.d/ora9i start

su - oracle

[oracle@oracle oracle]$ lsnrctl start  
[oracle@oracle oracle]$ sqlplus /nolog  
SQL*Plus: Release 9.2.0.4.0 - Production on Sat Mar 12 22:58:53 2005  
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.  
SQL>; connect / as sysdba   即可

如果出现

"ora-12705   invalid or unknow NLS parameter value speified"
请将上面红色字体的注释去除  将绿色的字体加上注释.

关于我遇见的错请参见:

http://blog.csdn.net/dualexeric/archive/2008/03/29/2227445.aspx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值