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 LANG=zh_CN.GB18030
#export LANG=en_US.UTF-8
export NLS_LANG='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
检查完成。此次检查的总体结果为: 通过
=======================================================================