一、解压缩Oracle9204的安装文件
1. Oracle 9iR2 (9.2.0.4)
(1) 简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)
在安装LINUX时最好分一个区/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
(2) 解包和解压过程中,自动创建了3个包含安装文件的目录:
Disk1
Disk2
Disk3
之后就可以安装Oracle9iR2了。
二、安装前的检查和准备工作;
1、查看这些开发包是否已安装;
p4198954_21_linux.zip # 在运行 runInstaller 之前打.
p3238244_9204_LINUX.zip # 修复agent错误的补丁.
p2617419_210_GENERIC.zip # 打3238244补丁所需要的补丁.
compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
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
make-3.80-5
xorg-x11-deprecated-libs-devel-6.8.1-23.EL
xorg-x11-deprecated-libs-6.8.1-23.EL
compat-oracle-rhel4-1.0-3
compat-libcwait-2.0-1
gnome-libs-devel-1.4.1.2.90-44
libaio-devel-0.3.102-1
libaio-0.3.102-1
openmotif21-2.1.30-11
其中compat-oracle-rhel4和compat-libcwait可以在如下网站:
http://oss.oracle.com/projects/compat-oracle/files/RedHat/
# rpm -qa | grep 'compat' # 查询
# rpm -Uvh compat-oracle-rhel4-1.0-3 # 安装
三、创建数据库安装的准备工作;
1、创建user/group;
# groupadd dba
# groupadd oinstall
# useradd oracle -g oinstall -G dba
# passwd oracle
2、建立oracle安装文件夹;
# mkdir -p /oracle/product/9.2
# chown -R oracle.dba /oracle/product/9.2
3、配置环境变量;
使用Oracle用户登陆:
# su - oracle
$ vi .bash_profile
以下是配置文件的内容
============== START ==================
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9i
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.we8iso8859p1
========== END ==================
我的内存为16G,大家配置时,请严格按自己的配置情况调整,方法见后文。
以下内核参数非常重要,不然即使你在第一次创建实例时没有发生错误,
在创建另一个实例时,极有可能出现 " ora-27102 out of memory 错误"。
我就曾经花了整整一个下午才找到原因并解决。
切记!切记!!!
4、设置内核参数,调节信号灯及共享内存: (切换到root用户)
a) # vi /etc/sysctl.conf,在文件末尾添加:
kernel.shmmax=16777216000
kernel.shmmni=4096 {最小内存数,一般都是4k的大小,也就是4096}
kernel.shmall=16384000
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
通常可以使用如下方式计算:
shmmax=内存总数(M)*1024
shmmax=shmall*系数*1024,( 内存在512M到2048M 之间系数为1.5,如果再多,系数设为1 )。
在 Linux 下的快速计算方法:
# export RAMSIZE=16000
# echo -n "shmall="; echo "$RAMSIZE * 1024" | bc
shmall=16384000
# echo -n "shmmax="; echo "$RAMSIZE * 1024 * 1024" | bc
shmmax=16777216000
修改后运行
# sysctl -p 命令使得内核改变立即生效。
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++
四、开始安装oracle9i
(一)开始安装:
1.以oracle用户登录系统,进行Oracle的安装:
$ cd Disk1
$ ./runInstaller 过一会儿就会出现Oracle的安装界面
2.直接下一步安装就行了!
3,安装完后打补丁:
切换到root
首先安装 opatch.
# cd /orasetup
# unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
#export PATH=$PATH:/home1/installDB/Opatch/OPatch:/sbin
#export ORACLE_HOME=/home1/oracle/product/9.2
(修改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服务了.
4, 最后执行 #dbca 建oracle数据库
[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 immediate 关闭数据库
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.
5, 数据库创建完成后,
1)修改/etc/oratab,把相应实例那一行最后的N改成Y,
2)在sqlplus里面(dba用户),创建pfile
SQL>create pfile='/oracle/admin/orcl/pfile/initorcl.ora' from spfile;
3)ln -s /oracle/admin/orcl/pfile/initorcl.ora /oracle/product/9.2/dbs/initorcl.ora
重新执行dbstart就可以启动数据库了。
为了方便管理,可以写一个启动脚本 ora9i :
以root身份进入,编写以下脚本:
#!/bin/bash
# start and stop the oracle instance
# chkconfig: 345 91 19
# description: starts the oracle listener and instance
# Wang Yinghui
# Fri Jan 26 2007
#
export ORACLE_HOME="/oracle/product/9.2"
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER="oracle"
export ORACLE_SID=orcl
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "oracle startup:cannot start"
exit 1
fi
case "$1" in
start)
#startup the listener and instance
echo -n "oracle startup: "
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "finished"
;;
stop)
# stop listener, apache and database
echo -n "oracle shutdown:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "finished"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: ora9i [start|stop|reload|restart]"
exit 1
esac
exit 0
存为ora9i后,然后用chmod a+x ora9i,
即可在以后以root身份运行/etc/rc.d/init.d/ora9i start |stop 来管理oracle的启动和停止了。
$ ln -s /etc/rc.d/init.d/ora9i /etc/rc.d/rc5.d/S99ora9i
$ ln -s /etc/rc.d/init.d/ora9i /etc/rc.d/rc3.d/S99ora9i
$ ln -s /etc/rc.d/init.d/ora9i /etc/rc.d/rc0.d/K01ora9i
$ ln -s /etc/rc.d/init.d/ora9i /etc/rc.d/rc1.d/K01ora9i
6, 关于数据库删除重新安装的问题:
把ORACLE安装目录删除及/etc/ora*.*删除就行了
#rm -f /etc/ora*.*
7,关于在LINUX中运行管理软件
#oemapp
注:
p3948480_9206_LINUX.zip
http://mirrors.cn99.com/oracle/9i/
大家可以去这个地方下载那个大补丁,300多M。