a.) At least 1.0 Gb (1024MB) of physical RAM. Recommended, 2gb or more.
b.) Swap disk space proportional to the system‘s physical memory as follows:
RAM |
Swap Space |
Between 1 GB and 2 GB |
1.5 times the size of RAM |
Between 2 GB and 16 GB |
equal to the size of RAM |
More than 16 GB |
16 GB |
c.) 1024 Mb of disk space (and less than 2Tb of disk space) in the /tmp directory.
d.) approximately 4.4 Gb of local disk space for the database software.
e.) approximately 1.7 Gb of disk space for a preconfigured database that uses file system storage (optional)
我们待安装的环境数据如下,可以看到满足硬件方面的需求(内存16G,交换空间18G)
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 16021 10078 5942 0 81 879
-/+ buffers/cache: 9117 6903
Swap: 18015 0 18015
三、软件需求检查
(1)RHEL 5.2或者更高版本,内核版本必须是2.6.18-92或者以上
(2)操作系统组件需求检查(rpm包),下面这些rpm必须安装
binutils-2.17.50.0.6-6.el5 (x86_64)
compat-libstdc++-33-3.2.3-61 (x86_64)
compat-libstdc++-33-3.2.3-61 (i386)
elfutils-libelf-0.125-3.el5 (x86_64)
glibc-2.5-24 (x86_64)
glibc-2.5-24 (i686)
glibc-common-2.5-24 (x86_64)
ksh-20060214-1.7 (x86_64)
libaio-0.3.106-3.2 (x86_64)
libaio-0.3.106-3.2 (i386)
libgcc-4.1.2-42.el5 (i386)
libgcc-4.1.2-42.el5 (x86_64)
libstdc++-4.1.2-42.el5 (x86_64)
libstdc++-4.1.2-42.el5 (i386)
make-3.81-3.el5 (x86_64)
unixODBC-2.2.14 (x86_64)
unixODBC-2.2.14 (i386)
unixODBC-devel-2.2.14 (x86_64)
unixODBC-devel-2.2.14 (i386)
elfutils-libelf-devel-0.125-3 (x86_64)
elfutils-libelf-devel-static-0.125-3.el5.x86_64.rpm
gcc-4.1.2-42.el5 (x86_64)
gcc-c++-4.1.2-42.el5 (x86_64)
glibc-devel-2.5-24 (x86_64)
glibc-devel-2.5-24 (i386)
glibc-headers-2.5-24 (x86_64)
kernel-headers-2.6.18-92 (x86_64)
libgomp-4.1.2-42 (x86_64)
libstdc++-devel-4.1.2-42 (x86_64)
libaio-devel-0.3.106-3.2 (x86_64)
libaio-devel-0.3.106-3.2 (i386)
sysstat-7.0.2-1 (x86_64)
kernel-headers-2.6.18-92.el5.x86_64.rpm
libgomp-4.1.2-42.el5.x86_64.rpm
注意: 64位系统中需要部分32位RPM包,检查系统时注意包的位数
通过下面的命令能查看软件包架构及位数
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep binutils
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep compat-libstdc++
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep elfutils-libelf
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep glibc
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep glibc-common
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep ksh
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libaio
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libgcc
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libstdc++
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep make
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep elfutils-libelf-devel
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep gcc
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep gcc-c++
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep glibc-devel
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep glibc-headers
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep kernel-headers
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libgomp
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libstdc++-devel
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libaio-devel
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep sysstat
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep elfutils-libelf-devel-static
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep kernel-headers
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep libgomp
安装rpm包的方法类似如下(缺失的包可以通过安装光盘中找到)
[root@ localhost rpmpgk]# rpm -ivh libaio-devel-0.3.106-5.i386.rpm
warning: libaio-devel-0.3.106-5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:libaio-devel ########################################### [100%]
[root@ localhost rpmpgk]# rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm
warning: libaio-devel-0.3.106-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:libaio-devel ########################################### [100%]
.....省略一部分rpm安装过程.........
四、创建用户、用于运行Oracle软件
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
备注
1.如果是RAC环境,建议所有的用户和组的id都一致,可避免一些安装问题
2.对于运行oracle软件的用户,没有明确归档必须为"oracle"用户,可以选择其它用户名,其它用户名运行oracle软件更加安全。
五、修改主机名(符合具体环境)
- 通过hostname命令修改(这种方式重启后失效)
- 修改/etc/sysconfig/network文件中的Hostanme参数,永久生效
- 修改/etc/hosts文件,修改为新的主机名
具体步骤如下:
[root@localhost /]# hostname javadb
[root@localhost /]# hostname
javadb
[root@localhost /]# cp /etc/sysconfig/network /etc/sysconfig/network0527
[root@localhost /]# cp /etc/hosts /etc/hosts0527
[root@javadb ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=javadb
[root@javadb ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 javadb localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
xx.xx.xx.xx javadb
六、操作系统环境设置
(1)修改/etc/sysctl.conf文件中操作系统核心参数配置,下面这些参数设置如下(如果当前核心参数设置的值比下面的更大,则这些参数无需修改,其中net.ipv4.ip_local_port_range参数的值必须完全一样)
kernel.shmall = 4294967296
kernel.shmmax = 68719476736 --最大共享内存段,用于Oracle SGA,不能低于你准备设置的SGA大小
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
备注:这是基于我的安装环境进行的核心参数配置,具体对于不同的安装环境需要具体配置,主要是kernel.shmmax和kernel.shmall两个参数可能需要重新配置
具体步骤
cp /etc/sysctl.conf /etc/sysctl.conf0527 --备份
vi /etc/sysctl.conf /* 将上面的参数一一设置为上面的值(如果当前核心参数的值比上面的更大,则不用修改) */
sysctl -p /* 使修改的核心参数的配置生效 */
(2)设置oracle用户的一些限制(针对运行oracle软件的用户)
a. 在/etc/security/limits.conf文件中配置添加如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
b. 在/etc/pam.d/login文件中添加如下内容
session required pam_limits.so
c. 在/etc/profile文件中添加如下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -u 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
备注
a.如果安装了Java package,取消Java相关的环境变量设置,例如JAVA_HOME
b.操作系统默认安装的SELinux 为"enforcing"模式,这会影响后续sqlplus的使用(安装阶段不会有问题),必须切换为"Permissive"模式
具体步骤
cp /etc/security/limits.conf /etc/security/limits.conf0527
vi /etc/security/limits.conf
cp /etc/pam.d/login /etc/pam.d/login0527
vi /etc/pam.d/login
cp /etc/profile /etc/profile0527
vi /etc/profile
七、Oracle用户环境变量设置
在oracle用户下的.bash_profile中设置如下环境变量
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=javadb; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/home/oracle/sh:/home/oracle/dh/scripts:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
export EDITOR=vim
export LANG=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
具体步骤
su - oracle
cp .bash_profile .bash_profile0527
vi .bash_profile
八、启用linux的HUGEPAGES(大页面内存2M)特性来管理oracle数据库需要的内存(SGA大于8G,建议都通过linux大内存页面来管理)
a) 在/etc/security/limits.conf 中设置memlock值(单位KB),该值小于OS内存大小,
* soft memlock 98474836
* hard memlock 98474836
b)重新登录root和oracle用户,检查memlock limit
$ ulimit -l
98474836
c)确保你的全部实例都已经启动(包括ASM) ,然后根据Document 401749.1 的hugepages_settings.sh去评估需要设置的Hugepages的大小。
$ ./hugepages_settings.sh
d)编辑/etc/sysctl.conf 设置 vm.nr_hugepages参数:
vm.nr_hugepages = 30000 (大于SGA所需内存,再多加一部分即可)
Sysctl –p(使配置生效)
e)停止实例并重启OS系统
f)检查设置是否生效
系统重启后,启动全部的数据库,通过以下命令检查
# grep HugePages /proc/meminfo
HugePages_Free< HugePages_Total 既说明Hugepages已经生效,同时HugePages_Rsvd不为“0”.
注意:此需求只有在linux中才需要,其它hp-ux、aix都不要配置大内存,也没有大内存页面这一说法。
九、安装oracle软件
解压安装包后进入到database目录
./runInstaller
图形界面,一步一步即可!
希望这篇文章可以对安装Oracle还处于磕磕碰碰的朋友有所帮助