一、安装准备
(一)
检测硬件需求
CPU :至少Pentium 450 MHZ
执行以下命令来检测:
[root@localhost /]# grep MemTotal /proc/meminfo
MemTotal: 4042768 kB
[root@localhost /]# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
66281144 4677904 58236328 8% /
/dev/sda1 101086 14531 81336 16% /boot
none 2021384 0 2021384 0% /dev/shm
[root@localhost /]# grep SwapTotal /proc/meminfo
SwapTotal: 4194296 kB
(二)
检测软件需求
[root@localhost /]# uname -a
Linux localhost.localdomain 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:32:02 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux
Oracle Application Server 10g需要以下软件包
gcc-3.2.3-20
setarch-1.3-1
pdksh-5.2.14
openmotif21-2.1.30-8
gnome-libs-1.4.1.2.90-34.1
compat-glibc-7.x-2.2.4.32.5
compat-gcc-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
sysstat-4.0.7
[root@localhost /]# rpm -q gcc
package gcc is not installed
[root@localhost /]# rpm -q pdksh
pdksh-5.2.14-30.3
[root@localhost /]# rpm -q openmotif
openmotif-2.2.3-10.RHEL4.5
openmotif-2.2.3-10.RHEL4.5
[root@localhost /]# rpm -q gnome-libs
gnome-libs-1.4.1.2.90-44.1
[root@localhost /]# rpm -q compat-glibc
package compat-glibc is not installed
[root@localhost /]# rpm -q compat-gcc
package compat-gcc is not installed
[root@localhost /]# rpm -q libstdc++
libstdc++-3.4.6-3
libstdc++-3.4.6-3
…………
查看软件包的链接是否正确:
[root@localhost /]# cd /usr/bin
[root@localhost bin]# ls -l gcc g++
ls: gcc: No such file or directory
ls: g++: No such file or directory
发现有个别软件包没有安装,于是回到Linux通过“添加、删除软件包”菜单进行安装。注意:如果你安装操作系统时选择的是默认安装,以上很多软件不会被安装。
安装完成后软件包情况如下:
gcc-3.4.6-3
setarch-1.6-1
pdksh-5.2.14-30.3
openmotif-2.2.3-10.RHEL4.5
gnome-libs-1.4.1.2.90-44.1
sysstat-5.0.5-11.rhel4
(三)
创建Inventory Directory Group
创建一个组,组名这里使用oinstall
[root@localhost /]# /usr/sbin/groupadd oinstall
[root@localhost /]#
(四)
创建 Database Groups
# /usr/sbin/groupadd dba
# /usr/sbin/groupadd oper
该步骤只用于你安装Portal 和Wireless Developer Topology的情况。这里不用执行,特此说明
(五)
创建Operating System User
创建一个操作系统用户,要求该用户属于你刚才创建的oinstall用户组,在这里我们使用用户名oracle.
[root@localhost /]# /usr/sbin/useradd -g oinstall oracle
[root@localhost /]#
[root@localhost /]# passwd oracle
Changing password for user oracle.
New UNIX password:
这里密码我们依然使用oracle
(六)
检测环境变量
切换到oracle用户
[root@localhost /]# su oracle
[oracle@localhost /]$
检测环境变量
DISPLAY
[oracle@localhost /]$ DISPLAY=10.77.1.37:0.0;export DISPLAY
[oracle@localhost /]$
TMP/TMPDIR
要去oracle用户对该目录有写权限
[oracle@localhost /]$ TMP=/tmp2;export TMP
[oracle@localhost /]$ TMPDIR=/tmp2;export TMPDIR
ORACLE_HOME
使用oracle用户不需要设置该变量,其他用户需要
PATH
CLASSPATH
LD_LIBRARY_PATH
[oracle@localhost /]$ echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
TNS_ADMIN
[oracle@localhost /]$ unset TNS_ADMIN
ORA_NLS33
[oracle@localhost /]$ unset ORA_NLS33
LD_BIND_NOW
[oracle@localhost /]$ unset LD_BIND_NOW
[oracle@localhost ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
export EDITOR=vi
export ORACLE_SID=AS01
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.3.1/OracleAS_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
(七)
配置内核参数
参数表:
[root@localhost kernel]# /sbin/sysctl -a |grep sem
kernel.sem = 250 32000 32 128
[root@localhost kernel]# /sbin/sysctl -a |grep shm
vm.hugetlb_shm_group = 0
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 33554432
[root@localhost kernel]# /sbin/sysctl -a |grep msg
kernel.msgmnb = 16384
kernel.msgmni = 16
kernel.msgmax = 8192
fs.mqueue.msgsize_max = 8192
fs.mqueue.msg_max = 10
[root@localhost kernel]# /sbin/sysctl -a |grep file-max
fs.file-max = 363827
[root@localhost kernel]# /sbin/sysctl -a |grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768 61000
[root@localhost kernel]#
修改:
[root@localhost etc]# vi sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 142
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 256 32000 100 142
fs.file-max = 131072
net.ipv4.ip_local_port_range = 20000 65000
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65535
[root@localhost security]# vi limits.conf
# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain> <type> <item> <value>
#
#Where:
#<domain> can be:
# - an user name
# - a group name, with @group synt