Red Hat Linux AS3 下安装 ORACLE9.2.0.4
--------------------------------------------------------------------------------
Installing Oracle 9iR2 on Red Hat Enterprise Linux Advanced Server 3 (RHEL 3)
Red Hat Enterprise Linux AS release 3 (Taroon) Kernel 2.4.21-4.EL on an i686
--确认以下rpm包都已经安装:
# rpm -qa | grep compat
compat-db-4.0.14-5
compat-gcc-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
# rpm -qa | grep openmotif
openmotif-2.2.2-16 //有这一项输出即可
openmotif-devel-2.2.2-16
# rpm -qa | grep setarch
setarch-1.3-1
su - root
# mv /usr/bin/gcc /usr/bin/gcc323 --如果没有gcc这个文件,请不要执行此命令
# mv /usr/bin/g++296 /usr/bin/g++ --如果没有gcc这个文件,请不要执行此命令
# ln –s /usr/bin/gcc296 /usr/bin/gcc
# ln –s /usr/bin/g++296 /usr/bin/g++
--修改 /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
执行/sbin/sysctl -p使修改生效
--编辑etc/security/limits.conf:
oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384
检查环境变量
这个版本的默认的glibc 很合适,免去了不少麻烦。
--创建oracle用户组和文件目录
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle 或 usermod -g oinstall -G dba oracle //已经存在的话
passwd oracle
mkdir -p /oracle/app/oracle
mkdir -p /oradata
chown -R oracle:oinstall /oracle/app/oracle /oradata
chmod -R 775 /oracle/app/oracle /oradata
--登录为oracle用户:
# su - oracle
$ cd
$ vi .bash_profile
#添加如下内容
#这个参数必须指定,否则Java安装界面无法启动
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=ora9i
export ORACLE_TERM=xterm
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
export THREADS_FLAG=native
然后执行
$ source .bash_profile
使环境变量生效
对LD_ASSUME_KERNEL环境变量的说明:
这个参数实际上是为了避免Linux上的 NPTL (Native POSIX Thread Library) 和Oracle应用不兼容的问题. 设定 LD_ASSUME_KERNEL为2.4.1表示使用旧有的 "Linuxthreads with floating stacks" .
从Metalink ( http://metalink.oracle.com/ 需要CSI )下载必须的补丁。
需要的补丁:
直接安装oracle9204
p3006854_9204_LINUX.zip 安装前就要打好的补丁(AS4 这个版本以经打完了)
p2617419_210_GENERIC.zip 安装后要打的(这只是一个伴随补丁,只要设置它的环境变量)
p3238244_9204_LINUX.zip 安装后要打的9204的补丁,解决Agent问题.
--先解压压缩文件
gunzip ship_9204_linux_disk1.cpio.gz
gunzip ship_9204_linux_disk2.cpio.gz
gunzip ship_9204_linux_disk3.cpio.gz
cpio -idmv cpio -idmv cpio -idmv
--执行(仅安装软件,稍后创建库):
oracle@debian:~$ export DISPLAY=:0.0
# source .bash_profile
# ./runInstaller
--打补丁
oracle用户:
# unzip p2617419_210_GENERIC.zip
cd /home/oracle/Opatch
export PATH=$PATH:/home/oracle/OPatch:/sbin
root用户:
# unzip p3238244_9204_LINUX.zip
# cd 3238244
# export ORACLE_BASE=/oracle/app/oracle
# export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
# opatch apply 或 opatch apply -no_inventory
$ su - oracle
$ find $ORACLE_HOME -name "*.mk" | xargs grep -l dbsnmp
/opt/oracle/product/9.2/network/lib/ins_oemagent.mk
/opt/oracle/product/9.2/network/lib/env_oemagent.mk
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
$ agentctl start
------------------------------------------------------------------------------------------------------------------------
如果开始安装的是oracle9201
p3006854_9204_LINUX.zip 在运行 runInstaller 之前打,(AS4 这个版本以经打完了)
p3095277_9204_LINUX.zip 9.2.0.4.0的升级补丁包.
p2617419_210_GENERIC.zip 打3119415补丁所需要的补丁.
p3119415_9204_LINUX.zip 在升级到9.2.0.4.0之后打.解决Agent问题
运行runInstaller之前,需要打补丁3006854: 注意,必须以root身份运行.
# unzip p3006854_9204_LINUX.zip
会在当前目录下创建一个目录,进入到该目录中
# cd 3006854
# ./rhel3_pre_install.sh
如果报告如下错误:
-bash: ./rhel3_pre_install.sh: Permission denied
修改一下权限就可以了:
# chmod +x *.sh
然后就可以运行runInstaller安装. 操作过程不再赘述. 但是relink 阶段,会报告两个错误:ins_oemagent.mk 和 ins_ctx.mk. 点 Ignore 忽略.要升级到9.2.0.4的版本才 可以修复这两个Bug.
升级到9.2.0.4.0
安装结束后,需要停掉Oracle的所有相关程序. 最好命令都执行完之后再用 ipcs 命令确认一下.然后就可以开始打补丁升级了. 解包:
$ unzip p3095277_9204_LINUX.zip
$
$ cpio -idmv < 9204_lnx32_release.cpio
现在可以再次运行runInstaller,在OUI的界面中找到Patch的Stage文件,然后即可以进行升级.
注意
首先要升级oui,否则不让升级到9.2.0.4.而且,升级完oui以后,要退出oui然后再重新运行oui, 再升级到9.2.0.4.不退出 继续升级会报告错误.升级过程中,仍然会出现ins_oemagent.mk错误,点 Ignore 忽略.我们将在下一个步骤中修复该错误.
再次打补丁
升级过后,需要打补丁修复ins_oemagent.mk错误.首先安装 opatch.
$ unzip p2617419_210_GENERIC.zip
$ pwd
/u01/install
$ export PATH=$PATH:/u01/install/OPatch:/sbin
注意:
修改PATH时,除了要包括解压出来的OPatch目录外,还要包括/sbin目录,这样才可以找到 fuser命令.而fuser命令也是该补丁过程所需要的.
$ unzip p3119415_9204_LINUX.zip
Archive: p3119415_9204_LINUX.zip
creating: 3119415/
......
inflating: 3119415/README.txt
$ cd 3119415
$ opatch apply
运行dbca的问题
$ dbca
会正常出现图形界面,然后可以选择创建数据库,但是最后一步莫名其妙的界面消失.在命令行出现如下错误:
/oracle/product/9.2.0.1/bin/dbca: line 124: 27348 Killed $JRE_DIR/bin/jre
-DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH
oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
要解决这个问题:
$ vi $ORACLE_HOME/bin/dbca
将下面列出的除第3 行外的其余行注释掉.
#if [ -f /etc/rac_on ]; then
#Run DBCA
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH...... //保留这一行
#else
#Run DBCA
#$JRE_DIR/bin/jre -DORACLE_HOME=$OH......
#fi
此外,有的系统上由于locale的问题,可能会出现乱码,出现这种情况,请进行类似如下的操作:
$ locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030 //类似输出会导致问题
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ export LC_CTYPE=en_US.UTF-8
$ locale
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8 //调整为UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
--------------------------------------------------------------------------------------------------------------------------
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7478833/viewspace-496111/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7478833/viewspace-496111/