专栏首页python3oracle9i for linux A

oracle9i for linux A

oracle9i for linux A3安装指南

by tangyi

警告:如果修改unix 参数文件或者oracle 参数文件,切忌备份并且确认后才能修改,否则可能发生无法挽回的错误。

准备:

1、安装vmware tools

点vmware 工具菜单下的install vmware tools

然后mount /dev/cdrom /mnt/cdrom

cd /mnt/cdrom

cp VM*.gz /tmp

unzip VM*.gz

如果是.tar,需要tar xvf *.tar

cd vm*

./*.pl

2、开起telnet 服务

安装telnet –server 包,在cd3上

把CD3放入VMWARE光驱

mount /dev/cdrom /mnt/cdrom

cd /mnt/cdrom

rpm –ivh telnet-server*.rpm

ntsysv

将telnet前面打上星号确定

service xinetd restart

3、开起xmanager服务

我们在Linux系统下,修改/etc/X11/xdm/Xaccess文件,找到下面的语句:# * #any host can get a login window 去掉最前面的#号

修改/etc/X11/gdm/gdm.conf文件,找到下面的语句:[xdmcp] 将其中的Enable=false 改为Enable=true 或 Enable=1。同时我们要确保存在下面的语句,因为177端口是我们要配置的xdmcp服务的监听端口,我们在后面配置xmanager将看到。

修改/etc/inittab文件,将下面的语句 改为如下,如果原来就是id:5:initdefault:就不用更改。

修改/etc/X11/xdm/xdm-config的最后一行,在displayManager.requestPort:0前面加上一个!号,结果如下第五步,我们修改确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755,在RedHat 9.0中,我们可以看到这两个文件默认的属性就是444和775,因此不用修改。

正式安装

一、oracle9i 安装盘和oracle9i 补丁

ship_9204_linux_disk1.cpio p3006854_9204_LINUX.zip

ship_9204_linux_disk2.cpio p2617419_210_GENERIC.zip

ship_9204_linux_disk3.cpio p3238244_9204_LINUX.zip

二、安装步骤

1、以根用户登录系统,添加安装过程中需要用到的用户和组

#groupadd oracle

#useradd –g oracle oracle

#passwd oracle

2、以根用户登录系统,调节共享内存

# echo 300000000 > /proc/sys/kernel/shmmax

当然为了一开机系统就能自动帮你设好这些参数,也可改动 /etc/sysctl.conf 这个文件,加入以下的语句:kernel.shmmax = 300000000

注意:如果你的共享内存不够大的话,在安装的过程中会提示ORA-27123错误,到时候你只要把/proc/sys/kernel/shmmax的值调大就可以了

3:以root用户在根目录底下创建oracle 并且赋予oracle用户该目录的权限

# cd /

# mkdir -p /oracle/product/9.2

# chown -R oracle oracle

4:以oracle用户登录系统,设置oracle的环境

$vi .bash_profile (加入如下几行)

export LD_ASSUME_KERNEL=2.4.1

export ORACLE_BASE=/oracle

export ORACLE_HOME=/oracle/product/9.2

export ORACLE_SID=linuxgis

export PATH=$ORACLE_HOME/bin:$PATH

export PATH=$PATH:$ORACLE_HOME/bin

5、以root用户登录系统,安装p3006854_9204_LINUX.zip这个补丁,此补丁如果不装,那么runInstaller将不会启动。

$su – root

#unzip p3006854_9204_LINUX.zip

(等解压完成会在当前目录下生成一个补丁目录3006854)

#cd 3006854

#sh rhel_pre_install.sh

6.检查是否安装以下包

#su - root

#rpm -qa|grep compat

compat-db-4.0.14-5.i386

compat-gcc-7.3-2.96.122.i386

compat-gcc-c++-7.3-2.96.122.i386

compat-libstdc++-7.3-2.96.122.i386

compat-libstdc++-devel-7.3-2.96.122.i386

#rpm -qa|grep openmotif21

openmotif21-2.1.30-8.i386

#rpm -qa|grep

setarch setarch-1.3-1.i386

#rpm -qa|grep

tcl tcl-8.3.5-92.i386

备注:如果蓝色字体的包安装不成功,需要到redhat下的添加包,将所有开发包全部安装后在安装蓝色的包,一般在cd3上

上面显示的内容是在笔者已经安装了具体的RPM包之后的结果。它们对应的软件包是

compat-db-4.0.14-5.i386.rpm

compat-gcc-7.3-2.96.122.i386.rpm

compat-gcc-c++-7.3-2.96.122.i386.rpm

compat-libstdc++-7.3-2.96.122.i386.rpm

compat-libstdc++-devel-7.3-2.96.122.i386.rpm

openmotif21-2.1.30-8.i386.rpm

setarch-1.3-1.i386.rpm t

tcl-8.3.5-92.i386.rpm

安装方法,将CD3放入VMWARE光驱

mount /dev/cdrom /mnt/cdrom

cd /mnt/cdrom

cd /RedHat/RPM

rpm -ivh 包名

一般情况下,你的系统上的输出结果和这个不同。如果个别包没有安装,把系统安装光盘mount上,找到具体的软件包(大多数在第三张光盘上),然后利用如下的命令来安装相应的包: # rpm -ivh compat.....rpm 因为我没有把RHAS3刻录到光盘,所以我用下面的命令来挂载iso文件

mount -o loop /mnt/e/rhas3/rhel-3-i386-as-disc3.iso /mnt/cdrom

要额外注意的是,这些软件包之间是有依赖性的,先后的顺序要找好。否则会报告不能安装的错误。在安装软件包的时候,如果出现软件包的依赖性,就先安装有有依赖的包。我相信大家会看明白软件包之间的依赖性的。还需要将gcc、g++更换为2.96的版本. 方法如下:

#su - root

mv /usr/bin/gcc /usr/bin/gcc323

ln -s /usr/bin/gcc296 /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g++323

# if g++ doesn't exist, then gcc-c++ was not installed(这里是注释哦)

ln -s /usr/bin/g++296 /usr/bin/g++

7、开始安装

Oracle 安装

安装oracle必须得在图形界面进行安装,而且必须是以oracle用户

cpio -idmv <ship_9204_linux_disk1.cpio

cpio -idmv <ship_9204_linux_disk2.cpio

cpio -idmv <ship_9204_linux_disk3.cpio

这样的命令来生成三个目录

进入Disk1目录,

$cd Disk1

$./runInstaller

如果显示cannot connect to X11 window的话,必须切换到root用户,键入

[oracle] su – (切换到root用户)

[root] xhost +

显示 access control disabled,clients can connect from any host表示显示正确

然后再切换到oracle用户, 进入Disk1目录

[Disk1]./runInstaller

[Disk1]./runInstaller

此时打开oracle的欢迎界面将出现乱码,解决方法如下:

(1)、结束安装过程

(2)、改变局部变量,以oracle用户键入如下:

[oracle]export LC_ALL=en

[oracle]export LANG=en

[oracle]export LANGUAGE=en

[oracle]export (此时查看LC_ALL,LANG,LANGAGE都变为en值)

如想改变整个的全局变量时,以oracle用户键入:

[oracle] vi /etc/profile

在编辑界面写入:

export LC_ALL=en

export LANG=en

export LANGUAGE=en

:wq后保存退出

[oracle]export (此时查看LC_ALL,LANG,LANGAGE都变为en值)

安装过程中的注意事项:

系统会提示你输入UNIX GROUP NAME ,即我们刚才建立的oracle用户组。(#groupadd oracle)

提示运行orainstRoot.sh脚本,在root终端下执行: #sh /tmp/orainstRoot.sh 然后继续

提示支行root.sh脚本,在root终端下执行:#sh /home/oracle/product/9.2/root.sh 然后继续

安装过程中会提示Agent Configuration Assistant 工具未链接成功,等软件安装完以后要再安装p2617419_210_GENERIC.zip和p3238244_9204_LINUX.zip这两个补丁

8、安装p2617419_210_GENERIC.zip和p3238244_9204_LINUX.zip这两个补丁

其中,p2617419_210_GENERIC.zip相当于一个补丁管理工具,只有先安装这个工具才能安装其它的补丁。

$unzip p2617419_210_GENERIC.zip (等解压完成会在当前目录下生成一个补丁目录OPatch)

$unzip p3238244_9204_LINUX.zip (等解压完成会在当前目录下生成一个补丁目录3238244)

$cd ~ (回到oracle 用户的主目录)

$vi .bash_profile (在此用户的配置文件的最后一行加上下面这一句)

export PATH=$PATH:/setup/OPatch:/sbin 即把p2617419_210_GENERIC.zip补丁解压出来的OPatch目录的路径和/sbin路径都加上去。

$cd opatch (回到补丁目录3238244下面)

$./opatch apply

8、重新链接Agent Configuration Assistant 工具,并启动它

$cd $ORACLE_HOME/network/lib

$make -f ins_oemagent.mk install

$$ORACLE_HOME/bin/agentctl start

9、使用dbca创建数据库

我安装的时候报错了。

/oracle/product/9.2.0.4/bin/dbca: line 124: 2542 Killed

$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

大致是因为9204的默认1.1.8JRE有问题,需要修改,方法如下:

到 $ORACLE_BASE/jre 目录下,发现oracle 自己已经有1.3.1版的JRE

ls $ORACLE_BASE/jre

1.1.8/ 1.3.1/

只要使用1.3.1 的JRE就可以了。通过察看dbac 的script , 我的修改方法如下(使用oracle帐号):

1. rm $ORACLE_HOME/JRE (此JRE目录是1.1.8 的符号链接)

2. ln -s $ORACLE_BASE/jre/1.3.1 $ORACLE_HOME/JRE

3. cd $ORACLE_BASE/jre/1.3.1/bin

4. ln -s $ORACLE_BASE/jre/1.3.1/bin/.java_wrapper JRE

(或者: ln -s java jre)

5. cd i386/native_threads

6. ln -s java jre

这时,从commandline 启动dbca, 就可以解决上面的问题。

数据库建立成功后的截图

修改/etc/oratab文件

将orcl:/oracle/product/9.2:N

改为orcl:/oracle/product/9.2:Y

这样可以开机时自动启动数据库

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 连接 Oracle数据库

    [root@oracle ~]# cat /etc/redhat-release 

    用户2398817
  • 【Python之旅】第六篇(三):Pyt

        学习Python的多线程(Multi-threading),至少应该要有进程与线程的基本概念,可以看我转载的一篇文章:《进程与线程的一个简单解释》。

    用户2398817
  • Python线程之threading

    线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。进程是资源分配的最小单位,线程...

    用户2398817
  • Oracle Database 12c Release 2安装详解

    第1章 Oracle Database 12c Release 2安装详解 1.1 下载方法 oracle官网https://www.oracle.com 1)...

    惨绿少年
  • 基于web技术的操作系统安装器的设计

    ? 什么是基于web技术的安装器(web-based installer)? 传统的Linux操作系统安装需要启动一个LiveOS,然后在LiveOS中运行一...

    用户1214695
  • Office 365 离线安装

              有个O365 的project需要安装Office365 Office,但是客户机不能连接网络,so要实现离线安装了。之前一直安装都是提示安...

    月缺
  • Python多线程编程基础3:创建线程与调用函数的区别

    在上一节Python多线程编程基础2:如何创建线程中,我们已经知道,创建线程并运行实际上也是执行一段代码,那么把这些代码封装到函数中之后,直接调用函数和创建线程...

    Python小屋屋主
  • PbootCMS 配置留言发送到 QQ 邮箱教程

    2、下拉找到 SMTP 服务设置,我们是发信,所以第一个和第二个都可以,两个都带有 SMTP 服务,我们选择第一个点击开启

    Savalone
  • 我见过的最糟糕的程序代码

    原文出处: jacquesmattheij 译文出处:外刊IT评论 大多数的客户项目在任务完成之后都会很快的从记忆里消退,但有些,你一辈子都不会忘记。我要说...

    wangxl
  • python 解析url路径

    原理:使用urlparse,先解析整个url,然后使用split('/')方式构造为词典,下面就可以直接读取

    用户2398817

扫码关注云+社区

领取腾讯云代金券