Oracle 9i 在 Red Hat 7.1 和 7.2 上的安设

   来源:网海拾贝




本文是我在 Red Hat 7.1 (内核版本:2.4.2-2 )和 7.2(内核版本:2.4.7-10) 上安设 Oracle 9i (9.0.1) 数据库的总结,假如需求更多的信息请参考 Oracle 的文档: Oracle9i Database Documentation for Linux。



需求声明');的是, 7.1 曾经获得了 9i 和 9iAS 的验证,可以参考: " Red Hat Announces Validation Of Red Hat Linux For Oracle",但是截止到 2001年年末,7.2 的验证照旧没有经过议定。

下载 9i 并刻录 CD

Oracle9i for Linux 可以从上面的站点下载:

http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.htm

Oracle 并不提供这些文件的校验和,上面是我产生的校验和:

 $ md5sum Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz

f1a99eb8c8aca1d69a9eeaa8858570d7 Linux9i_Disk1.cpio.gz

f2444c0fa53c898e7d2f78c184829d7d Linux9i_Disk2.cpio.gz

ec655402d8bc547ed031f14122da574b Linux9i_Disk3.cpio.gz



解开膨胀文件:

gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz

解开打包文件:

cpio -idmv < Linux9i_Disk1.cpio

cpio -idmv < Linux9i_Disk2.cpio

cpio -idmv < Linux9i_Disk3.cpio

可以获得三个安设文件的目次:

Disk1

Disk2

Disk3

我用外置 USB 的 HP-8230e 刻录机,烧出这三张光盘(并非必须的步骤):

mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=4 -

mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=4 -

mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=4 -

(配备号可以经过议定实行 cdrecord -scanbus 获得)。



交换空间

Oracle 举荐的交换空间巨细为物理内存的两倍或许起码 512MB,给与两者之中大的阿谁值。我创议操纵更多的交换空间,特殊是你有其他的顺序运转在 Oracle 处事器上时,我的 PC 有 256MB 内存,我操纵了 600MB 的交换空间。假如在安设 Oracle 时没有充足的交换空间,特殊是在建库时,将会招致琐屑几分钟没有任何反应。

搜查交换空间:

cat /proc/swaps

添加交换空间:

dd if=/dev/zero of=tmpswap bs=1k count=300000

chmod 600 tmpswap

mkswap tmpswap

swapon tmpswap

"binutils" RPM 版本的后果

7.1 和 7.2 随带的 binutils RPM 包使 9i 的 Universial Installer 不克不及跑起来,也没有更新的版本性处理这个后果,你可以有两个选择:

下载上面版本的 RPM 包,“晋级” Oracle 处事器上的 binutil :

ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm

安设:

rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm

安设完 Oracle 后,别忘了把 binutil 进级回去。

别的一个简略的措施时在安设中等待泛起上面的错误,然先手工修复:

"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"

请参考 Running Oracle Installation 以及 Oracle Installation Errors ,我举荐操纵第二种措施。

安设 JDK

下载 JDK 1.3.1 或许 Blackdown 1.1.8_v3(我老是操纵 Blackdown ,这是 Oracle 从前举荐给 Linux 用户的)。

遵照 JDK 的文档,把 JDK 安设在 /usr/local 目次下并树立 JDK 的标识表记标帜毗邻到 /usr/local/java:

bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local ln -s /usr/local/jdk118_v3 /usr/local/java

树立 Oracle 用户

groupadd dba

groupadd oinstall

useradd -g oinstall -G dba oracle

passwd oracle

树立 Oracle 目次

mkdir /opt/oracle

mkdir /opt/oracle/product

mkdir /opt/oracle/product/9.0.1

chown -R oracle.oinstall /opt/oracle

mkdir /var/opt/oracle

chown oracle.dba /var/opt/oracle

chmod 755 /var/opt/oracle

设置 Oracle 环境

以 Oracle 用户进入,树立  $HOME/.bash_profile:

# Oracle Environment

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/product/9.0.1

export ORACLE_SID=test

export ORACLE_TERM=xterm

#export TNS_ADMIN= 设置这个变量,假如 sqlnet.ora, tnsnames.ora等不在 $ORACLE_HOME/network/admin 目次下。

export NLS_LANG=AMERICAN;

export ORA_NLS33= $ORACLE_HOME/ocommon/nls/admin/data

LD_LIBRARY_PATH= $ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib

LD_LIBRARY_PATH= $LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib

export LD_LIBRARY_PATH

# Set shell search paths:

PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin

PATH= $PATH:/opt/local/bin:/opt/NSCPnav/bin: $ORACLE_HOME/bin

PATH= $PATH:/usr/local/samba/bin:/usr/ucb:

export PATH

# >
>
>

启动 runInstaller

Oracle 不再支持字符形式的安设,因而必须设置 DISPLAY 变量,假定节点名为 oracleserver,那么 oracleserver 必须应允 runInstaller 体现 X 信息。假如你不在远程安设数据库,可以跳过上面的第一和第二步。

第一步:yourdesktop:user $ xhost oracleserver

第二步:从 oracleserver 的控制台上以 Oracle 用户实行:

oracleserver:oracle $ export DISPLAY=yourdesktop:0.0

第三步a:从第一张 CD ,实行 runInstaller (不要 cd 到 /mnt/cdrom !)

oracleserver:oracle $ mount /mnt/cdrom

oracleserver:oracle $ /mnt/cdrom/runInstaller

第三步b:或许从下载点:

oracleserver:oracle $ Disk1/RunInstaller



运转 Oracle 安设

上面是我回答 runInstaller 的后果: What would you like as the base directory (Inventory Location): /opt/oracle/oraInventory

UNIX Group Name (permission for updating Oracle software): oinstall

Full path name of the Oracle Home: /opt/oracle/product/9.0.1

JDK Home Directory: /usr/local/java

注重:

假如没有“晋级” binutils 包的话,安设到第三张 CD 时,你会看到上面的错误:

"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"

处理的措施请看后背的“Oracle 安设错误”。

你大约还会碰到 "Oracle Net Configuration Assistant" 挂起的后果,请参考后背的”Oracle 安设中首要的才具和提示“。

启动 Oracle 9i 数据库

9i 中曾经没有 svrmgrl 了,一切的经管任务都听过 sqlplus 来完成:

dba $ sqlplus /nolog

SQL> connect / as sysdba

SQL> startup


Oracle 安设中首要的才具和提示



假如碰到 gunzip 出错,搜查文件的校验和:

 $ md5sum Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz

f1a99eb8c8aca1d69a9eeaa8858570d7 Linux9i_Disk1.cpio.gz

f2444c0fa53c898e7d2f78c184829d7d Linux9i_Disk2.cpio.gz

ec655402d8bc547ed031f14122da574b Linux9i_Disk3.cpio.gz

不要 cd 到 /mnt/cdrom 实行 ./runInstaller !

不然你将不克不及在安设时弹出 CD,因为 unmount 不克不及把挂接着的 CD 卸上去。

(译者注:我安设 9iAS 碰到的便是多么的后果啊!害得我把 CD 复制到硬盘再安设)。

假如忘失了设置 DISPLAY 环境变量或许忘失授予数据库处事器在桌面 PC 上体现 X 信息的权限(譬喻: xhost oracleserver),将获得上面的错误:

Xlib: connection to ":0.0" refused by server

Xlib: Client is not authorized to connect to Server

处理的措施是:rm -rf /tmp/OraInstall

假如不多么做,安设顺序将挂在那处,没有任何错误信息。同时也要搜查 runInstaller 可否在后台中断了运转。

当 runInstaller 起头设置对象时,"Oracle Net Configuration Assistant" 会挂起,简略的处理措施是中断其设置,从头设置或许一连安设,当其他安设终了后,再来一次“Retry"。

假如在安设中琐屑中断了反应,大约便是没有充足的交换空间了。假如迸发多么的事变,只能等待到琐屑反应为止。

Oracle 的安设还需求运转 make 等顺序,在临盆环境中,你或许没有安设编译器和其他开发对象,所以,需求且则安设上面的几个包:

cpp, egcs, egcs-c , glibc-devel, kernel-headers 。

假如不克不及成功安设 9i 而需求重来的话,需求清除上面的文件和目次:

rm -rf /etc/oraInst.loc /etc/oratab /tmp/OraInstall

rm -rf  $ORACLE_BASE/*

/tmp/



Oracle 安设错误

上面是他人关于 Oracle 安设时碰到的后果息争决的措施,我并没有碰到其中的大多半后果,因而不克不及确定这些解答可否准确,假如你有好的处理措施或许其他后果,可以写信给我,我将会加入到这个文件中。



起首搜查/tmp/OraInstall 中的错误日志,假如碰到 make 的错误,搜查:  $ORACLE_HOME/install/make.log 。

"Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"

"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"

"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client"

"Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-oemagent"

编辑  $ORACLE_HOME/bin/genclntsh 把

LD_SELF_CONTAINED="-z defs"

改成:

LD_SELF_CONTAINED=""

然后运转脚本: $ORACLE_HOME/bin/genclntsh:

 $  $ORACLE_HOME/bin/genclntsh

Created /opt/oracle/product/9.0.1/lib/libclntst9.a

 $

在错误对话框中点击 重试。

"Error in setting permissions of file/directory /opt/oracle/jre/1.1.8/bin/i686/native_threads/.extract_args.

当错误框掀开时,手工找到并从安设 jre 的目次下拷贝文件 .extract_args 到 runInstaller 提示文件丧失的中央。

Oracle 的链接

在我的主页上有一些 Oracle 的 Linux 毗邻。我只是涵盖和 Linux 相关的 Oracle 后果,没有触及到具体的 Oracle 设置后果。您可以经过议定 电子邮件和我联络。




版权声明: 原创作品,应允转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。不然将追究法律责任。

posted @ 2011-03-07 21:34  蓝色的天空III  阅读(160)  评论(0编辑  收藏  举报