LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 29970|回复: 90

今天终于在rh9上成功安装了Oracle9,一帆风顺,写一下经验。

[复制链接]
发表于 2003-6-14 10:09:31 | 显示全部楼层 |阅读模式
基本都是按照,我贴在上面的那个贴子来的。只在一个地方需要注意,即本地语言的

在安装之前有几个地方需要注意的:
你的交换分区最好有一个G左右那么大,第二你的硬盘分区最好也要有足够大的空间。

下面我那个转贴的中译本:

1、创建用户和组:
[roko@miniroko] su -

[root@miniroko]# groupadd oinstall
[root@miniroko]# groupadd dba
[root@miniroko]# useradd -g oinstall -G dba oracle
[root@miniroko]# passwd oracle


2、准备文件目录:

[root@miniroko]# mkdir -p /opt/ora9/product/9.2
[root@miniroko]# mkdir /var/opt/oracle
[root@miniroko]# chown oracle.dba /var/opt/oracle
[root@miniroko]# chown -R oracle.dba /opt/ora9

3、调节系统内核参数及安装支持软件包:
    3.1、首先用命令rpm -qa|grep compat 查看系统中是否安有以下几个软件包:
            
               compat-gcc-7.3-2.96.118.i386.rpm
                compat-libgcj-7.3-2.96.118.i386.rpm
                compat-libgcj-devel-7.3-2.96.118.i386.rpm
                nss_db-compat-2.2-20.i386.rpm

             如果没有,请拿出你的安装盘,安装以上的包。不要用原文给的那个APT的东东,不熟的人遇上没有解决的依赖性问题的话,就特别讨厌。

    3.2、设置内核参数,调节信号灯及共享内存:
             [root@miniroko]# echo 250 32000 100 128 > /proc/sys/kernel/sem
             [root@miniroko]# echo 536870912 > /proc/sys/kernel/shmmax
             [root@miniroko]# echo 4096 > /proc/sys/kernel/shmmni
             [root@miniroko]# echo 2097152 > /proc/sys/kernel/shmall
             [root@miniroko]# echo 65536 > /proc/sys/fs/file-max
             [root@miniroko]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

           当然为了一开机系统就能自动帮你设好这些参数,也可改动 /etc/sysctl.conf   这个文件,加入以下的语句:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

保存后,即可。建议关于net.ipv4.ip_local_port_range不要改动,可以用cat /proc/sys/net/ipv4/ip_local_port_range   看到红帽子对这个所定义的范围已经符合,而且端口范围比这个小。

      3.3、设置oracle对文件的要求:
      编辑文件:/etc/security/limits.conf    加入以下语句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

这个需要重启后才能生效的。但是安装的时候无所谓了。

4、设置oracle的系统环境:
以oracle用户的身份登录:
su oracle

cd ~

编辑它的.bashrc文件加入以的东东:
#oracle 9i
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/binORACLE_HOME/Apache/Apache/binPATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9i
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/libLD_LIBRARY_PATH
export PATH=/opt/ora9/product/9.2/binPATH
#
# change this NLS settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
#export NLS_LANG='croatian_croatia.ee8iso8859p2'    (注意这个东东把它注释掉,因为我们用的是中文系统。然而为了能够显示中文加入以下一行:
export    LC=en_US

退出,将你下载的三个iso文件准备好。
5、解压你下载的文件:
   5.1、新建一个目录:mkdir /mnt/Oracle
    5.2、将三个文件拷入新建的目录:cp  ln_*   /mnt/Oracle
     5.3、解压三个文件: cd /mnt/Oracle
             gunzip   gunzip lnx_920_disk1.cpio.gz
             gunzip lnx_920_disk2.cpio.gz
              gunzip lnx_920_disk3.cpio.gz
             cpio -idmv < lnx_920_disk1.cpio
             cpio -idmv < lnx_920_disk2.cpio
             cpio -idmv < lnx_920_disk3.cpio
     5.4、这个将生成三个文件夹:DISK1, DISK2, DISK3
6、开始安装:
   以oracle的用户身份进入:
     su oracle
      cd ~
      /mnt/Oracle/DSIK1/runInstall.sh

在安装的过程中会遇到几个错误:
   第一个错误提示关于这个文件ins_oemagent.mk的,不要去管它,选择忽略,我们将在下面的步骤中修复它。
第二错误提示:Error in invoking target install of makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk
   这个时候就先不要选择忽略了,这个时候你要先打开一个终端:以oracle用户的身份登录进去,运行以下的命令:
[oracle@miniroko oracle]$ cd $ORACLE_HOME/install
[oracle@miniroko install]$ tail make.log

可以看到这个,然后在其下有错误提示:
gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/ -L/opt/ora9/product/9.2/lib/
-L/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
-L/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9
我们运行以下的命令来修改它:
[oracle@miniroko]$ cd $ORACLE_HOME/bin
[oracle@miniroko bin]$ gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/
-L/opt/ora9/product/9.2/lib/ -L/opt/ora9/product/9.2/lib/stubs/
/opt/ora9/product/9.2/ctx/lib/ctxhx.o -L/opt/ora9/product/9.2/ctx/lib/
-lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc
-Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9 -lcore9 -lnls9 -lcore9
-lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -ldl
也就重新在这个地方编译一下上面出错的地方。然后再回到安装界面,对那个错误对话框选择忽略。继续安装就行了。

第三个错误会在启动和配置助手程序的时候出错,不要管它,选择忽略就行了。我们在下面的步骤将会对第一个错误和第三个错误进宪修补。

7、修改系统:
以oracle用户的身份登入,执行以下命令:
[oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib
[oracle@miniroko lib]$ make -f ins_net_client.mk install

然后编辑这个文件:
oracle@miniroko lib]$vi  $ORACLE_HOME/ctx/lib/ins_ctx.mk找到第13行、第14行由ctxhx: $(CTXHXOBJ)
$(LINK) $(CTXHXOBJ) $(INSO_LINK)

改为:
ctxhx: $(CTXHXOBJ)
$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)
存盘退出,执行以下命令:
[oracle@miniroko lib]$ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install

现在可以重新启动agents了。
[oracle@miniroko lib]$ /opt/ora9/product/9.2/bin/agentctl start

8、为了方便管理,可以写一个启动脚本:
以ROOt身份进入,编写以下脚本:
#!/bin/bash
#
# (c) denis.klaric@in2.hr
#
# name: /etc/rc.d/init.d/ora9
# description: starts and stops oracle 9i database, TNS listener
# http server, and fixes kernel parameters for oracle


#oracle environment
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/binORACLE_HOME/Apache/Apache/binPATH
export NLS_LANG='croatian_croatia.ee8iso8859p2'
export ORACLE_SID=tis

export DISPLAY=:0
oracle_user=oracle

# see how we're called

case $1 in
start)
# fix kernel parameters
echo 250 32000 100 128 > /proc/sys/kernel/sem
echo 536870912 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 65536 > /proc/sys/kernel/fs/file-max
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

# start listener, apache and database
su - "$oracle_user"<<EOO
lsnrctl start
apachectl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
EOO
;;

stop)
# stop listener, apache and database
su - "$oracle_user"<<EOO
lsnrctl stop
apachectl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
EOO
;;

*)
echo "Usage: ora9 [start|stop]"
;;

esac

存为ora9后,然后用chmod a+x ora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9 start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
chkconfig --level 3(或者是5)  --add ora9
即可。

呵呵,我是按照以上步骤安装成功了,希望你好运。
发表于 2003-6-14 17:00:56 | 显示全部楼层
very good!!! 建议置顶
我昨天上oracle网,看了一下,可以支持redhat9了,我也找了一入篇它的原文安装文档,并重新下载了软件。
所以我也是今上午又重装了一次,就是黄叶版主说的出现了这几个问题
安装文档上也有说明和解决办法,不过,还是要你重新装一次,(晕!我乍这么急呢,不把文档看完才装了,吸取教训吧!)还是版主的方法好。我这个也可以用了,
只要我不用OEM,就不用启动agents了。
不过,这是我在win下的经验,现在才在linux下学习使用。
 楼主| 发表于 2003-6-16 08:06:47 | 显示全部楼层
我已经把它放在置顶贴子里,那里有一个大家在安装过程中遇到的所有问题,请大家以后有安装问题全部放在那个置顶贴子里。
发表于 2003-6-16 16:35:01 | 显示全部楼层
OK!!
支持
 楼主| 发表于 2003-6-16 17:27:13 | 显示全部楼层
谢谢支持。
发表于 2003-6-26 20:57:05 | 显示全部楼层
sos.sos,在安装oracle9i时,出现了以下情况
[oracle@localhost oracle]$ mkdir /mnt/oracle
mkdir: cannot create directory `/mnt/oracle': Permission denied
[oracle@localhost oracle]$ cd /mnt/oracle
[oracle@localhost oracle]$ gunzip lnx_920_disk1.cpio.gz
gunzip: lnx_920_disk1.cpio: Permission denied
为什么总是显示 permission denied呢,
开始用mkdir /mnt/oracle时,就显示Permission denied,我只好在x-windows里面用鼠标右健创建文件侠,现在用gunzip lnx_920_disk1.cpio.gz怎么还是这样,是什么原因呢,在安装开始里我已经用了su oracle
     cd ~
请高手指教
发表于 2003-6-26 21:38:32 | 显示全部楼层
oracle没有写目录/mnt/oracle的权限
发表于 2003-6-27 08:29:49 | 显示全部楼层
我安装时安装画面上全市乱吗
只能依稀辩的几个英文字母
不知是不是我安装了windows的全部字体的原因
 楼主| 发表于 2003-6-27 08:37:32 | 显示全部楼层
看看你的local是什么?
实在不行的话用英文安装也行呀。
export LANG=en_US
发表于 2003-6-27 10:09:21 | 显示全部楼层
[oracle@localhost Disk1]$ /mnt/oracle/Disk1/runInstaller
[oracle@localhost Disk1]$ /mnt/oracle/Disk1/runInstaller
[oracle@localhost Disk1]$ ./runInstaller
[oracle@localhost Disk1]$ /mnt/oracle/Disk1/install/linux/runInstaller
[oracle@localhost Disk1]$ /mnt/oracle/Disk1/install/linux/runInstaller.sh
/mnt/oracle/Disk1/install/linux/runInstaller.sh: line 2: cd: %PROD_HOME%/install: No such file or directory
也就是我不管用什么命令都没反应,根本就没有开始安装,是怎么回事呀,我可是按照步骤一步步来的呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表