当前位置导航:炫浪网>>网络学院>>操作系统>>Linux教程

红旗高级服务器Linux 4.1安装Oracle9204

    一,解压缩Oracle9204的安装文件

    1.Oracle 9iR2 (9.2.0.4)
    ship_9204_linux_disk1.cpio.gz
    ship_9204_linux_disk2.cpio.gz
    ship_9204_linux_disk3.cpio.gz

    解压方法:

    直接用 gunzip xxx.cpio.gz,解开后就变成了xxx.cpio拉,然后用cpio -idmv<xxx.cpio就好了。

    (2) 解包和解压过程中,自动创建了3个包含安装文件的目录:

    Disk1                Disk2                Disk3

    之后就可以安装Oracle9iR2了。

    二,安装前的检查和准备工作;

    安装需要的软件包和补丁包:

    p4198954_21_linux.zip 在运行 runInstaller 之前打.

    p2617419_10102_GENERIC.zip (这是最新的,这里包括opatch 这个命令)

    p3238244_9204_LINUX.zip 修复agent错误的补丁.

    3个补丁下载地址如下:

    [url]http://blog.chinaunix.net/resserver.php?blogId=1360&resource=poracle.rar[/url]

    三,创建数据库安装的准备工作;

    1,创建user/group;
    #groupadd dba
    #groupadd oinstall
    #useradd oracle -g oinstall -G dba
    #passwd oracle

    2,建立oracle安装文件夹;
    # mkdir -p /app/oracle/product/9.2.0.4
    # mkdir /app/cwdata
    # mkdir /orasetup
    # chmod 777 /app/cwdata
    # chown oracle.dba /app/cwdata
    # chown oracle.dba /orasetup
    # chmod 777 /orasetup
    # chown -R oracle.dba /app/oracle/product/9.2.0.4
    # chmod -R 777 /app/oracle/product/9.2.0.4

    3,配置环境变量;

    以root用户登录,设置root用户的环境打开.bash_profile文件,将如下内容加入:

    我的内容如下:

    export ORACLE_BASE=/app/oracle
    export ORACLE_HOME=/app/oracle/product/9.2.0.4
    export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
    export ORACLE_OWNER=oracle
    export ORACLE_SID=ytiic
    export USERNAME BASH_ENV PATH JAVA_HOME CLASSPATH
    export LD_ASSUME_KERNEL=2.4.1
    export NLS_LANG="American_america.zhs16gbk"
    # export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    export LANG=en_US
    export GDM_LANG= en_US
    export LC= en_US

    使用Oracle用户登陆:
    #su – oracle
    $vi .bash_profile

    以下是配置文件的内容,我的内容如下:

    export ORACLE_BASE=/app/oracle
    export ORACLE_HOME=/app/oracle/product/9.2.0.4
    PATH=/home/oracle/OPatch:/usr/java/j2sdk1.4.2_09/bin:$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
    JAVA_HOME=/usr/java/j2sdk1.4.2_09
    CLASSPATH=.:/usr/java/j2sdk1.4.2_09/lib/tools.jar
    export ORACLE_OWNER=oracle
    export ORACLE_SID=ytiic
    export ORACLE_TERM=xterm
    export LD_ASSUME_KERNEL=2.4.1 (我的是 Linux js7.localdomain 2.4.21-9.30AXsmp 注意:“21” 我设了这个不行,借鉴CU朋友提示,改为1 就好了)

    export THREADS_FLAG=native
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
    export NLS_LANG="American_america.zhs16gbk"
    #export NLS_LANG="IMPLIFIED CHINESE_CHINA.ZHS16GBK"
    export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    export DISPLAY=js7:0.0   --------------> js7 (很重要,这是主机名 ,将来启动dbca创建数据库时,启动图形界面用的)
    export LANG=en_US
    export GDM_LANG= en_US
    export LC= en_US
    export PATH JAVA_HOME CLASSPATH

    unset USERNAME

    4,设置系统参数;
    #su – root切换到root用户

    a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容(其中红色字体为添加的内容):

    我的主要内容如下:

    kernel.msgmnb = 65535
    kernel.msgmni = 4096
    kernel.sem = 256 32000 100 142
    kernel.shmmax = 536870912 / 268435456
    kernel.shmall=2097152
    fs.file-max = 65536
    fs.aio-max-size = 2147483648
    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

    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 符号问题,

    从[url]http://oss.oracle.com/projects/compat-oracle/files/RedHat/[/url] 下载补丁

    compat-libcwait-2.0-2.i386.rpm  compat-oracle-rhel4-1.0-5.i386.rpm.为了应用这个补丁,可以运行:
    $su – root
    #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%]

    四,开始安装oracle9iR2

    (一)开始安装:

    1.以oracle用户登录系统,进行Oracle的安装:
                    $ cd Disk1
                    $ ./runInstaller过一会儿就会出现Oracle的安装界面
               
    2.一步一个脚印安装下去就行了!

    3,安装完后打补丁:

    切换到root:#su – root 首先安装 opatch.

    #运行下载的 p2617419_10102_GENERIC.zip

    #unzip p2617419_10102_GENERIC.zip
    Archive: p2617419_10102_GENERIC.zip
    creating: OPatch/
    creating: OPatch/docs/
    inflating: Opatch/docs/FAQ
    ......
    inflating: README.txt

    #export PATH=$PATH:/home/oracle/OPatch (设置环境变量,前面ORACLE的脚本已经设置了,这里只需改变你的路径)

    继续打补丁:

    # unzip p3238244_9204_LINUX.zip
    # cd 3238244
    # opatch apply

    补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口
    cd $ORACLE_HOME/network/lib
    make –f ins_oemagent.mk install

    之后就可以启动Agent服务了.

    4, 用oracle 用户执行

    [oracle@oracle oracle]$ dbca  建oracle数据库(这里启动的图形界面可能是乱码,请设置ORACLE用户.BASH_PROFILE下的启动脚本)

    数据库的SID给定ytiic,直接完成就行了。(如果在创建数据库时出现,文件无法访问或者创建问题,请执行 chown -R oracle:oinstall /app/  给定所有目录访问权限)

    21,点击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.

    其他说明,关于

    1.设置系统参数;(这里要注意,ORACLE 用户无法登陆,或者无法启动,会提示跟这个配置文件有关)

    2.精华区中关于 " 安装Ora9i_9204要用到的补丁,刚才测试过确实可以下载" 主题的内容部分已经无法下载。

    ORACLE 的很多补丁包需要到这个 [url]http://metalink.oracle.com[/url] 网站下载 ,但又需要帐号和密码,我的下载也是朋友临时给我的帐号和密码。(呵呵,大家的考朋友帮助呀。)

    进去后,找到补丁,然后点击简单搜索,如果要找  p2617419_10102_GENERIC.zip 输入只需输入: 2617419 就可以了。

    3.安装完后最好操作系统重启。
    ========================================================

    下面设置随机启动脚本!! 我没有试。到此为止。
    ==========================================================
    5, 数据库创建完成后,修改/etc/oratab,把boss那一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件:
    cp /u01/app/oracle/admin/oradb/pfile/init.ora.*  /u01/app/oracle/product/9.2.0/dbs/initoradb.ora

    重新执行dbstart就可以了。

    为了方便管理,可以写一个启动脚本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="/u01/app/oracle/product/9.2.0.4"
    export PATH=$ORACLE_HOME/binORACLE_HOME/Apache/Apache/binPATH
    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 "/u01/app/oracle/product/9.2.0.4/bin/lsnrctl start"
    su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/dbstart start"

    6,关于数据库删除重新安装的问题:

      把ORACLE安装目录删除及/etc/ora*.*删除就行了
 
    #rm –f  /etc/ora*.*

    7,关于在LINUX中运行管理软件
    #oemapp

相关内容
赞助商链接