Linux 下Oracle9i安装

来源:互联网 发布:小米电视盒子有线网络 编辑:程序博客网 时间:2024/04/29 22:35

oracle9i for linux安装

1Oracle9i安装

安装在redhat advanced server 3.0

1、安装完成RAS3.0之后,检查下列软件包是否有安装:

    compat-gcc-7.3-2.96.122

    compat-libstdc++-devel-7.3-2.96.122

    compat-gcc-c++-7.3-2.96.122

    compat-libstdc++-7.3-2.96.122

    compat-glibc-7.x-2.2.4.32.5

    compat-db-4.0.14-5

    openmotif-2.2.2-16

    setarch-1.3-1 

可用命令:

    rpm -qa | grep xxx

  进行查询   

  如果上述软件包不存在则通过下列命令安装:

  命令:

    rpm -ivh xxx.rpm

  对于compat系列包,都在CD3上,对于openmotif包,则在CD2上。

 

2、添加oracle安装用户组及用户帐号

    groupadd dba

    groupadd oinstall

    useradd -g oinstall -G dba oracle

    passwd oracle

 

3、创建oracle9iR2安装目录

    mkdir /oracle

    mkdir /oracle/product

mkdir /oracle/product/9.2.0

 

4、将安装目录授权给oracle用户及组

    chown -R oracle.oinstall /oracle

chown -R oracle.oinstall /oracle/*

 

5、应该修改操作系统核心参数.

   执行如下命令:

    echo "kernel.sem=/"250 32000 100 128/"" >> /etc/sysctl.conf

    echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf

   上述命令设定操作系统的共享内存最大数量,以512M物理内存为准,请根据相应物理内存做设定。

 

6、设定oracle安装用户环境参数,以oracle用户登录,修改环境配置文件:

    vi $HOME/.bash_profile

  

   添加下面内容:

    #setting oracle environment

    export LD_ASSUME_KERNEL=2.4.1

    export ORACLE_BASE=/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/9.2.0

    export ORACLE_SID=digitell

    export ORACLE_TERM=xterm

    export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

    export LD_LIBRARY_PATH

   

    # Set shell search paths

    export PATH=$PATH:$ORACLE_HOME/bin

    注意上述的“digitell”单词,它指的是我们默认创建的数据库实例名称是“digitell”,你可根据自己的要求进行改变。

 

7、更换默认gcc编译器版本:

   因为默认的gcc编译器版本都是3.2的,而oracle安装使用的是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++

 

8、安装补丁丁3006854

    unzip p3006854_9204_LINUX.zip

    进入解压出来的目录

    cd 3006854

    sh rhel3_pre_install.sh

    等待出来“Patch successfully applied”则表示成功;最后重新启动系统。

 

9、设定允许RAS3服务器连接到X-win32上,切换到root用户,执行:

#export DISPLAY=IP:0.0

#xhost IP

切换到oracle用户,使用xclock程序,看是否在pc上显示RAS3上的xwindow程序窗口。

 

提示:从下面开始,所有工作默认都是以当前登录的oracle用户为准,除非特别说明之外。

 

10、设定操作系统默认语言是英语:

unset LANG

11、将oracle安装文件解压出来:

    gunzip ship_9204_linux_disk1.cpio.gz

    cpio -idmv < ship_9204_linux_disk1.cpio

   

    gunzip ship_9204_linux_disk2.cpio.gz

    cpio -idmv < ship_9204_linux_disk2.cpio

   

    gunzip ship_9204_linux_disk3.cpio.gz

    cpio -idmv < ship_9204_linux_disk3.cpio

 

12、运行oracle安装程序:

    cd Disk1

    ./runInstaller

 

13、跟着安装向导走就可以了

 

14、在安装过程中间,出现有关权限组设置时,都填写预先创建好的dba

 

15、在语言选择上“Product Languages”千万要记得添加上“Simplified Chinese(简体中文)

 

16、在安装产品上选择“Oracle 9i Database 9.2.0.1.0”,在安装类型上选择“Custom”,并只选择下列组件:

    Oracle9i 9.2.0.1.0

    Oracle Net Services 9.2.0.1.0

    Oracle9i Development Kit 9.2.0.1.0

   

17、在安装过程中间,出现"Create Database"就选择NO",我们会在最后通过dbca创建数据库的。

 

18、在安装将完成之前,安装程序将会运行配置程序,在运行"Intelligent Agent Configure"的时候,将会出现失败的情况,这时候请继续下一步先。

   

19、安装补丁OPatch.tar得到opatch工具

    tar -xvf OPatch.tar

    export PATH=$PATH:/mnt/temp/OPatch:/sbin

   

20、安装补丁p3238244_9204_LINUX.zip

    unzip p3238244_9204_LINUX.zip

    cd 3238244

    dbshut

    opatch apply

    当出现是否准备好Updating时,选择“Y

 

21、修改dbca脚本:

 

    vi $ORACLE_HOME/bin/dbca

   

    从第118行开始,将第1181191211221231246行都用"#"符号注释掉,结果如下:

    #if [ -f /etc/rac_on ]; then

    #Run DBCA

    $JRE_DIR/bin/jre –native –DORACLE_HOME=$OH……

    #else

    #Run DBCA

    #$JRE_DIR/bin/jre –DORACLE_HOME=$OH……

    #fi

   

   22、 修改完成之后再运行dbca重建数据库。

运行下面命令创建一个数据库实例

    dbca

 

23、创建完成后,配置数据库的配置init文件

cp $ORACLE_HOME/admin/digitell/pfile/initdigitell.ora.* $ORACLE_HOME/dbs/initdigitell.ora

2.设置自动启动

1、 修改Oracle系统配置文件/etc/oratab/etc/oratab 格式为: SID:ORACLE_HOME:AUTO

AUTO域设置为Y(大写),只有这样,oracle自带的dbstartdbshut才能够发挥作用。我的为:ora9i:/home/oracle/ora/products/9.2.0:Y

2、 编写服务脚本:

如下

#!/bin/bash

#

#################FUNCTION#############

#

# AutoStart Oracle and listener

# AutoStop Oracle and listener

#

#####################################

#

# Created by ZhouYS 2003-11-26

#

 

case "$1" in

start)

echo "Starting Oracle Databases ... "

echo

"-------------------------------------------------" >>

/var/log/oracle

date +" %T %a %D : Starting Oracle Databasee as part

of system up." >> /var/log/oracle

echo

"-------------------------------------------------" >>

/var/log/oracle

su - oracle -c "dbstart" >> /var/log/oracle

echo "Done."

echo "Starting Oracle Listeners ... "

echo

"-------------------------------------------------" >>

/var/log/oracle

date +" %T %a %D : Starting Oracle Listeners as part

of system up." >> /var/log/oracle

echo

"-------------------------------------------------" >>

/var/log/oracle

su - oracle -c "lsnrctl start" >> /var/log/oracle

echo "Done."

echo ""

echo

"-------------------------------------------------" >>

/var/log/oracle

date +" %T %a %D : Finished." >> /var/log/oracle

echo

"-------------------------------------------------" >>

/var/log/oracle

touch /var/lock/subsys/oracle

 

;;

stop)

echo "Stoping Oracle Listeners ... "

echo

"-------------------------------------------------" >>

/var/log/oracle

date +" %T %a %D : Stoping Oracle Listener as part of

system down." >> /var/log/oracle

echo

"-------------------------------------------------" >>

/var/log/oracle

su - oracle -c "lsnrctl stop" >> /var/log/oracle

echo "Done."

rm -f /var/lock/subsys/oracle

echo "Stoping Oracle Databases ... "

echo

"-------------------------------------------------" >>

/var/log/oracle

date +" %T %a %D : Stoping Oracle Databases as part of

system down." >> /var/log/oracle

echo

"-------------------------------------------------" >>

/var/log/oracle

su - oracle -c "dbshut" >>/var/log/oracle

echo "Done."

echo ""

echo

"-------------------------------------------------" >>

/var/log/oracle

date +" %T %a %D : Finished." >> /var/log/oracle

echo

"-------------------------------------------------" >>

/var/log/oracle

 

;;

restart)

$0 stop

$0 start

 

;;

*)

echo "Usage: oracle {start|stop|restart}"

exit 1

esac

 

将脚本命名为oracle,保存在/etc/rc.d/init.d

改变文件属性:chmod 755 oracle

 

3、建立服务连接:

系统启动时启动数据库,我们需要以下连结∶

--------------------------------------------------------------------------------

$ ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle

$ ln -s ../init.d/oracle /etc/rc.d/rc3.d/S99oracle

$ ln -s ../init.d/oracle /etc/rc.d/rc5.d/S99oracle

#rc4.d unused

 

4.要在重新启动时停止数据库,我们需要以下连结∶

$ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle #

停止

$ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle #

重新启动