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




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

posted @ 2011-03-07 20:32  蓝色的天空III  阅读(131)  评论(0编辑  收藏  举报