oracle 8i 在redhat 7.1~7.3下安装手册
以下以linux7.3为例
1.准备工作:
1).软件清单:
compat-egcs-6.2-1.1.2.16.i386.rpm
compat-egcs-c++-6.2-1.1.2.16.i386.rpm
compat-egcs-objc-6.2-1.1.2.16.i386.rpm
compat-glibc-6.2-2.1.3.2.i386.rpm
compat-libs-6.2-3.i386.rpm
compat-libstdc++-6.2-2.9.0.16.i386.rpm
binutils-2.10.91.0.2-3.i386.rpm
glibc-2.1.3-stubs.tar.gz
i386-glibc-2.1-linux.tar.gz
j2sdk-1_4_2_05-linux-i586-rpm.bin
linux81701.tar
如果你是完全安装redhat 7.3的话,前6个包都已经安装,如果没有请在redhat 7.3的光盘里安装。
接下来安装glibc2.1包。oracle 8i安装时需要glibc2.1。由于red hat linux 7.x及以上版本的glibc版本高于2.1版本,所以必须对glibc进行降级。否则在安装时会出现错误,导致安装失败。以root账号登录,执行以下命令:
# cd /
#tar zxvf i386-glibc-2.1-linux.tar.gz
隐藏/usr/bin目录下的gcc、cc、ld,避免被oracle installer使用,代码如下:
# cd /usr/bin
# mkdir mysaved
# mv gcc cc ld mysaved
# ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc
# ln -s gcc cc
# ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
隐藏/usr/lib目录下的libc.so、libdl.so、libm.so和libpthread.so文件,避免被oracle installer使用,代码如下:
# cd /usr/lib
# mkdir mysaved
# mv libc.so libdl.so libm.so libpthread.so mysaved
# mv libc.a libdl.a libm.a libpthread.a mysaved
2).安装binutils-2.10.91.0.2-3.i386.rpm,一定要装,不要忘了,因为他和后来的ld有关,不安装会出现ld:
unrecognized emulation mode: elf_i386_glibc21.的错误。
rpm -uvh –force –nodeps binutils-2.10.91.0.2-3.i386.rpm
当然装完后如果你高兴可以把7.3的还原过来。
//*3).安装jdk1.1.8_v3到/usr/local,这个不用多说了
bunzip2 jdk118_v3.tar.bz2
tar -xvf jdk118_v3.tar
ln -s jdk118_v3 java
*/
3).安装jdk(这里以jdk1.4.2为例,默认安装到/usr/下)
chmod +x j2sdk-1_4_2_05-linux-i586-rpm.bin
./ j2sdk-1_4_2_05-linux-i586-rpm.bin
rpm –ivh j2sdk-1_4_2_05-linux-i586-rpm
ln –s /usr/j2sdk-1_4_2_05 /usr/local/java
安装完后设置java环境
修改/etc/profile添加如下内容
#+ —————–+
# |java environment|
#+——————+
java_home=/usr/local/java
classpath=$java_home/lib/dt.jar:$java_home/lib/jaxp.jar:$java_home/lib/tools.jar:$java_home/lib
path=$path:$java_home/bin
4).获得补丁包–两个oracle的glibc-2.1.3-stubs.tar.gz,还有一个就是最最关键的,所有在redhat 7.x下装过oracle
8.1.7的朋友都被97%的linking error搞得很恼火,这个包就是管这个bug的,其实是一个文件–env_ctx.mk,怎么用,别急,一会告诉你。
5).准备用户环境。
groupadd dba
groupadd oinstall //可选
useradd oracle -g oinstall -g dba
passwd oracle
输入新用户的密码。
创建安装目录(以/usr/local/oracle为例)
mkdir /usr/local/oracle
mkdir /usr/local/oracle/product
mkdir /usr/local/oracle/product/8.1.7
chown –r oracle.dba /usr/local/oracle
chmod –r 775 /usr/local/oracle
mkdir /var/opt/oracle
chown –r oracle.dba /var/opt/oracle
chown -775 /var/opt/oracle
退出系统,以新建的oracle用户登陆。
编辑/home/oracle目录下的.bash_profile,添加以下内容:
#. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
# +————————–+
# | setup oracle environment |
# +————————–+
oracle_base=/usr/local/oracle
oracle_home=/usr/local/oracle/product/8.1.7
oracle_sid=oracle8
oracle_term=eterm
#nls_lang=american.america.zhs16gbk
ora_nls33=$oracle_home/ocommon/nls/admin/data
ld_library_path=$oracle_home/lib:/lib:/usr/lib:/usr/local/lib
classpath=$classpath:$oracle_home/jdbc/lib/classes12.zip:$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib:$oracle_home/network/jlib
display=192.168.0.125:0.0
# +————————–+
# | linux stuff |
# +————————–+ z
export gcc_exec_prefix=/usr/i386-glibc21-linux/lib/gcc-lib/
export ld_assume_kernel=2.2.5
export ldemulation=elf_i386_glibc21
path=$path:$oracle_home/bin:/usr/i386-glibc-2.1-linux/i386-glibc21-linux/bin
export oracle_base oracle_home oracle_sid oracle_term ora_nls33 ld_library_path path classpath display
umask 022
存盘退出,建议重新启动,以防不测。
5.安装oracle 8.1.7
启动安装程序,
/mnt/cdrom/runinstaller(如果你是从光盘安装的话)
出现以下安装画面:
点击next继续
选择安装路径,直接下一步。接下来会出现让你添安装组名-oinstall,然后以root用户执行orainstroot.sh,但我这里没有出现,这是我已经安装过,然后卸载,就免了这一步了。
选择安装产品,选第一个就可以,下一步出现以下画面:
选择安装类型,这里选典型就可以,下一步选择jdk home。
下一步,填入数据库sid,这里是oracle8,
下一步,再下一步就出现安装进度,安装正式开始了。
你可以去休息一下,15分钟后在回来,这时候你看到的应该是如下,错误!!!!
这就是env_ctx.mk的过错,新开一个konsole窗口,把下载的env_ctx.mk copy 到$oracle_home/ctx/lib/目录下,然后retry。
安装可以顺利结束。这时跳出窗口,要以root身份运行root.sh
注意,root.sh里有两处错误:
rmf=/bin/rm -f
修改为
rmf=”/bin/rm -f”
ruid=`/usr/bin/id|$awk -f( {print $2}|$awk -f) {print $1}`
修改为
ruid=`/usr/bin/id|$awk -f( {print $2}|$awk -f) {print $1}`
或者下载模板root.sh
完成以后点ok。出现net8配置窗口:
不要着急点下一步,新开一个konsole口,把下载下来的oracle补丁包glibc-2.1.3-stubs.tar.gz,在$oracle_home下
tar -xvzf /tmp/glibc-2.1.3-stubs.tar.gz
然后运行,./setup_stubs.sh(也许是这个名),大约5分钟后,一切ok了。返回安装画面,选种perform typical configuration,下一步,
上图为创建数据库时
数据库创建完成。
oracle 数据库安装过程结束。
打开konsole窗口,运行sqlplus system/manager@oracle8,应该可以连接到数据库。运行oemapp dbastudio,出现以下oracle
dba studio。一切ok!
启动和关闭脚本
1) 启动脚本(dbstart)
#! /bin/bash
su – oracle<
. /home/oracle/.bash_profile
lsnrctl start
svrmgrl<
connect internal
startup
exit
eoe
exit
eof
2) 关闭脚本(dbstop)
#! /bin/bash
su – oracle<
. /home/oracle/.bash_profile
lsnrctl stop
svrmgrl<
connect internal
shutdown immediate
exit
eoe
exit
eof
然后赋可执行权限并拷贝到/etc/init.d下
chmod +x dbstart
chmod +x dbstop
在做连接
ln –s /etc/init.d/dbstart /etc/rc3.d/s99dbstart
ln –s /etc/init.d/dbstop /etc/rc0.d/k10dbstop
到此oracle就可以在linux下正常运行了
注:在安装过程中可能一切顺利,不会出现文档中出现的错误,那样就可以跳过复制新的env_ctx.mk文件这部继续往下做。