分享
 
 
 

Install Oracle 9i/10g On RHEL AS 3

王朝oracle·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

=======================================================================

Checking kernel parameters

Checking for VERSION=2.4.9.25; found VERSION=2.4.21. Passed

Checking for shmall=2097152; found shmall=2097152. Passed

Checking for shmseg=10; found shmseg=4096. Passed

Checking for semmsl=250; found semmsl=250. Passed

Checking for semmni=128; found semmni=128. Passed

Checking for filemax=65536; found filemax=65536. Passed

Checking for shmmni=4096; found shmmni=4096. Passed

Checking for semmns=32000; found semmns=32000. Passed

Checking for semopm=100; found semopm=100.Passed

Checking for shmmin=1; found shmmin=1. Passed

Checking for shmmax=2147483648; found shmmax=2147483648. Passed

Check complete. The overall result of this check is: Passed

=======================================================================

Checking recommended operating system packages

Checking for make-3.79; found make-3.79.1-17. Passed

Checking for binutils-2.11.90.0.8-12; found binutils-2.14.90.0.4-26. Passed

Checking for gcc-2.96; found gcc-3.2.3-20. Passed

Checking for openmotif-2.1.30-11; found openmotif-2.2.2-16. Passed

Check complete. The overall result of this check is: Passed

=======================================================================

Checking recommended glibc version

Expected result: 2.2.4.31.7

Actual Result: 2.3.2.95.3

Check complete. The overall result of this check is: Passed

=======================================================================

Validating ORACLE_BASE location (if set)

Check complete. The overall result of this check is: Passed

=======================================================================

其他的步骤比较清晰,不再赘述。

最后系统会提示你运行root.sh文件,按照提示做即可。

9i的安装过程与10g基本一致,除缺少检查OS要求的步骤外,还要注意处理以下错误。

1. 启动OUI时libcwait.so错误

用oracle用户登录,并在其家目录下建立文件libcwait.c如下

/*

gcc -O2 -shared -o $HOME/libcwait.so -fpic

$HOME/libcwait.c

*/

#include

#include

#include

#include

pid_t

__libc_wait (int *status)

{

int res;

asm volatile ("pushl %%ebx\n\t"

"movl %2, %%ebx\n\t"

"movl %1, %%eax\n\t"

"int $0x80\n\t"

"popl %%ebx"

: "=a" (res)

: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S"

(0));

return res;

}

使用gcc -02 -shared -o $HOME/libcwait.so -fpic $HOME/libwait.c编译。设置相关环境变量:

export LD_ASSUME_KERNEL=2.4.19

export LD_PRELOAD=$HOME/libcwait.so

另一个解决方案是到metalink.oracle.com下载p3006854_9204_LINUX.zip。

2. 安装时链接错误

第一个与$ORACLE_HOME/network/lib/ins_oemagent.mk有关,只需将该文件如下行注释即可:

# LDFLAGS = $(STDMODE) -L$(LIBHOME) -L$(ORACLE_HOME)/rdbms/lib -L $(ORACLE_HOME)/network/lib

随后即可点击“重试”继续安装。

第二个错误为$ORACLE_HOME/ctx/lib/ins_ctx.mk because / usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS),可以直接忽略。

以上链接错误也可通过在Oracle Metalink网站下载binutils-2.11.90.8.8-13.i386.rpm解决,但建议在用该包替换并完成数据库安装后替换回原RHEL的版本。

附录:

A. FAQ

1. 不能启动安装界面

运行runInstaller提示信息类似如下:

xlib:connection to "localhost:0.0" refused by server

xlib:client is not authorized to connect to server

Exception in thread "main" java.lang.InternalError:can't connect to x11 window server using "localhost:0.0"

at .......

解决办法:设定你的DISPLAY环境参数。

export DISPLAY= your_IPaddress :0.0

或者用root简单的执行一下# xhost + (要注意这样会有安全上的隐患) 。

2.安装界面显示很多"口口"样子的乱码

解决办法:查看locale输出

# locale

LANG=en_US.UTF-8

LC_CTYPE=zh_CN.GB18030

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC_NAME="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=

执行#export LC_CTYPE=en_US.UTF-8 然后重新调用安装程序.

3. 用IE登录Linux服务器上的em出现乱码

在Linux(Unix) 环境下成功安装了Oracle 10g,从windows下用IE浏览器登录 10g 的em, 按钮是"口口"这样的方框.

解决办法: 参考http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm 或者是参考这个 http://www.linuxsir.org/bbs/showthread.php?s=&threadid=98591 后者比较彻底,前者比较"Quick & Dirty ".

4.创建数据库的时候出现ORA-03113的错误

解决办法: 查看核心参数是否调整正确.参考http://www.dbanotes.net/Oracle/ORA-03113.htm

5. RedHat 9 / FC1等系统10g不支持如何安装?

解决办法:在10g不支持的Linux发行版上安装10g的解决方法

1) 运行runInstaller -ignoreSysPrereqs,这样会跳过检查

2) [/url]摘自 [url=http://www.puschitz.com/]www.puschitz.com 修改/etc/redhat-release文件:

#su - root

#cp /etc/redhat-release /etc/redhat-release.backup

#cat > /etc/redhat-release << EOF

Red Hat Enterprise Linux AS release 3 (Taroon)

EOF

安装完毕,执行如下操作:

#su - root

#cp /etc/redhat-release.backup /etc/redhat-release

3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm

同样的思路,我们可以修改Oracle 的install/oraparam.ini文件达到目的

6 如何关掉那些 ocssd.bin 进程?

解决办法:编辑/etc/inittab文件(做好备份)

注释掉这一行:

h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null

B. 大内存的配置

首先说明,以下材料来自Install Oracle on RHEL AS 2.1的白皮书,可能AS 3对大内存的支持已经很好了,但是笔者此文主要来自查阅和编辑多篇文档,具体的安装限于硬件也没能测试。所以,如果在AS 3上出现了错误,不妨参考下文。

shmmax最大值为4GB-1。为了创建大于1.7GB的SGA,必须使用共享内存文件系统(shmfs)。指令如下,并可添加到/etc/rc.local中,也可以使用/etc/fstab来创建shmfs,在增加/dev/shm前先注释掉已有的/dev/shm条目。

mount -t shm shmfs -o size=32g /dev/shm

mount -t shm shmfs -o nr_blocks=8388608 /dev/shm

在8GB系统上使用shmfs,SGA可以最大调整到7GB。需要调整init.ora,增加:

use_indirect_data_buffers=true

另一种使用大SGA的方法是使用Lower Mapped Base,可以从1.7GB增长到2.7GB。具体方法可参考Oracle白皮书。

C.大页面的配置

AS支持4MB的大页面(而不是一般的4KB),这样可以减少页表中的条目,将SGA锁定在内存中,多用于大SGA或多用户时。这一特性存在于Enterprise Kernel中。

大页面的数量可用cat /proc/meminfo查看。

配置步骤如下:

1. 在/etc/rc.local中

echo 2 > /proc/sys/kernel/shm-use-bigpages (shmfs中使用大页面)

echo 1 > /proc/sys/kernel/shm-use-bigpages (SYSV中使用大页面)

echo 0 > /proc/sys/kernel/shm-use-bigpages (不使用大页面)

2. 在/etc/lilo.conf的boot段中增加如下参数,重新配置LILO并重启系统

append="bigpages=xxxxMB"

对4GB的SGA,可以设为4100MB;对2GB的,可以设为2100MB。

在8GB的机器上SGA最大为5.4GB。

参考信息

Installing Oracle 10g on RHEL AS 3 Step-by-Step by Fenng

http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm

Tips & Techniques - Install & Configure Oracle9i & RHEL AS

Deploying Oracle9i Database on Red Hat Enterprise Linux v.3

以上两篇可在http://www.redhat.com/solutions/info/whitepapers/#rhel找到

Oracle Database Quick Installation Guide 10 g Release 1 (10.1) for Linux x86

http://download-west.oracle.com/docs/html/B10813_01/toc.htm

Oracle Database Installation Guide 10 g Release 1 (10.1) for UNIX Systems

http://download-west.oracle.com/docs/html/B10811_02/toc.htm

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有