2.1.1 准备操作系统
操作系统准备包括下面几个步骤:
下载Oracle 11g R2的安装文件。
硬件检查。
软件检查。
创建用户和组。
创建相应的目录。
修改用户的SHELL的限制。
修改用户的环境配置。
修改内核参数。
注:除 、 外,其他步骤都以操作系统用户root的身份完成(也就是要以root登录服务器)。
1.下载Oracle 11g R2的安装文件
可以从Oracle公司的官方网站http://www.Oracle.com下载安装文件。11g R2共由两个安装文件组成:linux_11gR2_database_1of2.zip与linux_11gR2_database_2of2.zip。
2.硬件检查
硬件检查将要检查内存、交换空间、临时目录/tmp和磁盘空间。
内存检查
执行下面的命令检查服务器内存,Oracle 11g要求最低1GB内存。
[root@zzp home]# grep MemTotal /proc/meminfo MemTotal: 1132672 kB
执行下面的命令查看共享内存的大小。
[root@zzp home]# df -k /dev/shm/ Filesystem 1K-blocks Used Available Use% Mounted on tmpfs 566336 0 566336 0% /dev/shm
交换空间检查
执行下面的命令查看交换空间的大小。Oracle 11g交换空间的要求是:
如果物理内存介于1GB到2GB之间,交换空间应该是物理内存的1.5倍。
如果物理内存介于2GB到16GB之间,交换空间应该是物理内存的1倍。
如果物理内存大于16GB,交换空间也应该大于16GB。
[root@zzp home]# grep SwapTotal /proc/meminfo SwapTotal: 2293752 kB
执行下面的命令可以查看有效的内存和交换空间。
[root@zzp home]# free total used free shared buffers cached Mem: 1132672 627704 504968 0 67652 382088 -/+ buffers/cache: 177964 954708 Swap: 2293752 0 2293752
临时目录/tmp检查
执行下面的命令查看临时目录的大小,临时目录的大小至少是1GB。临时目录和内存通常是越大越好。
[root@zzp home]# df -k /tmp Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 11839616 4777532 6450964 43% /
磁盘空间检查
执行下面的命令查看磁盘空间的大小,确认是否有足够大的磁盘空间安装Oracle。Oracle对空间的要求,请参考表2-1及表2-2。
表2-1 Linux x86-32 空间要求
表2-2 Linux x86-64 空间要求
[root@zzp home]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 11839616 4777532 6450964 43% / /dev/hda1 101086 11987 83880 13% /boot tmpfs 566336 0 566336 0% /dev/shm /dev/hdc 2935370 2935370 0 100% /media/RHEL_5.4 i386 DVD /dev/hdd1 7224512 4728168 2129360 69% /installfile
3.软件检查
软件检查将进行操作系统检查、内核检查、包的检查。
操作系统检查
执行下面的命令,得到操作系统的发行版本,本例中的发行版本是RedHat Enterprise Linux Server release 5.4,而Oracle要求的版本是RedHat Enterprise Linux 5 Update 2(或者更高版本),说明当前操作系统的版本满足Oracle的安装要求。
[root@zzp home]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.4 (Tikanga)
执行下面的命令,还可以获得其他有关操作系统版本的信息。
[root@zzp home]# lsb_release -a LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32: graphics-3.1-noarch Distributor ID: RedHatEnterpriseServer Description: Red Hat Enterprise Linux Server release 5.4 (Tikanga) Release: 5.4 Codename: Tikanga
内核检查
执行下面的命令,检查Linux的内核版本,Oracle要求,对RedHat Enterprise Linux 5,内核的版本应该是2.6.18(或者更高),本例中的操作系统内核满足Oracle的安装要求。
[root@zzp home]# uname -r 2.6.18-164.el5
包的检查
在RedHat Enterprise Linux 5中,Oracle 11g R2要求系统安装下面的包(或者该包更高的版本)。
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11
使用命令rpm –q查询一个包的存在性。
[root@zzp ~]# rpm -q elfutils-libelf-0.125 package elfutils-libelf-0.125 is not installed
从输出可以看出elfutils-libelf-0.125没有安装在系统中,但是,也许该包的高版本已经被安装在系统中,去掉包的版本号,然后进行查询,如下所示:
[root@zzp ~]# rpm -q elfutils-libelf elfutils-libelf-0.137-3.el5
命令执行结果显示,包elfutils-libelf的高版本已经安装在系统中。
如果一个包不存在,我们可以从Linux操作系统的安装盘中获得该包,也可以从网上进行搜索。获得该包以后,把包上传到服务器上,然后进入包所在的路径,使用命令rpm –ivh进行安装,如下所示:
[root@zzp installfile]# rpm -ivh sysstat-7.0.2-3.el5.i386.rpm warning: sysstat-7.0.2-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%] 1:sysstat ########################################### [100%]
4.创建用户和组
Oracle安装需要在操作中创建3个组和1个操作系统用户:
创建Oracle Inventory组oinstall,oinstall是组的名字:
Oracle Inventory组(Oracle Inventory Group)
[root@zzp home]#/usr/sbin/groupadd oinstall
数据库管理员组(Database Administrators Group)
创建数据库管理员组dba:
[root@zzp home]#/usr/sbin/groupadd dba
数据操作员组(Database Operation Group)
创建数据操作员组oper:
[root@zzp home]#/usr/sbin/groupadd oper
操作系统用户
执行下面命令,创建一个操作系统用户,用户名是oracle,该用户将是Oracle软件安装的拥有者。该用户必须属于Oracle Inventory组(也就是oinstall)。
[root@zzp home]#/usr/sbin/useradd -g oinstall -G dba,oper oracle
用户oracle属于组oinstall、dba和oper。创建操作系统用户oracle以后,可以执行命令id标识用户的存在性。
[root@zzp home]# id oracle uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper) context=root:system_r:unconfined_t:SystemLow-SystemHigh
此外,我们还可以使用命令passwd修改用户oracle的密码。
[root@zzp home]# passwd oracle Changing password for user oracle. New UNIX password: BAD PASSWORD: it does not contain enough DIFFERENT characters Retype new UNIX password: passwd: all authentication tokens updated successfully.
5.创建相应的目录
Oracle需要创建5个目录:
Oracle根目录(基目录)
创建Oracle根目录/myoracle/app:
[root@zzp home]# mkdir -p /myoracle/app
修改目录的属主:
[root@zzp home]# chown -R oracle:oinstall /myoracle/app
修改目录的读、写、执行权限:
[root@zzp home]# chmod -R 775 /myoracle/app/
Oracle主目录
创建Oracle主目录/myoracle/app/product/11.2.0/db_1:
[root@zzp home]# mkdir -p /myoracle/app/product/11.2.0/db_1
修改目录的属主:
[root@zzp home]# chown oracle:oinstall /myoracle/app/product/11.2.0/db_1
修改目录的读、写、执行权限:
[root@zzp home]# chmod 775 /myoracle/app/product/11.2.0/db_1
Inventory目录
创建Inventory目录/myoracle/oraInventory:
[root@zzp home]# mkdir -p /myoracle/oraInventory
修改目录的属主:
[root@zzp home]# chown oracle:oinstall /myoracle/oraInventory
修改目录的读、写、执行权限:
[root@zzp home]# chmod 775 /myoracle/oraInventory
数据文件目录
创建数据文件目录/myoracle/oradata:
[root@zzp home]# mkdir /myoracle/oradata
修改目录的属主:
[root@zzp home]# chown oracle:oinstall /myoracle/oradata
修改目录的读、写、执行权限:
[root@zzp home]# chmod 775 /myoracle/oradata
闪回区目录
创建闪回区目录/myoracle/oradata:
[root@zzp home]# mkdir /myoracle/flash_recovery_area
修改目录的属主:
[root@zzp home]# chown oracle:oinstall /myoracle/flash_recovery_area
修改目录的读、写、执行权限:
[root@zzp home]# chmod 775 /myoracle/flash_recovery_area
6.修改用户的SHELL的限制
为了提高性能,你需要为用户oracle提高下面SHELL的限制。
编辑文件limits.conf:
[root@zzp ~]#vi /etc/security/limits.conf
在文件中加入(如果条目不存在)或者修改下面的内容。
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
编辑文件login:
[root@zzp ~]#vi /etc/pam.d/login
在文件中加入(如果条目不存在)或者修改下面的内容。
session required /lib/security/pam_limits.so session required pam_limits.so
编辑文件profile:
[root@zzp ~]#vi /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
7.修改用户的环境配置
注:修改用户oracle的环境变量需要使用用户oracle的身份登录操作系统。
以用户oracle的身份登录操作系统。
[root@zzp /]# su – oracle
查看当前目录是否在操作系统用户oracle的主目录。
[oracle@zzp ~]$ pwd /home/oracle
找到环境配置文件.bash_profile。
[oracle@zzp ~]$ ls -a . .bash_profile .gconfd .mozilla .Xauthority .. .bashrc .gnome2 oradiag_oracle .zshrc .bash_history .emacs .gnome2_private .viminfo .bash_logout .gconf .kde .vnc
修改环境配置文件。
[oracle@zzp ~]$ vi .bash_profile
在该文件中加入下面的内容:
export ORACLE_BASE=/myoracle/app export ORACLE_HOME=/myoracle/app/product/11.2.0/db_1 export ORACLE_SID=zdb export umask=022 export PATH=$PATH:$ORACLE_HOME/bin
其中,ORACLE_BASE是Oracle的根目录。ORACLE_HOME是Oracle的主目录。ORACLE_SID是实例名(如果要创建数据库)。PATH设置命令的搜索路径。
可以使用下面的命令查看环境变量。
[oracle@zzp ~]$env
8.修改内核参数
修改内核参数配置文件sysctl.conf:
[root@zzp ~]vi /etc/sysctl.conf
在该文件中加入如下的内容,下面列出的只是最小值,如果要修改这些内核参数的值,我们输入的值一定要大于或者等于下面的值。
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 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 = 1048586
为了使修改的内核参数马上生效,应执行下面的命令:
[root@zzp /]#/sbin/sysctl –p
可以使用类似于下面的命令查看内核参数的值:
[root@zzp /]#/sbin/sysctl -a | grep kernel.shmmax