ITPub博客

首页 > 数据库 > Oracle > 终于成功安装oracle9i了(Cent OS 4.0+oracle9204)

终于成功安装oracle9i了(Cent OS 4.0+oracle9204)

原创 Oracle 作者:lifewise 时间:2007-10-11 10:01:11 0 删除 编辑
2007-07-19 16:47

本来没想过要做这个总结的,但就安装个数据库来说,在linux下安装oracle简直就是折磨人,它不难,但就是要很细心(=繁琐):

[@more@]
2007-07-19 16:47

本来没想过要做这个总结的,但就安装个数据库来说,在linux下安装oracle简直就是折磨人,它不难,但就是要很细心(=繁琐):

操作系统:Cent OS-4ISOs(相当于RedHat Enterprise linux 4.0)

oracle:ship_9204_linux_disk1.cpio.gz ,

ship_9204_linux_disk2.cpio.gz ,

ship_9204_linux_disk3.cpio.gz

一)安装前的准备

1,我安装Cent OS的时候是把软件包全部安装的,这样省了不少麻烦。若不是,查看以下软件包是否都安装了

compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
compat-oracle-rhel4-1.0-3
compat-libcwait-2.0-1
compat-libgcc-296-2.96-132.7.2
compat-libstdc++-296-2.96-132.7.2
compat-libstdc++-33-3.2.3-47.3
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
gnome-libs-1.4.1.2.90-44
gnome-libs-devel-1.4.1.2.90-44
libaio-devel-0.3.102-1
libaio-0.3.102-1
make-3.80-5
openmotif21-2.1.30-11
xorg-x11-deprecated-libs-devel-6.8.1-23.EL
xorg-x11-deprecated-libs-6.8.1-23.EL

查看命令是#rpm -qa | grep compat(软件包的头几个字母)

若发现没有的软件包就在系统安装光盘或iso中找,找到了就用#rpm -ivh compat-db-4.1.25-9(软件包名)来安装

2,安装补丁包(我都是在itpub上下载的)

p4198954_21_linux.zip http://www.itpub.net/attachment.php?attachmentid=320139&postid=4892313

#unzip p4198954_21_linux.zip 解压后是两个rpm软件包

#rpm -Uvh compat*.rpm

3,创建oracle用户及其目录

创建user/group
#groupadd dba
#groupadd oinstall
#useradd oracle -g oinstall -G dba
#passwd oracle
回车后输入密码
建立oracle安装文件夹
#mkdir /orasetup 把上面三个安装源文件放到此文件夹/orasetup
# mkdir /u01/cwdata

# mkdir -p /u01/app/oracle/product/9.2.0.4
# chmod 777 /u01/cwdata
# chown oracle.dba /u01/cwdata
# chown oracle.dba /orasetup
# chmod 777 /orasetup
# chown -R oracle.dba /u01
# chmod -R 777 /u01

4,配置环境变量

以root用户登录,#vi .bash_profile文件,将如下内容加入:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
以Oracle用户登录,#su – oracle
$vi .bash_profile
将如下内容加入:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG=”American_america.zhs16gbk”
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export DISPLAY=:0(我用了这个还是不行,最后还是要把它注释掉,解决方法看下文)
export LANG=en_US
export GDM_LANG= en_US
export LC= en_US
export PATH=$PATH:$ORACLE_HOME/bin
unset USERNAME

5,设置系统参数

#su – root切换到root用户
a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容(其中红色字体为添加的内容):
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
kernel.shmmax = 536870912 / 268435456
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
修改后运行#sysctl –p命令使得内核改变立即生效;
译者注:一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。)
建议永久地增加 shmmax 设置。
sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).Shmmax 最大共享内存,官方文档建议是内存的1/2,Shmmni 最小共享内存 4096KB.Shmall 所有内存大小


B) 设置oracle对文件的要求:
编辑文件:#vi /etc/security/limits.conf 加入以下语句:
oracle    soft    nofile    65536
oracle    hard    nofile   65536
oracle    soft    nproc    16384
oracle    hard    nproc    16384

C) gcc降级
#su – root
#mv /usr/bin/gcc /usr/bin/gcc34
#ln –s /usr/bin/gcc32 /usr/bin/gcc
#mv /usr/bin/g++ /usr/bin/g++34
#ln –s /usr/bin/g++32 /usr/bin/g++

二)开始安装

以oracle用户解压

#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

自动创建了3个包含安装文件的目录:
Disk1,Disk2,Disk3

#cd Disk1

#./runInstaller

问题一:如果此时出现Unable to load native library:/tmp/OraInstall

解决一:是因为没有安装上文准备工作中的补丁包

问题二:如果安装补丁包后运行runInstaller出现Xlib:connection to ":0.0" refused by server Xlib:No proto specified

解决二:以root用户身份运行#xhost local:oracle

问题三:如果安装界面出现类似“口口”这样的乱码

解决三:在oracle用户时$export LC_ALL=c

UNIX Group Name: dba 在安装过程中还要以root身份运行两个脚本,按提示做就行了,最后显示End of Installation....就OK了

三)安装oracle后,要启动Agent服务时打的补丁

1,p3238244_9204_LINUX.zip http://www.itpub.net/attachment.php?attachmentid=76512&postid=1578299
2,p2617419_10102_GENERIC.zip http://www.itpub.net/attachment.php?attachmentid=426738&postid=7847721

#unzip p2617419_10102_GENERIC.zip
Archive: p2617419_10102_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
#export PATH=$PATH:/orasetup/OPatch:/sbin
(修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)
# unzip p3238244_9204_LINUX.zip
# cd 3238244
# opatch apply

如果提示HOME变量错误可执行语句:
#export ORACLE_BASE=/u01/app/oracle
#export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4

出现success的提示就全部安装成功.

补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口
$cd $ORACLE_HOME/network/lib
$make –f ins_oemagent.mk install

之后就可以启动Agent服务了.

四)创建oracle数据库

#dbca

问题四:如果出现java.lang.NoClassDefFound

解决四:注释掉.bash_profile中的export DISPALY="IP:0.0",然后还是以root用户执行 #xhost local:oracle

Global Database Name要与ORACLE_SID一样

最后要设置SYS和SYSTEM的密码,走到这一步才算建立了数据库。以下步骤可验证数据库是否安装成功

[oracle@oracle oracle]$ lsnrctl start
[oracle@oracle oracle]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Sat Mar 12 22:58:53 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL>connect / as sysdba
Connected.
SQL>shutdown 关闭数据库
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>startup 启动数据库
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.

数据库创建完成后,修改/etc/oratab,把最后一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件:
cp /u01/app/oracle/admin/oradb/pfile/init.ora.* /u01/app/oracle/product/9.2.0/dbs/initoradb.ora
重新执行dbstart就可以了。

五)安装windows的oracle客户端

在oracle网站下载的92010NT_CLT,当然,要注册了才能下载,然后像安装一般程序那样安装就可以了

问题五:安装92010NT_CLT出现“加载数据库时出错area Queries ”

解决五:安装时出现了任何中文目录都是不行的

安装完后就进入开始-所有程序-Oracle oraHome92-Configuation安定migration Tools -Net configuation assistant 进入配置界面

选择 本地Net服务名配置-添加-或更高版本-服务名写上我们的ORACLE_SID-TCP-主机名写上CentOS系统的IP地址-是,进行测试-如果显示连接成功就是你可以访问之前我们建立的数据库了,当然也是在开了lsnrctl的服务情况下数据库才能被访问。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/620862/viewspace-975782/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-07

  • 博文量
    52
  • 访问量
    488416