软件:Red Hat 4 AS U7, Oracle 10g R2 for linux32, VMWare 7, Windows 7
详细步骤清单:
在Red Hat 4 AS U7上安装oracle10gR2 1. 硬件需求: =========================================== 至少1024MB物理内存 # grep MemTotal /proc/meminfo =========================================== 交换空间大小分配需求 物理内存:1024 MB ~ 2048 MB, 1.5倍物理内存 物理内存:2049 MB ~ 8192 MB, 1倍物理内存 物理内存:8192 MB ~,0.75倍物理内存 # grep SwapTotal /proc/meminfo =========================================== /tmp目录至少留有400 MB空间 # df -k /tmp =========================================== 1.5 GB至3.5 GB用于安装Oracle软件 # df -k =========================================== 1.2 GB用于预安装Oracle数据库 # df -k =========================================== 2. 软件需求: Red Hat Enterprise Linux 4.0需要安装如下包: binutils-2.15.92.0.2-13.EL4 compat-db-4.1.25-9 compat-libstdc++-296-2.96-132.7.2 control-center-2.8.0-12 gcc-3.4.3-22.1.EL4 gcc-c++-3.4.3-22.1.EL44 glibc-2.3.4-2.9 glibc-common-2.3.4-2.9 gnome-libs-1.4.1.2.90-44.1 libstdc++-3.4.3-22.1 libstdc++-devel-3.4.3-22.1 make-3.80-5 pdksh-5.2.14-30 sysstat-5.0.5-1 xscreensaver-4.18-5.rhel4.2 setarch-1.6-1 =========================================== rpm -q binutils compat-db compat-libstdc++ control-center gcc gcc-c++ glibc glibc-common rpm -q gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver setarch [root@ora10g ~]# cd /media/cdrom/RedHat/RPMS [root@ora10g RPMS]# rpm -Uvh compat-db* 在安装rpm包时,如果遇到相关性检查并报如下错误时,可通过安装glibc-kernheaders-2.4-9.1.103.EL.i386.rpm 解决: kernel-headers is needed by glibc-headers-2.3.4-2.41.i386 kernel-headers >= 2.2.1 is needed by glibc-headers-2.3.4-2.41.i386 Ref:http://hi.baidu.com/wa0362/blog/item/023337efffd4ff1efcfa3ca9.html =========================================== 检查red hat发行版本号: # cat /etc/issue =========================================== 检查内核版本号: # uname -r =========================================== 查询相应package是否安装: # rpm -q package_name =========================================== 3. 网络需求: =========================================== 检查是否使用/etc/hosts进行名字解析(name resolution),如下命名应有files结果返回 # cat /etc/nsswitch.conf | grep hosts [root@ora10g ~]# cat /etc/nsswitch.conf | grep hosts #hosts: db files ldap nis dns hosts: files dns =========================================== 检查主机名是否设置,如下命令应有类似结果(myhost.mycomputer.com)返回: # hostname [root@ora10g ~]# hostname ora10g =========================================== 检查域名是否没有被动态设置,如下命令不应返回任何结果: # domainname [root@ora10g ~]# domainname (none) =========================================== 检查hosts文件是否包含完整的描述名称(the fully qualified host name),如下命令应有类似结果( 192.168.100.16 myhost.us.mycompany.com myhost 127.0.0.1 localhost localhost.localdomain )返回: # cat /etc/hosts | grep `eval hostname` [root@ora10g ~]# cat /etc/hosts | grep `eval hostname` 192.168.168.213 ora10g.kl.com ora10g [root@ora10g ~]# =========================================== 4. 创建必要的操作系统组和用户: oinstall组,必需,Oracle产品目录组(Oracle Inventory Group): 如果如下命令没有类似结果( inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall )返回,则必需创建该组: # more /etc/oraInst.loc 创建oinstall组 # /usr/sbin/groupadd oinstall =========================================== dba组,必需,如果需要使用不同的名字,则需要在安装Oracle是进行指定, 可为不同的oracle安装指定不同的dba组: 创建dba组 # /usr/sbin/groupadd dba =========================================== oper组,可选,该组用来区分dba的普通用户,权限为SYSOPER: 创建oper组 # /usr/sbin/groupadd oper =========================================== 创建oracle安装用户 确认用户是否存在,如果存在如下命令将有类似结果( uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper) )返回: # id oracle 不存在则可使用如下命令创建用户,存在请更换用户名: # /usr/sbin/useradd -g oinstall -G dba[,oper] oracle 设置密码: # passwd oracle =========================================== [root@ora10g RPMS]# more /etc/oraInst.loc /etc/oraInst.loc: No such file or directory [root@ora10g RPMS]# /usr/sbin/groupadd oinstall [root@ora10g RPMS]# /usr/sbin/groupadd dba [root@ora10g RPMS]# groupadd oper [root@ora10g RPMS]# id oracle id: oracle: No such user [root@ora10g RPMS]# useradd -g oinstall -G dba,oper oracle [root@ora10g RPMS]# passwd oracle Changing password for user oracle. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. =========================================== 5. 配置内核参数 检查/etc/sysctl.conf是否有如下配置,有且值比一下配置的大则保留,否则替换成以下值: kernel.shmall = 2097152 kernel.shmmax = 2147483648 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 = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144 以上内核参数需要重启后生效。 =========================================== [root@ora10g RPMS]# cat /etc/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 [root@ora10g RPMS]# vi /etc/sysctl.conf [root@ora10g RPMS]# cat /etc/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 = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144 [root@ora10g RPMS]# =========================================== 针对oracle用户设置Shell的限制以优化性能 ------------------------------------------- 在/etc/security/limits.conf 文件中增加如下配置: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 ------------------------------------------- 在/etc/pam.d/login 文件中增加如下配置: session required /lib/security/pam_limits.so session required pam_limits.so ------------------------------------------- 在/etc/profile 文件中增加如下配置,适用于 Bash或者Korn shell: if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi =========================================== 6. 标识必需的软件目录 检查是否已经oracle根目录(Oracle Base Directory)已经存在: # more /var/opt/oracle/oraInst.loc 没有则使用如下命令创建oracle根目录: # mkdir -p /mount_point/app/oracle_sw_owner # chown -R oracle:oinstall /mount_point/app/oracle_sw_owner # chmod -R 775 /mount_point/app/oracle_sw_owner mount_point:为挂载点,如u01。 oracle_sw_owner:为安装oracle软件的用户名,如oracle。 ------------------------------------------- [root@ora10g ~]# mkdir -p /u01/app/oracle [root@ora10g ~]# chown -R oracle:oinstall /u01/app/oracle/ [root@ora10g ~]# chmod -R 775 /u01/app/oracle/ [root@ora10g ~]# ------------------------------------------- 目录创建好后需要设置环境变量ORACLE_BASE,使其指向/mount_point/app/oracle_sw_owner。 Bourne, Bash, or Korn shell: $ ORACLE_BASE=/u01/app/oracle $ ORACLE_SID=sales $ export ORACLE_BASE ORACLE_SID ------------------------------------------- [oracle@ora10g ~]$ ORACLE_BASE=/u01/app/oracle [oracle@ora10g ~]$ ORACLE_SID=ora10g [oracle@ora10g ~]$ export ORACLE_BASE ORACLE_SID [oracle@ora10g ~]$ =========================================== 设置建立文件和文件夹时预设的权限掩码: 如果是Bourne shell (sh), Bash shell (bash), or Korn shell (ksh),执行如下命名编辑用户shell启动文件: $ vi .bash_profile 然后编辑或者增加如下行(umask 022相当与每建立一个文件或文件夹时都chmod 755): umask 022 最后运行该启动脚本使其生效: Bash shell: $ . ./.bash_profile Bourne or Korn shell: $ . ./.profile ------------------------------------------- [oracle@ora10g ~]$ vi .bash_profile [oracle@ora10g ~]$ . ./.bash_profile [oracle@ora10g ~]$ umask 0022 =========================================== 执行以下命令以确认 ORACLE_HOME 和 TNS_ADMIN 环境变量没有被设置: $ unset ORACLE_HOME $ unset TNS_ADMIN =========================================== 注意:所有的环境变量都是在oracle用户下设置的。 以上步骤完成后即可在oracle 10g r2的软件安装目录下执行如下命令进行安装: ./runInstaller 安装的时候最好选择custom方式的安装,这样可以看到很多环境变量里面自定义的参数被应用到了哪些地方。 ------------------------------------------- [oracle@ora10g database]$ ./runInstaller =========================================== 《全篇完》 Ref: 《Database Installation Guide for Linux x86》 - Preinstallation Tasks ===========================================