LinuxSir.cn,穿越时空的Linuxsir!

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

发一篇Fedora Core 3上安装oracle9i(9.2.0.4)的文章(原创)

[复制链接]
发表于 2005-1-24 13:22:50 | 显示全部楼层 |阅读模式
..........
 楼主| 发表于 2005-1-24 13:23:03 | 显示全部楼层

发一篇Fedora Core 3上安装oracle9i(9.2.0.4)的文章(原创)

Install Oracle9i(9.2.0.4) on Fedora Core 3
I.  Prepare the files
  1. Download ship_9204_linux_disk1.cpio.gz, ship_9204_linux_disk2.cpio.gz ship_9204_linux_disk3.cpio.gz from www.oracle.com to your local disks.Unzip them all.
  gunzip ship_9204_linux_disk1.cpio.gz  
gunzip ship_9204_linux_disk2.cpio.gz  
gunzip ship_9204_linux_disk3.cpio.gz

cpio -idmv < ship_9204_linux_disk1.cpio  
cpio -idmv < ship_9204_linux_disk2.cpio  
cpio -idmv < ship_9204_linux_disk3.cpio  

there will be three new sub-directories named Disk1,Disk2,Disk3 in the directory.
  2. Copy compat-gcc-7.3-2.96.128.i386.rpm, compat-gcc-c++-7.3-2.96.128.i386.rpm, compat-libstdc++-7.3-2.96.128.i386.rpm, compat-libstdc++-devel-7.3-2.96.128.i386.rpm from Red Hat EL AS3 installation CDs to a temporary directory.
  3.  Make a script file named rhel3_pre_install.sh with the following content:

#!/bin/bash

USER=`whoami`
if [ $USER != root ]; then
  echo "Must be root to run this script, please login as root and re-try"
  exit
fi

# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
  echo "atch has already been applied"
  exit
else
  echo "Applying patch..."
fi

cat << EOF |
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
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;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
echo "/etc/libcwait.so" >>/etc/ld.so.preload

echo "atch successfully applied"

Change the file property to executable. Open a terminal, do it as ‘root’ user.
sh rhel3_pre_install.sh


II.  Prepare the system
  1.  Check if the following rpms have been installed.
    rpm –qa | grep compat-db
    rpm –qa | grep openmotif
    rpm –qa | grep setarch
    make sure they are installed exactly.
  2.  Install the four rpms copy out from RHEL AS3.Do the following command in the directory which contains them.
    rpm –Uvh com*rpm --force
check them by rpm –qa | grep compat
make sure they are installed exactly.

3.  Change the gcc to oracle required
    mv /usr/bin/gcc /usr/bin/gcc34
mv /usr/bin/g++ /usr/bin/g++34
ln -s /usr/bin/gcc296 /usr/bin/gcc
ln -s /usr/bin/g++296 /usr/bin/g++

  4.  Modify /etc/sysctl.conf, add the following content:
   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
If you have more then 2G ram, you can set kernel.shmmax = 2147483648
5.  Modify /etc/security/limits.conf, add the following content:
          oracle    soft    nofile    65536  
          oracle    hard    nofile   65536  
          oracle    soft    nproc    16384  
          oracle    hard    nproc    16384  
  then, restart the computer.
III.  Prepare the user and the directories
  1.  Add user and groups
    groupadd oinstall
groupadd dba   
useradd -g oinstall -G dba oracle  
passwd oracle
  2.  Make directories
    mkdir -p /opt/ora9/product/9.2
    mkdir /var/opt/oracle
chown  oracle.dba /var/opt/oracle
chown -R oracle.oinstall /opt/ora9
chmod 755 /var/opt/oracle
  3.  Change X unlimited to anyone
   xhost +
  4.  set the ‘root’ user’s environment
    export ORACLE_BASE=/opt/ora9
    export ORACLE_HOME=/opt/ora9/product/9.2
  5. open a new terminal
    su – oracle
    modify the .bashrc, add the following content:
    #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=ora9
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
# change this NLS settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
export LANG=en_US
export LC=en_US

then refresh the environment: source .bashrc
  check if them take effect. set | more
   
  6.logout and relogin as ‘oracle’.
IV.  Finish the installation.
  Change the current directory to which you download the oracle9i installation files.
     ./Disk1/runInstaller
Good luck!
=====================================================

msn:juw@371.net
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-24 14:09:12 | 显示全部楼层
可以在http://52asp.kmip.net/Install Oracle9i.doc下载
回复 支持 反对

使用道具 举报

发表于 2005-2-4 11:01:27 | 显示全部楼层
最近,我正要在fc3下安装ora9i,关注中。。。。
回复 支持 反对

使用道具 举报

发表于 2005-3-26 22:20:04 | 显示全部楼层
看到楼主的贴子,
好!
明天就实验,今天太晚了,先顶上去!
回复 支持 反对

使用道具 举报

发表于 2005-3-29 23:24:19 | 显示全部楼层
给楼主的帖子提几点意见:

compat-gcc-7.3-2.96.128.i386.rpm一定要用这个2.96的版本,fc3自带的版本不行。
在fc3中,只要这个需要另外系统的,其他的可以使用fc3自带的rmp包。
第二个,compat-db包一定要安装fc3的版本,不然apache服务就启动不了,提示找不到libdb.so.2
回复 支持 反对

使用道具 举报

发表于 2005-3-31 09:35:38 | 显示全部楼层
有教育网内的ftp下载站吗?(我们学校只对教育网内的ftp站点免费)
回复 支持 反对

使用道具 举报

发表于 2005-3-31 10:51:48 | 显示全部楼层
我执行了楼主提供的shell脚本为什么总是提示我"rhel3_pre_install.sh: line 39: syntax error: unexpected end of file"那?我是菜鸟 对脚本不懂.
#!/bin/bash

USER=`whoami`
if [ $USER != root ]; then
echo "Must be root to run this script, please login as root and re-try"
exit
fi

# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
echo "atch has already been applied"
exit
else
echo "Applying patch..."
fi

cat << EOF |
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
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;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
echo "/etc/libcwait.so" >>/etc/ld.so.preload

echo "atch successfully applied"
回复 支持 反对

使用道具 举报

发表于 2005-3-31 16:03:36 | 显示全部楼层
其实这个脚本可能写的不对,它实际上是oracle安装时候的一个补丁,到oracle的网站搜索一下把
回复 支持 反对

使用道具 举报

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

本版积分规则

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