Redhat AS4上安装 6 4 位Oracle9204
===========================================================
作者: yangtingkun(http://yangtingkun.itpub.net)
发表于: 2006.09.20 20:03
分类: ORACLE
出处: http://yangtingkun.itpub.net/post/468/211768
---------------------------------------------------------------
第一次尝试在REDHAT AS4上安装64位Oracle,由于缺少资料且操作系统知识相对匮乏,导致安装过程中错误频繁出现,不过幸好通过两天的不断折腾,终于将Oracle安装成功。这里将安装步骤简单总结一下,尽量使后来人少走弯路。
这篇文档参考了Oracle9i for Linux x86-64的官方安装文档,不过这篇文档中遗留的东西很多。另外还参考了metalink上的几篇文档,这几篇文章主要是介绍如何解决isqlplus链接失败的。
下面就开始介绍安装步骤,对于简单的部分就不多做说明了:
首先检查系统是否满足安装Oracle的要求,其实这个对于目前大部分的服务器都是满足的,不过为了完整起见,还是把Oracle的最低要求和检查脚本列出来:
512M以上内存;
1G以上交换空间;
/tmp目录下400M以上空间。
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
# df -k /tmp
# grep "model name" /proc/cpuinfo
另外,需要保证Oracle的安装目录至少有超过2.5G的空间,才能保证企业版的正常安装。
通过下面的脚本检查操作系统信息
# more /etc/issue
# uname -a
下面通过rpm –qa来检查操作系统是否已经包含了安装Oracle所需要的包。由于没有官方版的AS4所需的包的列表,我根据官方AS3所需列表将我的环境中对应的包列出,并将个人认为比较重要的放在前面。
kernel-2.6.9-42.EL
glibc-devel-2.3.4-2.25
glibc-2.3.4-2.25
gcc-3.4.6-3
gcc-c++-3.4.6-3
compat-libgcc-296-2.96-132.7.2
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
libstdc++-devel-3.4.6-3
libstdc++-3.4.6-3
make-3.80-6.EL4
gtk+-1.2.10-33
gnome-libs-1.4.1.2.90-44.1
tcp_wrappers-7.6-37.2
ORBit-0.5.17-14
libpng10-1.0.16-1
libungif-4.1.3-1.el4.2
imlib-1.9.13-23
setarch-1.6-1
libaio-0.3.105-2
audiofile-0.2.6-1.el4.1
esound-0.2.35-2
上面列出的包并不见得都是必须的,最后几个包没有的话,应该也可以安装成功。不过根据Oracle官方文档的建议都加上肯定不会有问题。这里要额外注意compat-libgcc-296-2.96-132.7.2这个包,这个包必须要加上,否则后面的安装无法继续进行。
下面需要修改一下系统的核心参数,具体的含义就不多解释了,Oracle的推荐默认参数为:
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
我只修改了kernel.shmmax参数,设置其大小超过我预计SGA的值。
将上面的核心参数添加到/etc/sysctl.conf文件中。
完成设置后,重启操作系统。通过/sbin/sysctl –p可以修改当前核心参数,不过如果系统可以重启,还是通过这种方式比较保险。
下面为Oracle用户设置进程数和打开文件数的限制:修改/etc/security/limits.conf文件,将下面内容填入:
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
修改/etc/pam.d/login文件,添加如下的内容:
session required /lib/security/pam_limits.so
这些操作完成之后,开始安装的前期工作了,首先是创建Oracle帐户:
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
# mkdir -p /opt/oracle/product/9.2
# chown -R oracle.oinstall /opt/oracle
至此,root用户的设置基本结束,可以切换到oracle用户了。
# su - oracle
$ vi .bashrc
在oracle用户的初始化脚本中添加如下内容:
if [ $USER = "oracle" ]; then
ulimit -u 16384 -n 65536
fi
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2
export ORACLE_SID=testdb
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
export PATH=$ORACLE_HOME/bin:$PATH
export DISPLAY=172.25.6.201:0
export LD_ASSUME_KERNEL=2.4.1
其中上面设置进程和文件的限制是Oracle推荐的。ORACLE_BASE、ORACLE_HOME、ORACLE_SID以及NLS_LANG 的设置都需要根据个人的具体进行调整。DISPLAY变量设置的是我自己机器在局域网中的IP地址,这是方便我使用X-MANAGER进行图形化操作的。
最需要注意的是LD_ASSUME_KERNEL的设置。首先Oracle的官方文档中并没有包含这个变量的设置,但是如果不进行设置的话,那么一 会在安装Oracle的时候,安装到17%,提示拷贝文件naeet.o的时候,整个安装就停住了,这个时候即使点cancel按钮都没有用,只能将整个 安装窗口关闭。
Metalink上的文章倒是提到了对这个参数的设置,但是Metalink给出的建议设置是2.4.21。这个设置似乎对SuSE 8环境是有效的,但是对REDHAT AS4环境仍然没有作用。从Metalink上的回复看,也没有看到对这个问题的进一步说明。
Oracle9204在REDHAT AS3上的安装时,建议将这个变量设置为2.4.1,因此,我选择了将这个变量也设置为2.4.1,在随后的安装过程中,上面提到的问题没有再次出现。我 估计将这个值设置的稍微大一些的话,也是可以的,我没有进行具体的测试,如果有兴趣,可以尝试一下,看看这个值最大可以设置到多大。
设置好环境变量后,重新应用一下初始脚本,保证设置的环境应用到当前用户:
$ . .bashrc
如果是使用光盘介质,可以跳过下面的步骤,如果是下载的压缩包,需要将压缩包ftp到oracle用户可以访问的目录下。解压并展开:
$ gunzip amd64_db_9204_Disk1.cpio.gz
$ gunzip amd64_db_9204_Disk2.cpio.gz
$ gunzip amd64_db_9204_Disk3.cpio.gz
$ cpio -idcmv < amd64_db_9204_Disk1.cpio
$ cpio -idcmv < amd64_db_9204_Disk2.cpio
$ cpio -idcmv < amd64_db_9204_Disk3.cpio
展开文件后,终于可以开始安装了:
$ cd Disk1
$ . runInstaller
安装开始没有什么值得说的,无非是点击几个NEXT的,输入用户组oinstall,并根据提示在后台使用root用户执行/tmp/orainstRoot.sh脚本。
随后选择安装Oracle Database 9204,同时添加简体中文语言,选择企业版,并选择定制数据库配置。这些配置都可以根据个人的需求进行调整。
所有准备工作完成,点击install。
在安装到88%的时候,会报错,错误信息如下:Error in invoking target install_isqlplus of makefile /opt/oracle/product/9.2/sqlplus/lib/ins_sqlplus.mk。
这是使用了64位的gcc编译32位程序时出现的错误,这里先点击ignore忽略错误,随后我们在解决这个问题。
在安装到98%的时候,会报和刚才类似的错误:Error in invoking target install of makefile /opt/oracle/product/9.2/rdbms/lib/ins_rdbms.mk,这里也点击ignore忽略错误。
忽略了两个错误后,安装完成,这时候Oracle会但出一个对话框,要求用户以root身份执行$ORACLE_HOME目录下的一个root.sh脚本。
我们先修正上面两个错误,然后在执行这个脚本。
修正这两个错误是整个安装过程中最麻烦的地方,参照metalink上的文章,我又反反复复摸索了四、五次才尝试成功。
首先以root身份来到/usr/bin目录下,查看gcc*:
# cd /usr/bin
# ls -l gcc*
-rwxr-xr-x 2 root root 105392 May 24 07:46 gcc
-rwxr-xr-x 2 root root 94360 Dec 2 2004 gcc32
这时候我们需要编写一个gcc296的脚本,内容如下:
#!/bin/sh
exec /usr/bin/gcc32 -static-libgcc -B/usr/lib/gcc-lib/i386-redhat-linux/2.96/ "$@"
注意,上述脚本是metalink给出的,不过metalink给出的脚本至少有3个问题,首先metalink上给出的gcc32错误拼写成了 gcc33,第二点metalink脚本中包含了-m32,而这个编译标志在编译上述两个错误时是不需要的,当然metalink上有进一步的说明,不过 还是容易使人误导。第三点其实不是metalink脚本的问题,而是这个脚本太长了,导致脚本最后的”$@”跑到了第三行,而实际上整个脚本只有两行。像 我这样对操作系统、shell脚本语言以及gcc编译不是很熟悉的人很容易在这里出错。
将上面给出的内容添加到gcc296中,然后修改gcc296的文件属性为755。
然后进行类似的操作编写g++296的脚本:
#!/bin/sh
exec /usr/bin/g++32 -static-libgcc -B/usr/lib/gcc-lib/i386-redhat-linux/2.96/ "$@"
同样,将g++296的脚本的文件属性修改为755。
# chmod 755 gcc296
# chmod 755 g++296
下面根据gcc和g++的版本信息,将gcc和g++重命名。然后将gcc和g++分别指向gcc296和g++296。
# mv gcc gcc346
# mv g++ g++346
# ln -s -f gcc296 gcc
# ln -s -f g++296 g++
下面回到oracle用户环境,重新编译刚才出现错误的两个对象:
通过/opt/oracle/product/9.2/install/make.log文件,找到刚才出现错误的两个对象,重新make:
# su - oracle
$ cd /opt/oracle/product/9.2/sqlplus/lib
$ /usr/bin/make -f ins_sqlplus.mk install_isqlplus ORACLE_HOME=/opt/oracle/product/9.2
$ cd /opt/oracle/product/9.2/rdbms/lib
$ make -f /opt/oracle/product/9.2/rdbms/lib/ins_rdbms.mk /opt/oracle/product/9.2/rdbms/lib/extproc32 EXTPROC=/opt/oracle/product/9.2/rdbms/lib/extproc32 LIBDIR=lib32 LDFLAGS='-m32 -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) $(LDPATHFLAG)$(LIBHOME)stubs/'
重新编译后,回到root用户,恢复刚才进行的操作:
$ exit
# rm -f gcc
# rm -f g++
# mv gcc346 gcc
# mv g++346 g++
# . /opt/oracle/product/9.2/root.sh
至此,Oracle9204的软件部分安装完毕。
建库、配置listener等操作就没有什么可说的了,值得一提的是,建库过程中安装data mining的时候碰到了一个ORA-1031的错误,比较奇怪。
yangtingkun 发表于:2006.09.20 20:03
分享到:
相关推荐
Redhat AS4上安装 Oracle 9204并升级到9206
RedHat AS4上安装oracle10g并创建使用oracle数据库RedHat AS4上安装oracle10g并创建使用oracle数据库
redhat_as4_u1上安装oracle9i数据库9204并升级到9206[1].pdf
Redhat AS3安装Oracle9i Redhat AS3安装Oracle9i
Redhat AS4上安装Oracle 9i 一个网友的,非常棒!
详细讲述了RedHat Linux AS4下安装ORACLE9.2的具体步骤。
RedHat AS4 下安装oracle10.2.0
在RHEL4 AS U2 与U4两个版本上安装ORACLE9i的个人整理
RedHat AS4下安装oracle 10g
redhat as4 u6下安装oracle10g 祥解
RedHat AS4 下安装oracle10g.txt
redhat AS5上安装oracle10g笔记:祝你好运。 送上一条建议:用ORACLE正版关盘实在安装不上去的话,在oracle网站上下载一个相同的版本再安装试试
一、 RedHat AS4系统安装 二、 Oracle的安装前准备 三、 Oracle10g的安装 四、 测试Oracle10g 数据库 五、 设置oracle自动启动与关闭
RedHat AS4安装oracle10.doc
Redhat AS4或AS5下oracle10g安装的便捷脚本,可以完成oracle10g图形界面安装前解压缩安装包、创建用户、修改内核参数、修改环境变量等操作,以及安装后设置oracle自启动等操作。
在RedHat AS5上安装oracle10G详细过程!配图完整
ORACLE9i For RedHat Linux AS4 释放版安装手册
redhat linux AS5 64bit 安装 Oracle 11g 64bit 所需rpm包 不用在安装oralce之前检测所需rpm 直接在安装过程中oracle自行检测即可,以免预先安装了版本低的包
redhat as5 oracle10g 安装文档
用于指导在在redhat as5上安装oracle 10g的操作,并说明如如何对现有库进行升级。