zoukankan      html  css  js  c++  java
  • RHEL AS 3 安排及启动 Oracle10g 指南

      前导发轫:CSDN




     

    1. 配置RedHat AS 3

    操纵零碎版本:
    Red Hat Enterprise Linux AS release 3 (Taroon)
    Kernel 2.4.21-4.EL on an i686
    根据通例来安排操纵零碎,记得要安排开荒器材(gcc等需求器材).

    1.1 反省需求的硬件信息

    反省内容 最小值 反省饬令参考
    物理内存 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 (空间越大大越好,如果是正式零碎,应该遏制注意的打算)
    反省完如上各项之后, 应该修正中心参数.执行如下饬令:

    #vi /etc/sysctl.conf

    #正文:
    #示意使用root用户操纵, $示意使用oracle 用户遏制操纵.提示符后头的蓝色部分示意需求输出的饬令,以下同.

    在该文件末端列入如下内容:
    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等是典型的中心参数配置.您能够需求按照您的现实景遇遏制妥当的更改.

    关于这些中心参数的声明在Oracle的 Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems 中有很注意的声明.( http://download-west.oracle.com/docs/html/A96167_01/toc.htm )

    然后,应该反省一下下面的操纵可否正确:
    # /sbin/sysctl -a | grep sem
    # /sbin/sysctl -a | grep shm
    # /sbin/sysctl -a | grep file-max
    # /sbin/sysctl -a | grep ip_local_port_range

    为Oracle用户设定Shell的限制
    普通来说,出于机能上的考虑,还需求需求遏制如下的设定,以便改良Oracle用户的有关 nofile(可掀开的文件描述符的最大大数)和nproc(单个用户可用的最大大过程数量)

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

    *               soft    nproc   2047
    *               hard    nproc   16384
    *               soft    nofile  1024
    *               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
    之后,执行 $ ulimit 验证一下.

    1.2 反省并安排相关补丁
    在这个版本的RHEL上安排Oracle,必需求有几个软件包. 确认以下 rpm包都曾经安排:

    make-3.79
    binutils-2.11
    openmotif-2.2.2-16
    setarch-1.3-1
    compat-db-4.0.14.5
    compat-gcc-7.3-2.96.122
    compat-gcc-c -7.3-2.96.122
    compat-libstdc -7.3-2.96.122
    compat-libstdc -devel-7.3-2.96.122

    # rpm -qa | grep compat
    # 在机械上输出如下:

    compat-gcc-c -7.3-2.96.122
    compat-libstdc -7.3-2.96.122
    compat-libstdc -devel-7.3-2.96.122
    compat-glibc-7.x-2.2.4.32.5
    compat-db-4.0.14-5
    compat-gcc-7.3-2.96.122

    # rpm -qa | grep openmotif
    openmotif-devel-2.2.2-16
    openmotif-2.2.2-16

    # rpm -qa | grep setarch
    setarch-1.3-1


    下面表示的内容是在笔者曾经安排了具体的RPM包之后的结果.普通情况下,你的零碎上的输出结果和这个分比如.如果一般包没有安排,把零碎安排光盘mount上,找到具体的软件包(大大少数在第三张光盘上),然后使用如下的饬令来安排相应的包:
    # rpm -ivh *.rpm

    要额外属意的是,这些软件包之间是有依赖性的,先后的挨次要找好.不然会报告不克不及安排的错误. 此外,最好验证一下 gcc和glibc的版本(要求是gcc-3.2.3-2 可能更高):
    #gcc -v
    #rpm -q glibc

    1.3 建立用户和相关的组
    # /usr/sbin/groupadd oinstall
    # /usr/sbin/groupadd dba
    # /usr/sbin/useradd -g oinstall -G dba oracle 

    如果只是测试目标的话,不建立oinstall组也没什么. 不过还是标准一点对照好.如果oracle 用户和dba组等曾经存在,作妥当的调解即可.

    1.4 反省并调解景遇变量
    登录为oracle用户

    # su - oracle
     $ cd
     $ vi .bash_profile

    #添加如下内容,你的具体值应该不会和这个完全类似.
    export ORACLE_BASE=/oracle
    export ORACLE_HOME= $ORACLE_BASE/product/dbse
    export ORACLE_SID=orcl
    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

    使景遇变量失效. /oracle 等目录应该建立好并做相符的受权.

    2. 安排Orale10g
    mount安排盘.因为10g无法以root安排,往后头建的oracle用户登录.执行:

     $ ./runInstaller

    根据提示安排即可,末了还需求以root运转两个脚本。

    3. 配置TNS参数
    在 /oracle/product/dbse/network/admin/ 目录下有 listener.ora 和 tnsnames.ora 两个文件,设置如下:

    #listener.ora
    SID_LIST_LISTENER =
      (SID_LIST =
         (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (ORACLE_HOME = /oracle/product/dbse)
          (SID_NAME = orcl)
         )
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
            (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
            )
            (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
            )
        )
      )

    #tnsnames.ora
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
            (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )

    其中SERVICE_NAME与SID_NAME必然要和.bash_profile中的ORACLE_SID相一致,不然无法启动

    4. 启动Oracle
    以oracle用户登录

    4.1 启动TNS监听器
     $ lsnrctl start
    泛起如下表示,示意监听效能成功开启
    LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 22-FEB-2006 10:24:03

    Copyright (c) 1991, 2005, Oracle.  All rights reserved.

    Starting /oracle/product/dbse/bin/tnslsnr: please wait...

    TNSLSNR for Linux: Version 10.2.0.1.0 - Production
    System parameter file is /oracle/product/dbse/network/admin/listener.ora
    Log messages written to /oracle/product/dbse/network/log/listener.log
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
    Start Date                22-FEB-2006 10:24:03
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /oracle/product/dbse/network/admin/listener.ora
    Listener Log File         /oracle/product/dbse/network/log/listener.log
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))
    Services Summary...
    Service "orcl" has 1 instance(s).
      Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully


    4.2启动数据库
    9i 之后曾经没有 svrmgrl 了,悉数的治理工作都经由 sqlplus 来完成:
     $ sqlplus /nolog
    SQL> connect system/change_on_install as sysdba
    SQL> startup

    泛起如下表示,示意Oracle曾经成功启动
    ORACLE instance started.

    Total System Global Area  285212672 bytes
    Fixed Size                  1218968 bytes
    Variable Size              88082024 bytes
    Database Buffers          188743680 bytes
    Redo Buffers                7168000 bytes
    Database mounted.
    Database opened.

    4.3 主动启动与封闭

    编纂 /etc/oratab ,把悉数的 instance 的重启动标记设置成 'Y',如:
    orcl:/oracle/product/dbse:Y

    做一个启动脚本 /etc/init.d/dbora ,如下所示:

    #!/bin/sh
    # description: Oracle auto start-stop script.
    # chkconfig: - 20 80
    #
    # Set ORA_HOME to be equivalent to the  $ORACLE_HOME
    # from which you wish to execute dbstart and dbshut;
    #
    # Set ORA_OWNER to the user id of the owner of the
    # Oracle database in ORA_HOME.

    ORA_HOME=/oracle/product/dbse
    ORA_OWNER=oracle
    if [ ! -f  $ORA_HOME/bin/dbstart ]
    then
    echo "Oracle startup: cannot start"
    exit
    fi
    case " $1" in
    'start')

    # Start the Oracle databases:
    # The following command assumes that the oracle login
    # will not prompt the user for any values

    su -  $ORA_OWNER -c  $ORA_HOME/bin/dbstart
    su -  $ORA_OWNER -c " $ORA_HOME/bin/lsnrctl start"
    ;;
    'stop')

    # Stop the Oracle databases:
    # The following command assumes that the oracle login
    # will not prompt the user for any values

    su -  $ORA_OWNER -c " $ORA_HOME/bin/lsnrctl stop"
    su -  $ORA_OWNER -c  $ORA_HOME/bin/dbshut
    ;;
    'restart')
     $0 stop
     $0 start
    ;;
    esac

    付与执行权限
    chmod 750 /etc/init.d/dbora

    作成以下链接:
    ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora
    ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora

    执行以下饬令:
    chkconfig --level 345 dbora on

    多么就OK了。下次开关机的时辰,Oracle也会随之启动/阻止。


    参考信息

    http://www.dbanotes.net




    版权声明: 原创作品,许可转载,转载时请务必以超链接情势标明文章 原始因由 、作者信息和本声明。不然将清查法律责任。

  • 相关阅读:
    jQuery Mobile方向感应事件
    Linq-多条件查询
    linux top命令详解
    在Python中调用C++,使用SWIG
    linux下core文件调试方法
    如何设置、查看以及调试core文件
    标准C++中的string类的用法总结(转)
    实用make最佳实践
    GDB多进程调试(转)
    GDB详解
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1976095.html
Copyright © 2011-2022 走看看