Nov 28

[原]在红旗DC 4.1上安装Oracle 9i(9204) 晴

linuxing , 15:04 , 数据库 » Oracle , 评论(0) , 引用(0) , 阅读(22366) , Via 本站原创 | |
 在红旗DC 4.1上安装Oracle 9i是很久以前已经测试过了,刚好碰到有个项目又遇到同样的情况,也就在这里把安装的一些步骤描述一下:
1、准备
 Oracle 9i版本比较多,一般用得最多的是9204版本,其中包括x86、x86_64和IA64等,这里主要以x86来说明。其他的版本可能需要不同的补丁,这部分在最后备注里面再做说明。
 x86版本的Oracle 9i,在安装前需要先安装p3006854_9204_LINUX.zip补丁,或安装红旗DC 4.1 for x86第一张光盘上的oracle9i_support-1.0-2Ax.i386.rpm包。
# rpm -ivh /mnt/cdrom/Asianux/RPMS/oracle9i_support-1.0-2AX.i386.rpm

 除此以外,x86的版本还需要把gcc版本降低:
# chgcc.sh -v 296

 恢复gcc版本,使用:
# chgcc.sh -v 323

 一般Oracle数据库都和HA或负载均衡软件结合在一起,所以,我把数据库建立在独立的共享分区上

# fdisk /dev/sdb
n --建立新的分区
p --建立主分区
1 --建立第一个主分区
w --更新分区表
# mkfs.ext3 /dev/sdb1
# mkdir /oradata
# chown -R oracle:oinstall /oradata
# mount /dev/sdb1 /oradata


2、运行Oracle Navigator
 红旗DC 4.1已经包含了一个非常方便的配置工具oranavi,我们可以不需要手动的为Oracle配置环境变量,而直接利用他为我们配置妥当。
 运行oranavi应该使用root用户,而不是oracle用户。另外,安装oracle 是以oracle用户的身份进行的,所以,我们需要运行下面的命令:
#xhost +

 xhost 是用来控制X server访问权限的,这样做是为了让oracle用户能够访问Xserver。
 
启动Oralce Navigator
# oranavi


选择“安装Oracle数据库”
点击在新窗口中浏览此图片

我使用的是光盘安装,选择光盘,如果你使用的下载版本,需要先解压,然后选择硬盘目录。见附录
点击在新窗口中浏览此图片

确认安装的版本
点击在新窗口中浏览此图片

输入Oracle的安装组、管理组和用户名(默认即可)
点击在新窗口中浏览此图片

输入Oracle安装用户的密码和用户主目录
点击在新窗口中浏览此图片

设置Oracle的环境变量,特别留意SID值(非常重要)
点击在新窗口中浏览此图片

为方便Apache连接到Oracle,为Apache添加连接
点击在新窗口中浏览此图片

点击确认,正式开始安装
点击在新窗口中浏览此图片

3、正式开始安装
 因为Oracle的安装程序对中文支持不好,我们建议使用英文的安装方式进行:
点击在新窗口中浏览此图片

选择存放安装程序的路径
点击在新窗口中浏览此图片

输入安装或升级Oracle使用的用户组(参考上面建立的信息,留空则则只能使用root更新)
点击在新窗口中浏览此图片

下面会提示你切换到另一个窗口下,使用root权限运行一个脚本,然后再切换到当前窗口下继续
点击在新窗口中浏览此图片

# /tmp/orainstRoot.sh
Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /opt/oracle/oraInventory to oinstall.


输入来源路径和安装路径
点击在新窗口中浏览此图片

增加需要支持的语言,点击Product Languages
点击在新窗口中浏览此图片

增加简体中文和繁体中文,确认后,继续安装
点击在新窗口中浏览此图片

选择安装Oracle 9i DataBase 9.2.0.4
点击在新窗口中浏览此图片

选择安装企业版
点击在新窗口中浏览此图片

选择安装为通用数据库
点击在新窗口中浏览此图片

输入初始数据库名称和SID名称
引用
初始SID可以使用环境文件里面已经配置过的
# env|grep -i SID
ORACLE_SID=orcl

点击在新窗口中浏览此图片

输入存放数据库的地方
引用
使用我们在准备安装使用建立的共享分区/oradata

点击在新窗口中浏览此图片

选择默认字符集
点击在新窗口中浏览此图片

重新检查一次是否有缺漏,没有问题的话,按“Install”安装
点击在新窗口中浏览此图片

拷贝数据
点击在新窗口中浏览此图片

拷贝完文件后,还需要使用root管理员运行一个脚本
点击在新窗口中浏览此图片
# /opt/oracle/product/9.2.0/root.sh
Running Oracle9 root.sh script...

The following environment variables are set as:
   ORACLE_OWNER= oracle
   ORACLE_HOME=  /opt/oracle/product/9.2.0

Enter the full pathname of the local bin directory: [/usr/local/bin]:
  Copying dbhome to /usr/local/bin ...
  Copying oraenv to /usr/local/bin ...
  Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Adding entry to /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.


建立数据库
点击在新窗口中浏览此图片

给数据库管理员设置密码
点击在新窗口中浏览此图片

由于9204的程序有点问题,监测到Agent服务的时候会出错
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
引用
可以通过一个p3238244_9204_LINUX.zip补丁,可以解决问题,见后


暂时忽略错误后,即安装完毕,退出安装界面
点击在新窗口中浏览此图片

4、安装补丁
 从上面的安装过程可以看到,Agent服务的启动是有问题的,所以我们必须为他增加一个p3238244_9204_LINUX.zip的补丁。
 首先,我们需要先安装一个补丁的安装工具
#su - oracle
$ cp /home/oracle/p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin

 停止Oracle服务
 安装p3238244_9204_LINUX.zip补丁
$ cp /home/oracle/p3238244_9204_LINUX.zip /tmp
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ opatch apply

 补丁修复完成,需要relinked一个.mk文件。
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install

 到此,整个Oracle 9i 9204数据库已经安装完毕

5、测试
 下面我们为数据库进行必要的简单测试
◎测试数据库启动和关闭
引用
# su - oracle
[oracle@db01 oracle]$ sqlplus "/as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on 星期日 11月 27 19:21:02 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

已连接到空闲例程。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  236000356 bytes
Fixed Size                   451684 bytes
Variable Size             201326592 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

成功!

◎测试lsnrctl服务启动和关闭
引用
[oracle@db01 oracle]$ lsnrctl start

LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 27-11月-2005 19:24:28

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

启动/opt/oracle/product/9.2.0/bin/tnslsnr:请稍候...

TNSLSNR for Linux: Version 9.2.0.4.0 - Production
系统参数文件为/opt/oracle/product/9.2.0/network/admin/listener.ora
写入/opt/oracle/product/9.2.0/network/log/listener.log的日志信息
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db01)(PORT=1521)))

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Linux: Version 9.2.0.4.0 - Production
启动日期                  27-11月-2005 19:24:28
正常运行时间              0 天 0 小时 0 分 0 秒
跟踪级别                  off
安全性                    OFF
SNMP                      OFF
监听器参数文件          /opt/oracle/product/9.2.0/network/admin/listener.ora
监听器日志文件          /opt/oracle/product/9.2.0/network/log/listener.log
监听端点概要...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db01)(PORT=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
 例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
 例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
[oracle@db01 oracle]$ lsnrctl stop

LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 27-11月-2005 19:25:00

Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
命令执行成功

成功!

◎测试Agent服务的启动和关闭
引用
[oracle@db01 oracle]$ agentctl start

DBSNMP for Linux: Version 9.2.0.4.0 - Production on 27-11月-2005 19:26:03

Copyright (c) 2003 Oracle Corporation.  All rights reserved.

正在启动 Oracle Intelligent Agent....
代理已启动
[oracle@db01 oracle]$ agentctl stop

DBSNMP for Linux: Version 9.2.0.4.0 - Production on 27-11月-2005 19:26:39

Copyright (c) 2003 Oracle Corporation.  All rights reserved.

关闭代理

成功!

◎Apache服务的启动和关闭
引用
启动:
cd $ORACLE_HOME/Apache/Apache/bin
$ ./startJServ.sh
$/opt/Oracle/product/9.0.1/Apache/Apache/bin/apachectl start: httpd started
访问http://192.168.228.81:7777/
出现Oracle Web Server的话,表明是正常的。
关闭:
$cd $ORACLE_HOME/Apache/Apache/bin
$./stopJServ.sh
$/opt/Oracle/product/9.0.2/Apache/Apache/bin/apachectl stop: httpd stopped

成功!

到此,安装和测试都完成,Oracle 9i的安装也结束了。

6、附录
◎安装程序显示的都是“方格□”
 这是由于Oracle的安装程序对中文支持不好,我们使用英文的安装方式即可,在安装前运行
#su - oracle
$export LANGUAGE=en_US
$export LANG=en_US

◎如果在使用oranavi工具安装中出现问题,下次该如何继续?
 千万不要多次使用oranavi工具引导Oracle的安装程序,这样会导致Oracle用户下的环境配置混乱,正确的方法是:
#su - oracle
$export LANGUAGE=en_US
$export LANG=en_US
$/mnt/cdrom/runInstall &

也就是直接切换到Oracle用户,直接运行安装程序即可。
◎安装完毕后,不能启动数据库
 Oracle用户的环境变量中ORACLE_SID是否正确,和需要启动的数据库实例是否一致?
引用
[oracle@db01 oracle]$ env|grep -i sid
ORACLE_SID=orcl

◎如何使用dbstart和dbshut直接启动和关闭数据库
 这个我们需要修改/etc/oratab文件,默认是不能使用dbstart和dbshut控制数据库的,但在很多时候,特别是HA控制脚本里面,我们经常会修改它
[oracle@db01 oracle]$ sed -i -e "/$ORACLE_SID/{ s/:N/:Y/ }" /etc/oratab

◎我使用的是下载的文件,都是cpio文件,该如何安装
 通常从Oracle网站下载回来的都是:ship_9204_linux_disk1.cpio.gz、ship_9204_linux_disk2.cpio.gz、ship_9204_linux_disk3.cpio.gz
 我们可以使用
zcat ship_9204_linux_disk1.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk2.cpio.gz|cpio -idmv
zcat ship_9204_linux_disk3.cpio.gz|cpio -idmv

 生成三个文件夹Disk1,Disk2,Disk3,进入安装即可。
 当然,我们也可以把他们刻录为光盘
mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=15 -

 这样就和用光盘安装一样了。

7、错误
Thrown when the IP address of a host cannot be determined.

出现这样的错误,一般有两个原因:一是网卡没有使用固定IP的方式,而使用了DHCP获得;二是在双网卡的环境下,两个网卡配置了同样的网段。
解决的方法:一、给网卡配置一个固定的IP;二、给两个网卡配置不同的IP段,如一个是192.168网段,另一个是10网段,并在/etc/hosts文件中增加ip和机器名的对应,然后重新运行安装程序。
不能启动lsnrctl service

出现这样的错误,通常是由于您使用的Oracle版本太低,需要再安装后增加一个p3119415_9204_LINUX.zip补丁
$ su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin
$ unzip p3119415_9204_LINUX.zip
$ cd 3119415
$ opatch apply

安装完补丁就可以了。
Tags: , , , , ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]