首先,准备安装需要的软件包和补丁包:
所有的补丁说明如下:
p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.
p3119415_9204_LINUX.zip 在升级到 9.2.0 .4.0之后打.
p2617419_210_GENERIC.zip 打3119415补丁所需要的补丁.
1.用rpm -qa│grep compat 查看系统中是否安有以下几个软件包:
compat-libstdc++-7.3-2.96.122
compat-gcc-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-db- 4.0.14 -5
2. rpm -qa │ grep openmotif查看下列软件包
openmotif21- 2.1.30 -8
3. rpm -qa │ grep setarch查看:
setarch-1.3-1
以上文件如果没有的话,在RHEL3的CD3和CD4上有相关的RPM包,使用:
# rpm -i compat...i386.rpm
命令来安装相应的包.
第二,准备安装过程中需要的用户和用户组
在安装的过程中我们使用两个用户同时进行,其中一个是root用户,另外一个是你新建立的oracle用户。
1、打开一个终端,以root用户登录或者是:su - root
2、建立oracle 用户和密码
# groupadd oinstall (在安装oracle时UNIX Group name:oinstall)
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
第三,安装准备步骤.
1、准备文件目录:
# mkdir -p /opt/ora9/product/9.2
# mkdir /var/opt/oracle
# chown oracle.dba /var/opt/oracle
# chown -R oracle.dba /opt/ora9
注:如果提示参数太少,可以在目录属性-权限 直接设置成 oracle 权限 dba
2、设置内核参数,调节信号灯及共享内存:
修改 /etc/sysctl.conf 这个文件,加入以下的语句:
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).
Shmmax 最大共享内存2GB 物理内存如果小的话可以设置成 536870912.
Shmmni 最小共享内存 4096KB.
Shmall 所有内存大小.
设置完成后用命令 more /etc/sysctl.conf |grep kernel.s 检查.
3、设置oracle对文件的要求:
编辑文件:/etc/security/limits.conf 加入以下语句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
4、设置系统环境:
注销系统,使环境变量生效
首先设置root用户这个终端的。
#export ORACLE_BASE=/opt/ora9
#export ORACLE_HOME=/opt/ora9/product/9.2
(Oracle被安装在这些位置)
***这个步骤用来最后打补丁时使用,注意这个终端要保持不要关掉它.***
5.设置oracle用户的环境, 新开一个终端,
su - oracle
***注意一定要新开一个 ***
打开.bash_profile文件,将如下内容加入:
(命令vi $HOME/.bash_profile 编辑用VI使用可查手册 I 进入edit ;w 存盘)
#oracle 9i
export DISPLAY=”192.168.1.13: 0.0” (192.168.1.13本机IP,不能使用127.0.0.1)
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9i (需要建立的数据库全局SID)
export ORACLE_TERM=xterm (xterm窗口模式 vt100 终端调试模式)
export LD_ASSUME_KERNEL= 2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN (设置语言AMERICAN英文)
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
保存后退出.
执行: source .bash_profile
查看 set | more
退出登录,再次进入,使oracle的环境就已经生效.
6、解压文件,安装前打补丁,切换到root用户的控制台:(注:打补丁前执行以下语句)
#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
#ln –s /usr/bin/g++296 /usr/bin/g++
在RedHat Advance Server 3下安装Oracle9i不用将gcc降级,有些文档里说需要将gcc降为2.96,其实是不需要的
第四:开始正式安装
1. 打安装前的补丁
新开一个控制终端(用root用户开)
p3006854_9204_LINUX.zip 补丁安装:(已经将补丁解压到光盘)
用root身份运行,
#unzip p3006854_9204_LINUX.zip – d /home/ora9i
#cd /home/ora9i /3006854
#sh rhe13_pre_install.sh
Applying patch...
Patch successfully applied
2. #xhost +192.168.1.13 (本地IP地址)
(xhost disable访问控制,客户端可以从任何主机进行连接)
这个命令用来保证oracle用户调用X11,否则无法安装
#su - oracle
在登录终端中切换到oracle用户:
在oracle主目录里运行:# /home/ora9i/Disk1/runInstaller
安装过程中的注意事项:
1.在安装中让你输入 UNIX group name:oinstall (#groupadd oinstall)
如果提示orainstRoot.sh 权限问题,在root终端下执行:
#sh ./tmp/orainstRoot.sh 然后继续
2.在安装中选择 software only 不要建数据库
3. 安装过程中提示/opt/ora9/product/9.2 权限问题,可另开窗口修改权限为oracle-dba
在结束的时候还会提示权限问题,另开窗口修改权限为root-root
#chown oracle /opt/ora9/product/9.2
#chgrp dba /opt/ora9/product/9.2
注意的是以下几点:
第一,在部分文档里,要求oracle用户的bash_profile文件中降LD_ASSUME_KERNEL设置为 2.4.19 ,千万不要这样设置,否则会在Rlink时会有一大堆报错
第,安装Oracle不需要额外安装JDK,Oracle自己带
第三,如果有NLS的错误提示,可以#unset LANG命令,把语言默认成英文.
3.开始升级oracle
安装结束后,HTTPD会自动运行.在升级之前,需要将它停下来.
$ cd $ORACLE_HOME/Apache/Apache/bin
$ apachectl stop
./apachectl stop: httpd stopped
LISTENER也需要停下来.
$ lsnrctl stop
LSNRCTL for Linux: Version 9.2.0 .1.0 - Production on 07-NOV-2003 16:25:41
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
The command completed successfully
注意: 如果不停的话,oracle会提示不能覆盖文件.这个时候再去将服务停下来也可以,点Retry就可以了.
开始打补丁升级.
注意打补丁时使用root用户,切换到root用户控制台:
切换到root的终端。注意这个最好是原来那个保持了ORACLE_HOME, ORACLE_BASE的环境变量那个终端:
首先安装 opatch.
# unzip p2617419_210_GENERIC.zip –d /home/ora9i
#export PATH=$PATH:/home/ora9i/OPatch (/home/ora9i/OPatch是解压缩目录)
# unzip p3119415_9204_LINUX.zip
Archive: p3119415_9204_LINUX.zip
creating: 3119415/
inflating: 3119415/README.txt
# cd 3119415
# opatch apply
如果提示HOME变量错误可执行语句:
#export ORACLE_BASE=/opt/ora9
#export ORACLE_HOME=/opt/ora9/product/9.2
出现success的提示就全部安装成功.
#cd /opt/ora9/product/9.2/install/utl
#sh root.sh
否则可能会出现错误提示: /etc/oratab file doesn’t exist
最后切换到oracle终端:
# su - oracle
#dbca (如果有乱码执行:#unset LANG)
建oracle数据库,全局SID是前面定义的SID
(查看安装完成后的检查和测试内容)
可能会出现错误提示: /etc/oratab file doesn’t exist
可执行下面语句:
3. 修改/opt/ora9/product/9.2/network/admin/ tnsnames.ora文件
删除(CONNECT_DATA =下面的内容,
添加(SERVICE_NAME = ora92) (ora92为前面的SID)
否则本机执行#oemapp dbastudio 连接不上数据库
数据库建立完成后挂起oracle
启动oracle监听
$lsnrctl
lsnrctl>status (查状态)
lsnrctl>start
检查oracle服务是否挂起
$ps –ef |grep ora
连接数据库
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup mount
检查是否连接oracle
SQL>select sysdate from dual;
Sp2-0640:Not connected
挂起
SQL>startup
如果出现错误信息:
ORA-01078:failucr in processing system parameters
LRM-00109:could not open parametet file/opt/ora9/product/9.2/dbs/initora9i.or
执行:
#cp /opt/ora9/admin/orcl/pfile/init.ora.613200412101 /opt/ora9/product/9.2/dbs/initora9.ora
安装过程错误信息和解决方法
安装补丁后出现一下错误信息:
error while loading shared libraries: /etc/libcwait.so: cannot open shared object file:
No such file or directory
Linux 系统不能正常启动提示信息:
error while loading shared libraries: /etc/libcwait.so: cannot open shared object file:
No such file or directory
Kernel panic: Attempted to kill inint!
没有正确解决此问题,重新安装Linux系统。
*************************************************************
安装oracle前执行 xhost + 命令,出现提示信息:
access control disablad.clients can connect form any host.
不能正常安装oracle
xhost命令: #xhost +192.168.0.2(本地IP地址)
执行:#unset LANG 将语言默认为英文,可安装oracle,使用简体中文问题未解决。
不能正常安装oracle可尝试执行下面语句:
#su – oracle
$echo $LD_ASSUME_KERNEL
*************************************************************
oracle安装完成,打开终端,在oracle用户下:
#sqlplus
name:#system
pass:#manager
在试图启动数据库的时候 ,Oracle报告下列错误:
ERROR:
ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available
基本解释
Error:ORA-27101
Text:shared memory realm does not exist
Cause:Unable to locate shared memory realm
Action:Verify that the realm is accessible
ORACLE_SID和ORACLE_HOME设置不正确
尝试命令:
查看数据库是否启动: $ps –ef |grep ora
SQL>sqlplus internal
SQL>startup error:insufficient privileges
$sqlplus /nolog
SQL>connect / as sysdba error:ORA-12705:inralid or unknown NLS parameter ralue specified.
SQL>connect
name-pass: system/manager@huiheng as sysdba
error:ORA-12154:INS:could not resdve service name
SQL>startup
ORA-01078:failucr in processing system parameters
LRM-00109:could not open parametet file/opt/ora9/product/9.2/dbs/initora9i.or
执行命令:
$cp /opt/ora9/admin/orcl/pfile/init.ora /opt/ora9/product/9.2/dbs/initora9.ora
SQL>startup
ORA-00209:control file blocksize mismatch,check alert log for more info
最初安装dbca数据库没关,数据建了一半终止,数据不能吻合
错误信息.log文件存放在:/opt/ora9/admin/orcl/create
*************************************************************
# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
注意:如果运行 rhel3_pre_install.sh出现下面的错误
rhel3_pre_install.sh: line 36: gcc: command not found
是因为你忘了安装gcc,同样要是出现下面的错误:
# ls
ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
#
请不要退出bash,用下面的方法来修复(我开始遇到,后来没有遇到了,可能是因为我把gcc降级到了296吧)
# echo "" > /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.
*************************************************************
在安装到 Datebase configuration Assistant 数据库小助手的第3步 Creating and starting oracle instanle 出现错误:/etc/oratab file doesn't exist
#cd /opt/ora9/product/9.2/install/utl
#sh root.sh
自动生成 oratab 文档
*************************************************************
在创建oracle数据时出现一下错误直接忽略
ORA-29807:specified operator does not exist
ORA-01430:clumn being added already exists in table
*************************************************************
export LANG=zh_CN
[erpprod@oracle 9.2.0 ]$ pwd
/home/erpprod/proddb/9.2.0
[erpprod@oracle 9.2.0]$ ll | grep jdk
lrwxrwxrwx 1 erpprod dba 21 7月 2 22:27 jdk -> /usr/local/j2sdk1.3.1
[erpprod@oracle 9.2.0]$ ll /usr/local/j2sdk1.3.1/jre/lib/font.properties
font.properties font.properties.en font.properties.ja font.properties.zh
[erpprod@oracle 9.2.0]$ ll /usr/local/j2sdk1.3.1/jre/lib/font.properties*
lrwxrwxrwx 1 root root 18 6月 30 10:23 /usr/local/j2sdk1.3.1/jre/lib/font.properties -> font.properties.zh
-rw-r--r-- 1 1000 1000 7942 3月 21 2002 /usr/local/j2sdk1.3.1/jre/lib/font.properties.en
-rw-r--r-- 1 1000 1000 11884 3月 21 2002 /usr/local/j2sdk1.3.1/jre/lib/font.properties.ja
-rw-r--r-- 1 1000 1000 8054 3月 21 2002 /usr/local/j2sdk1.3.1/jre/lib/font.properties.zh
安装完成后的检查和测试
1. 打开一个终端,启动oracle agentctl代理服务
$su – oracle
$agentctl start
2. 启动oracle监听
$lsnrctl
lsnrctl>status (查状态)
lsnrctl>start
lsnrctl>exit
3. 检查oracle服务是否挂起
$ps –ef |grep ora
4. 连接数据库
$sqlplus /nolog
SQL>connect / as sysdba
Error:ORA-12705:invalid or unknown NLS parameter value spectfied.
SQL>startup mount
5. 检查是否连接oracle
SQL>select sysdate from dual;
Sp2-0640:Not connected
6. 启动
SQL>startup
Error:
ORA-01078:FAILURE IN PROCESSING SYSTEM PARAMETERS
LRM-00109:could not open parameter file /opt/ora9/product/9.2/dbs/initora9i.or
开机自动启服务
打开root终端
#vi /etc/oratab
将ora9i:/home/oracle/product/:N (N该成Y)
#vi /ect/rc.local 加入
su – oracle –c “lsnrctl start”
su – oracle –c “startora”
在/bin目录下建startora文档,内容如下
sqlplus /nolog << EOF
connect sys/huiheng as sysdba
startup
EOF
****stopora****
sqlplus /nolog << EOF
connect sys/huiheng as sysdba
shutdown immediate
EOF