LinuxSir.cn,穿越时空的Linuxsir!

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

在www.linuxaid.com.cn上看到一个兄弟在rh9上安装Oracle9.2的方法。[转贴]

[复制链接]
发表于 2003-6-6 13:30:01 | 显示全部楼层 |阅读模式
主题:最新:Red Hat 9下安装Oracle 9i (2003-05-29 21:15:29)
           Installing Oracle 9i R2 (9.2.0.1.0) on Red Hat 9

说明:
  1. 前面的安装和安装oracle8i差不多,差别在第6点。
  2. 我在其它的网站上也见到类似的文章,不过都是此文的翻译版。

This is the installation HOWTO for Oracle 9.2 on RedHat Linux 9. Please remember that Oracle 9.2 is not certified for RedHat 9 and this combination should not be endorsed in production environments. For a full list of Oracle certified environments, check out the Oracle certification matrix.

1. Creating users and groups:
-------------------------
Become root and execute the following commands


[roko@miniroko] su -

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

2. Creating directories.
--------------------------
Oracle recommends OFA - Optimal Flexible Architecture directory structure, but we will install everything under /opt/ora9:


[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. Preinstallation (system configuration):
---------------------------


3.1 Install these compatibility libraries:


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


You will find these packages on the installation CDs.
If you do not have the CDs, they can be found using Synaptic, a graphical tool for updating your RH system. To install synaptic, first download Apt binary RPM package for RH9 from http://apt.freshrpms.net/ and then do (as root):

[root@miniroko]# rpm -Uvh apt-0.5.5cnc5-fr2.i386.rpm
[root@miniroko]# apt-get update
[root@miniroko]# apt-get install synaptic

3.2 Set kernel params to be correct at startup:

Append these lines to /etc/sysctl.conf
You might want to change these values if you have more RAM:


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

Append these lines into /etc/security/limits.conf


oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

REBOOT the system so the kernel changes can take effect, or if rebooting is not an option, you can change the kernel params at runtime by issuing:


[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

4. Preinstallation (oracle environment):
----------------------------
Login as oracle user:


su - oracle

Put the following lines in ~/.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'


If you want other national settings (these are croatian), consult the supported settings here, and change the NLS_LANG variable accordingly.

5. Installation:
------------------------

Login as root and allow user oracle to write to X display:


su -
xhost +

Login to oracle user:


su - oracle

Start the installation. Do not switch to your CD-ROM mount directory because you will not be able to unmount the 1st Cd to insert others when asked.

/mnt/cdrom/install/linux/runInstaller

During the installation, Oracle will ask you to insert other disks. Open up a new console, unmount the current disk with umount /dev/cdrom (as root), replace the disk. If Redhat9 does not mount it automagically, mount it yourself with mount /dev/cdrom
Your installation will produce two errors.


First, you will see an error dialog informing about problems with ins_oemagent.mk. Choose ignore on this one, we will fix it in postinstallation.



Second dialog will inform you about an "Error in invoking target install of makefile $ORACLE_HOME/ctx/lib/ins_ctx.mk".
(注:在此错误之前,各位在安装时还会遇到“ins_oemagent.mk”链接错误 ,选择ignore,并将在postinstall(即第6步)修复它。
When that happens, open up a new console and login as oracle user.
Execute the following commands:

[oracle@miniroko oracle]$ cd $ORACLE_HOME/install
[oracle@miniroko install]$ tail make.log

You will see a line such as this:
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

Copy this line, add -ldl at the end and run it in $ORACLE_HOME/bin
[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

Now hit the ignore button on the dialog and the installation will continue.
At the end Oracle installation will probably inform you that agents failed to start. Choose ignore on this one, we will fix it later

6. Postinstall
---------------------------
Open up a console and login as oracle user. Execute these lines:


[oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib
[oracle@miniroko lib]$ make -f ins_net_client.mk install

Then edit the $ORACLE_HOME/ctx/lib/ins_ctx.mk file so that lines 13-14 change from:
ctxhx: $(CTXHXOBJ)
$(LINK) $(CTXHXOBJ) $(INSO_LINK)

to
ctxhx: $(CTXHXOBJ)
$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)

Then do a
[oracle@miniroko lib]$ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install

Now you should be able to start your agents with
[oracle@miniroko lib]$ /opt/ora9/product/9.2/bin/agentctl start

7. Starting the database
------------------------------
The easiest way is to create a startup/shutdown script as such
--
#!/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

--
Just make sure you change the ORACLE_SID to your SID.
You can copy that script to your /etc/rc.d/init.d directory or link it from your runlevel startup directory (e.g. /etc/rc.d/rc5.d) to make sure Oracle is started upon booting the machine, and stopped before shutting down.
Alternativly you can start and stop it directly with /etc/rc.d/init.d/ora9 start|stop


That's it, good luck <br>
发表于 2003-6-12 15:23:05 | 显示全部楼层
版主,能否用中文详细整理一下吗?
 楼主| 发表于 2003-6-12 16:57:06 | 显示全部楼层
没问题。
谢谢。
发表于 2003-6-12 16:59:39 | 显示全部楼层
哪就多麻烦班主了,我以后会劲力支持本版的发展。
发表于 2003-7-30 11:31:37 | 显示全部楼层
期待中。。。。。。
 楼主| 发表于 2003-7-30 11:46:28 | 显示全部楼层
早已整理出来了?!!!
就是我写的那篇呀。
只不过,是根据自己人的需求改了改。
发表于 2005-10-13 17:08:40 | 显示全部楼层
在第六步
        [oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib
出现问题,说“没有ORACLE——HOME/network/lib 这个文件或目录”是什么原因啊?请高手指教
(第一次在linux下安装Oracle ,都试了好几次了,郁闷!)
回复 支持 反对

使用道具 举报

发表于 2005-10-13 17:14:44 | 显示全部楼层
补充一下:我是在linux as4下安装oracle 9i
回复 支持 反对

使用道具 举报

发表于 2006-6-16 12:40:41 | 显示全部楼层
Post by brian
在第六步
        [oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib
出现问题,说“没有ORACLE——HOME/network/lib 这个文件或目录”是什么原因啊?请高手指教
(第一次在linux下安装Oracle ,都试了好几次了,郁闷!)



晕  你直接进入不就得了  看看你设的$ORACLE_HOME是什么!!
回复 支持 反对

使用道具 举报

发表于 2007-1-2 11:19:52 | 显示全部楼层

No such file or directory

[oracle@localhost Disk1]$ Initializing Java Virtual Machine from /tmp/OraInstall2007-01-02_10-44-54AM/jre/bin/java. Please wait...
/tmp/OraInstall2007-01-02_10-44-54AM/jre/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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