天天看点

Red Hat Enterprise AS 4 上安装 Oracle 10G 手记

Oracle version: 10g Release 2 (10.2) for Linux x86

参考<<基于Linux的Oracle数据库管理>> 李爱武编著

====================

确定系统已安装如下包:

所需程序包的版本(或更高版本): (有些不一定准确)

gcc-3.2.3-2

make-3.79

binutils-2.11

openmotif-2.2.2-16

setarch-1.3-1

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

compat-db-4.0.14.5(Oracle 10g 数据库安装指南 中将其列为是必需的,但此处并不需要)

libaio-0.3.105-2.i386.rpm和libaio-devel-0.3.105-2.i386.rpm

这两个包是为了在安装Oracle过程中,后面创建数据实例的时候出现了ORA-12547: TNS:lost contact的错误.

可在安装盘第3张里找到了libaio-0.3.105-2.i386.rpm和libaio-devel-0.3.105-2.i386.rpm

# rpm -q gcc make binutils openmotif \ setarch compat-db compat-gcc \

      openmotif compat-gcc-c++ \ compat-libstdc++ compat-libstdc++-devel libaio libaio-devel

=====================

创建 Oracle 组和用户帐户

接下来,创建用于安装和维护 Oracle 10g 软件的 Linux 组和用户帐户。

用户帐户将称为 oracle,而组将称为 oinstall 和 dba。以 root 用户身份执行以下命令:

例如:

# /usr/sbin/groupadd oinstall

# /usr/sbin/groupadd dba

# /usr/sbin/useradd -m -g oinstall -G dba oracle

# passwd oracle

====================

创建目录

# mkdir -p /u01/app/oracle

# mkdir -p /u02/oradata

# chown -R oracle:oinstall /u01/app/oracle /u02/oradata 把后面的两个目录及其子目录(R递归地)的拥有者(组)指定为oracle用户(oinstall组)

# chmod -R 775 /u01/app/oracle /u02/oradata

=========================

配置 Linux 内核参数

cat >> /etc/sysctl.conf <<EOF

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

EOF

/sbin/sysctl -p

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

kernel.shmmax = 2147483648

//  该参数定义了共享内存段的最大尺寸(以字节为单位)。

其值应>=sag_max_size初始化参数的大小,否则SAG由多个内存段构成,效率降低,

还要不小于物理内存的一半,默认情况下在32位x86系统中,Oracle SGA最大不能超过1.7GB.

缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G

kernel.shmmni = 4096                      

//  这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096.

此值也是在系统中可以启动的Oracle实例的最大数量,通常不需要更改,

因为显然在生产环境下,一个服务器上同时启动的实例个数达不到这个数量.

kernel.shmall = 2097152

//  该参数表示系统任意时刻可以分配的所有共享内存段的总和的最大值(以页为单位).

其值应不小于shmmax/page_size.缺省值就是2097152,如果服务器上运行的所有实例的

SGA总和不超过8GB(通常系统可分配的共享内存的和最大值为8GB),通常不需要修改.

kernel.sem = 250 32000 100 128      //  表示设置的信号量

fs.file-max = 65536                 //  表示一个进程可以打开的文件句柄的最大数量.

net.ipv4.ip_local_port_range = 1024 65000 //专用服务器模式下与用户进程通信时分配给用户的端口区间

net.core.rmem_default=262144        //  默认接收缓冲区大小

net.core.rmem_max=262144            //  接收缓冲区最大值

net.core.wmem_default=262144        //  默认的发送缓冲区大小

net.core.wmem_max=262144            //  发送缓冲区最大值

以上四个值的设置是Oracle安装时推荐的.(应在安装完后把最大值改为524288)

修改好内核参数后,执行如下命令使新的设置生效

/sbin/sysctl -p

=============================

设置Oracle用户登录环境

修改用户目录下.bash_profile文件,增加如下环境变量:

以 oracle 身份登录,并通过在 .bash_profile 或 .profile(bash 或 ksh)

中添加以下行,增加如下环境变量:

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

# user locale variable

export simplified chinese'_china.ZHS16GBK

#export NLS_LANG=english_america.UTF-8

================================

以Oracle用户登陆!!!(否则容易出错)

安装Oracle

运行..../database/.runInstaller 开始安装...

=================

最后一步安装之前的一些额外配置(非必须的)

为 oracle 用户设置 Shell 限制

Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:

cat >> /etc/security/limits.conf <<EOF

oracle               soft    nproc   2047

oracle               hard    nproc   16384

oracle               soft    nofile  1024

oracle               hard    nofile  65536

EOF

cat >> /etc/pam.d/login <<EOF

session    required     /lib/security/pam_limits.so

EOF

cat >> /etc/profile <<EOF

if [ \$USER = "oracle" ]; then 

if [ \$SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

EOF

cat >> /etc/csh.login <<EOF

if ( \$USER == "oracle" ) then

limit maxproc 16384

limit descriptors 65536

umask 022

endif

EOF

=================

===============

使用 oracle 帐户登录安装 Oracle......

附安装过程中生成的系统检测输出:

==========================================

正在检查操作系统需求...

要求的结果: redhat-3,redhat-4,SuSE-9,asianux-1,asianux-2 之一

实际结果: redhat-4

检查完成。此次检查的总体结果为: 通过

=======================================================================

正在检查操作系统程序包需求...

正在检查 make-3.79; 已发现 make-1:3.80-5。 通过

正在检查 binutils-2.14; 已发现 binutils-2.15.92.0.2-10.EL4。 通过

正在检查 gcc-3.2; 已发现 gcc-3.4.3-9.EL4。 通过

正在检查 libaio-0.3.96; 已发现 libaio-0.3.102-1。 通过

检查完成。此次检查的总体结果为: 通过

=======================================================================

检查内核参数

正在检查 semmsl=250; 已发现 semmsl=250。 通过

正在检查 semmns=32000; 已发现 semmns=32000。 通过

正在检查 semopm=100; 已发现 semopm=100。 通过

正在检查 semmni=128; 已发现 semmni=128。 通过

正在检查 shmmax=536870912; 已发现 shmmax=2147483648。 通过

正在检查 shmmni=4096; 已发现 shmmni=4096。 通过

正在检查 shmall=2097152; 已发现 shmall=2097152。 通过

正在检查 file-max=65536; 已发现 file-max=65536。 通过

正在检查 VERSION=2.6.9; 已发现 VERSION=2.6.9-5.EL。 通过

正在检查 ip_local_port_range=1024 - 65000; 已发现 ip_local_port_range=1024 - 65000。 通过

正在检查 rmem_default=262144; 已发现 rmem_default=262144。 通过

正在检查 rmem_max=262144; 已发现 rmem_max=262144; 。 通过

正在检查 wmem_default=262144; 已发现 wmem_default=262144。 通过

正在检查 wmem_max=262144; 已发现 wmem_max=262144。 通过

检查完成。此次检查的总体结果为: 通过

=======================================================================

检查建议的 glibc 版本

要求的结果: ATLEAST=2.3.2-95.27

实际结果: 2.3.4-2

检查完成。此次检查的总体结果为: 通过

=======================================================================

正在检查物理内存需求...

要求的结果: 922MB

实际结果: 1008MB

检查完成。此次检查的总体结果为: 通过

=======================================================================

正在检查可用交换空间需求...

要求的结果: 1512MB

实际结果: 1599MB

检查完成。此次检查的总体结果为: 通过

=======================================================================

正在检查网络配置需求...

检查完成。此次检查的总体结果为: 未执行 <<<<

建议案: Oracle 支持在具有 DHCP 分配的公共 IP 地址的系统上进行安装。但应使用静态 IP 地址来配置系统的主网络接口, 以便 Oracle 软件正常工作。有关在配置有 DHCP 的

系统上安装软件的详细信息, 请参阅 Installation Guide。

=======================================================================

正在验证 ORACLE_BASE 的位置 (如果已设置)...

检查完成。此次检查的总体结果为: 通过

=======================================================================

正在检查 Oracle 主目录路径中的空格...

检查完成。此次检查的总体结果为: 通过

=======================================================================

正在检查是否进行了正确的系统清除...

检查完成。此次检查的总体结果为: 通过

=======================================================================

正在检查 Oracle 主目录的不兼容性...

实际结果: NEW_HOME

检查完成。此次检查的总体结果为: 通过

=======================================================================

继续阅读