2007年11月27日星期二

RedHat Linux AS3.0 下安装 ORACLE9.2.0.4

首先,准备安装需要的软件包和补丁包:
所有的补丁说明如下: 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 命令来安装相应的包.

下载如下三个Oracle9i的安装文件:  
lnx_920_disk1.cpio.gz  
lnx_920_disk2.cpio.gz  
lnx_920_disk3.cpio.gz  
在你硬盘的/opt/目录
现在建立Oracle9i  命令如下:
#mkdir /opt/Oracle9i  
将如下三个文件拷贝到/opt/Oracle9i目录下  
执行如下命令将文件解压:  
gunzip lnx_920_disk1.cpio.gz  
gunzip lnx_920_disk2.cpio.gz  
gunzip lnx_920_disk3.cpio.gz  
在硬盘的/opt/Oracle9i/的目录下将生成如下文件:  
lnx_920_disk1.cpio  
lnx_920_disk2.cpio  
lnx_920_disk3.cpio  
执行如下命令将文件解包:  
cpio -idmv < lnx_920_disk1.cpio  
cpio -idmv < lnx_920_disk2.cpio  
cpio -idmv < lnx_920_disk3.cpio  
将在硬盘的/opt/Oracle9i的目录下生成如下三个文件夹;  
Disk1  Disk2  Disk3

准备安装过程中需要的用户和用户组
在安装的过程中我们使用两个用户同时进行,其中一个是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.propertiesfont.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

没有评论: