[code]操作系统准备工作1.OS版本限制2.磁盘空间限制3.软件包依赖4.主机名和解析地址5.用户和资源限制(PAM)6.系统资源限制(内核参数)支持的版本:oracle10G的版本只支持到RHEL4,生产中建议安装官方认可的操作系统版本如果是RHEL5需要修改一下系统中的版本识别文件因为oracle安装包中的代码有检测操作系统的脚本[root@dba mnt]# grep ^Linux install/oraparam.iniLinux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2[root@dba mnt]#--该版本检测只在10g安装文件中存在。解决方法root@dba mnt]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 5.5 (Tikanga)[root@dba mnt]# vim /etc/redhat-release[root@dba mnt]# cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 4.5 (Tikanga)[root@dba mnt]#空间需求内存至少512M 交换分区至少1Goracle软件安装位置1.3G数据库安装位置至少1G/tmp要有足够400M的剩余如果这些目录都是隶属于根文件系统 那根需要有3G空闲才能安装 (1.3+1+0.4)上述都属于最小要求 这是远远不够后期运行添加数据使用的.并且随着后期运行oracle自身产生的文件会逐渐增大 请保留足够的空间需求检查方法[root@dba ~]# df -h文件系统 类型 容量 已用 可用 已用% 挂载点/dev/sda2 ext3 15G 2.3G 12G 17% //dev/sda1 ext3 99M 12M 83M 12% /boottmpfs tmpfs 506M 0 506M 0% /dev/shm[root@dba ~]#[root@dba ~]# grep -E \'MemTotal|SwapTotal\' /proc/meminfoMemTotal: 1035108 kBSwapTotal: 1076344 kB[root@dba ~]#软件包检查for i in binutils compat-gcc-34 compat-libstdc++-296 control-center \\gcc gcc-c++ glibc glibc-common glibc-devel libaio libgcc \\libstdc++ libstdc++-devel libXp make openmotif22 setarchdorpm -q $i &>/dev/null || F=\"$F $i\"done ;echo $F;unset F如果这个命令执行后有输出包名字 请向系统中补充如果没有输出信息 则说明所需要的软件包已经都在系统中了主机名和解析地址[root@dba ~]# hostnamedba.up.com[root@dba ~]#[root@dba ~]# ifconfig eth0 | head -n 2eth0 Link encap:Ethernet HWaddr 00:0C:29:9F:DF:4Ainet addr:10.10.10.10 Bcast:10.10.10.255 Mask:255.255.255.0[root@dba ~]#[root@dba ~]# grep -v \'^#\' /etc/hosts127.0.0.1 localhost.localdomain localhost10.10.10.10 dba.up.com dba[root@dba ~]#操作系统资源限制(单节点与RAC环境均需设置)添加到vim /etc/sysctl.conf 文件底端kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default = 1048576net.core.rmem_max = 1048576net.core.wmem_default = 262144net.core.wmem_max = 262144加载参数 sysctl -pkernel.shmallTotal amount of shared memory available (bytes or pages)kernel.shmmaxMaximum size of shared memory segment (bytes)建议大于等于SGAkernel.shmmniMaximum number of shared memory segments system-widekernel.shmall*kernel.shmmni = 能够分配的内存大小kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNISEMMSL Maximum number of semaphores per set每个信号对象集的最大信号对象数;SEMMNS Maximum number of semaphores system-wide系统范围内最大信号对象数;SEMOPM每个信号对象支持的最大操作数;SEMMNI Maximum number of semaphore identifiers系统范围内最大信号对象集数。其中 SEMMNS的值等于 SEMMSL*SEMMNIfs.file-max系统中所允许的文件句柄最大数目。net.ipv4.ip_local_port_range应用程序可使用的IPv4端口范围。net.core.rmem_default套接字接收缓冲区大小的缺省值net.core.rmem_max套接字接收缓冲区大小的最大值net.core.wmem_default套接字发送缓冲区大小的缺省值net.core.wmem_max套接字发送缓冲区大小的最大值用户资源限制建立oracle用户和组建议指定GID和UID方式(尤其集群环境)[root@dba ~]# groupadd -g 1000 oinstall[root@dba ~]# groupadd -g 1001 dba[root@dba ~]# useradd -u 1000 -g oinstall -G dba oracle[root@dba ~]# passwd oracle建立oracle软件安装文件目录[root@dba ~]# mkdir -p /u01/oracle[root@dba ~]# chown -R oracle:oinstall /u01/[root@dba ~]#设置oracle环境变量vi ~oracle/.bash_profileexport ORACLE_BASE=/u01/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0export ORACLE_SID=ora10gexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib加载配置oracle用户注销重新登录 或 source .bash_profile 或. .bash_profileORACLE_BASE oracle产品基目录ORACLE_HOME 数据库产品目录通常情况下HOME目录是BASE的子目录ORACLE_HOME=$ORACLE_BASE/product/10.2.0ORACLE_SID 操作系统和oracle实例关联的纽带PATH 将安装后的oracle命令追加到执行搜索路径LD_LIBRARY_PATH 动态库的位置shell限制[root@dba ~]# grep -v \'^#\' /etc/security/limits.conforacle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536[root@dba ~]#[root@dba ~]# grep \'limit\' /etc/pam.d/system-authsession required pam_limits.so[root@dba ~]#运行安装命令若想支持中文界面 以后的EM或DBCA界面显示中文则需要安装 rpm -ivh ttfonts-zh_CN-2.14-6.noarch.rpm然后export LANG=zh_CN.utf-8安装界面使用英文则 export LANG=C注销root使用oracle用户登录X-window执行安装命令 runInstaller如果安装包在光盘介质上 挂载后要离开光盘挂在位置绝对路径执行因为安装程序会创建临时文件 光盘是只读的 不能创建临时文件若当前桌面是root 用su - oracle切换用户 需要在切换前root执行# xhost + 否则oracle用户不能连接root的桌面