Install Oracle 9i/10g On RHEL AS 3
作者:ern (yaoyongping@gmail.com)
本文描述了在Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3)上安装Oracle 9i/10g 必要的步骤和相关知识。相关文章很多,本文主要着重于整理和总结了网友(特别是Fenng)的文档、Red Hat公司的RHEL相关白皮书、Oracle公司的技术文档和白皮书等,比较两个版本在AS 3上的共同点和不同点,尽可能给出完整的安装说明。OS的安装将不再赘述。总体论述以10g的流程为主,但是方框中将插入9i的不同点。
硬件要求:
检查内容
最小值
检查命令参考
物理内存
512M
# grep MemTotal /proc/meminfo
交换空间
1.0 GB或2倍内存
# grep SwapTotal /proc/meminfo
/tmp 空间
400 MB
# df -k /tmp
软件所需空间
2.5 GB
# df -k
数据库文件
1.2 GB
# df -k
软件要求与配置
操作系统版本:Red Hat Enterprise Linux AS release 3 (Taroon) Update 3
对于9i,需要内核2.4.21-4EL(一般AS 3均已满足),对于10g需要内核2.4.21-15EL。
确认以下 rpm包都已经安装:
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20 compat-db-4.0.14.5 compat-gcc-7.3-2.96.128 compat-gcc-c++-7.3-2.96.128 compat-libstdc++-7.3-2.96.128 compat-libstdc++-devel-7.3-2.96.128
openmotif21-2.1.30-8
setarch-1.3-1
可以通过以下指令察看本机当前的rpm包情况
rpm -qa | grep compat rpm -qa | grep openmotif rpm -qa | grep setarch
gcc -v rpm -q glibc
如果个别包没有安装,请在系统安装光盘中找到具体的软件包(大多数在第三张光盘上),然后利用如下的命令来安装相应的包:
rpm -ivh compat.....rpm
注意:这些软件包之间是有依赖性的,先后的顺序要找好,否则会报告不能安装的错误。
以上对硬件和软件的检查是针对10g,一般AS 3 U3均可达到,9i的要求会更宽松,但在9i中请注意:
gcc应使用2.96版本,因此在安装前执行:
mv /usr/bin/gcc /usr/bin/gcc323 ln -s /usr/bin/gcc296 /usr/bin/gcc mv /usr/bin/g++ /usr/bin/g++323 ln -s /usr/bin/g++296 /usr/bin/g++
安装完成后:
rm /usr/bin/gcc mv /usr/bin/gcc32 /usr/bin/gcc
设定核心参数
vi /etc/sysctl.conf
在该文件末尾加入如下内容:
#---------------------------------------- # Parameters for Oracle10g 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 #----------------------------------------
编辑完之后,保存,执行 /sbin/sysctl -p 命令使变更生效。
注意:上面kernel.shmmax/kernel.sem等是典型的核心参数配置,可能需要根据实际环境进行适当的变动。可参考以下表格获取当前设定值,若设定值较上例大,则保留设定值,而kernel.shmmax应设为系统内存的一半,该值即指定了内核允许的最大共享内存段(Segment)的大小,一般安装Oracle后,Oracle将为SGA申请一个段。若系统内存超过8G时安装出错,请参考附录大内存的处理。
参数
命令
semmsl,semmns,semom & semmni
/sbin/sysctl -a | grep sem
shmall,shmmax & shmmni
/sbin/sysctl -a | grep shm
file-max
/sbin/sysctl -a | grep file-max
ip_local_port_range
/sbin/sysctl -a | grep ip_local_port_range
9i中,还应当在文件末尾增加:
# Disables packet forwarding net.ipv4.ip_forward = 0 # Enables source route verification net.ipv4.conf.default.rp_filter = 1 # Disables the magic-sysrq key kernel.sysrq = 0
创建用户和相关的组
/usr/sbin/groupadd dba /usr/sbin/groupadd oper /usr/sbin/groupadd oinstall /usr/sbin/useradd -g oinstall -G dba,oper oracle /usr/sbin/passwd oracle
设定Shell限制
出于性能上的考虑,还需要增大oracle用户的限制,即增加nofile(可打开的文件描述符的最大数)和nproc(单个用户可用的最大进程数量)。
vi /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
编辑 /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
之后,执行$ unlimit 验证一下.
检查并调整环境变量
登录为oracle用户 su – oracle cd vi .bash_profile
添加如下参数,具体值和现实环境有关。
export ORACLE_BASE=/u/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1 export ORACLE_SID=TEST export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export LC_CTYPE=en_US.UTF-8
然后执行 source .bash_profile 使环境变量生效。/u/app/oracle等相关目录应该建立好并做合适的授权。
开始安装
mount安装盘,一般网上下载是压缩文件,执行
cp /mnt/cdrom/ship.db.cpio.gz /u/install
gunzip ship.db.cpio.gz cpio -idmv < ship.db.cpio sh /u/install/Disk1/unInstaller
如果不能出现安装画面,查看本文后面的FAQ。
10g的安装相比以前的多了一个 Checking operating system certification 的步骤。安装文件会自动检测所需的条件。如果有不符合的地方,安装程序会报告给你,并会给出具体原因,大大减少了出错的可能。 下面是检查成功输出的内容:
Checking operating system certification Expected result: One of redhat-2.1,redhat-3,UnitedLinux-1.0 Actual Result: redhat-3 Check complete. The overall result of this check is: Passed =======================================================================
[1] [2] [3] 下一页 [网络安全]winlogon.exe 病毒症状及查杀方法 [Sql Server]不用SqlTransaction执行数据库事务处理 [Web开发]web.config更改网站上传文件大小的限制 [Web开发]增加或修改Session的会话时间 [Web开发]Web.config文件详细介绍 [Web开发]分析器错误信息:无法识别的配置节“connectionStr… [Web开发]如何NET使用web.config配置文件连接SQL数据库 [Web开发]authentication mode=Windows/之“/”应用程序中的… [Web开发]出现SqlTransaction 已完成;它再也无法使用的错误… [Web开发]出现SqlTransaction 已完成;它再也无法使用的错误…
|