无话不谈,乐趣横生

统计

吕震宇博客

最新评论

RedHat_AS4_U1上安装Oracle9i数据库9204并升级到9206

Red Hat Linux AS4_U1 上安装 Oracle9i 数据库
           —— 9204 并上级到9206

整理人员:刘孟海
整理、测试时间:2005-09-26
QQ:113833788
Email:mr.lmh@163.com
MSN:maomao_yuyu@hotmail.com

经本人实践安装多次,参考网上的多人整理而成的文档,进行了实践和综合而成了下面的安装
手记。下面是我安装时候的具体操作和设置步骤!
注:本文当中绿色加粗部分的内容都是需要用户执行的命令
具体操作和设置步骤:
第一部分、安装前的准备
以下操作都是以 ROOT 身份用户进行的
1。操作系统的版本查看
[root@RHAS4 ~]# uname -a
Linux RHAS4 2.6.9-11.EL #1 Fri May 20 18:17:57 EDT 2005 i686 i686 i386 GNU/Linux
2。检查系统交换区、内存和磁盘空间
[root@RHAS4 oracle]# grep MemTotal /proc/meminfo
MemTotal: 3960496 kB
[root@RHAS4 oracle]# grep SwapTotal /proc/meminfo
SwapTotal: 8193016 kB
[root@RHAS4 oracle]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda10 985M 154M 781M 17% /
/dev/sda1 485M 16M 444M 4% /boot
/dev/sda2 9.7G 3.8G 5.4G 41% /home
/dev/sda5 7.7G 3.4G 4.0G 47% /opt
/dev/sda7 4.9G 44M 4.6G 1% /tmp
/dev/sda6 4.9G 2.2G 2.5G 48% /usr
/dev/sda9 985M 18M 917M 2% /usr/local
/dev/sda8 3.9G 86M 3.6G 3% /var
要保证系统内存大于256MB,系统交换分区大于1GB,实际生产环境中,对于内存
小于等于2GB的系统,交换分区空间建议为内存的数量的两倍,但是不能小于1GB的空间。
对于内存大于2GB的系统,建议交换区空间是内存数量的一到两倍。
Oracle9204软件需要2.5GB的可用磁盘空间,而数据库则另需要1.2GB的可用磁盘空
间。/tmp目录至少需要400MB的可用空间。即 2.5GB+1.2GB+400MB=4.1GB的可用磁盘空
间。如果是从硬盘安装oracle,则还需要2.2GB的空间存放oracle安装文件。已分入系统的
磁盘空间不足,但是还有未分配的可用磁盘空间的话,可以用fdisk分区命令添加到系统中
来。用mkfs.ext3对其进行格式化,用mount挂在刚才格式化的分区(当然为了方便也可以
修改/etc/fstab 添加刚才的分区,使之每次系统启动的时候都能自动挂在)。
3。检查安装oracle时系统需要的包
[root@RHAS4 ~]# rpm -qa gcc make binutils openmotif setarch
binutils-2.15.92.0.2-13
openmotif-2.2.3-9.RHEL4.1
setarch-1.6-1
gcc-3.4.3-22.1
make-3.80-5
[root@RHAS4 oracle]# rpm -qa | grep compat
compat-libcom_err-1.0-5
compat-gcc-32-3.2.3-47.3
java-1.4.2-gcj-compat-1.4.2.0-27jpp
compat-libgcc-296-2.96-132.7.2
compat-libstdc++-296-2.96-132.7.2
compat-openldap-2.1.30-2
compat-gcc-32-c++-3.2.3-47.3
nss_db-compat-2.2-29
compat-libstdc++-33-3.2.3-47.3
compat-db-4.1.25-9
[root@RHAS4 oracle]# rpm -qa | grep xorg-x11-deprecated
xorg-x11-deprecated-libs-6.8.2-1.EL.13.6
xorg-x11-deprecated-libs-devel-6.8.2-1.EL.13.6
[root@RHAS4 oracle]# rpm -qa | grep gnome-libs
gnome-libs-devel-1.4.1.2.90-44.1
gnome-libs-1.4.1.2.90-44.1
如果以上系统的包(可以在RHAS4的安装光盘中找到这些包文件)没有安装或者版本比
较低,因该安装或者升级。升级包命令是 rpm -Uvh 包名 安装新包命令是rpm -ivh 包名。
如安装make-3.80-5.rpm 的命令为rpm -ivh make-3.80-5.rpm
4。创建 Oracle 组和用户帐号
[root@RHAS4 ~]# groupadd oinstall
[root@RHAS4 ~]# groupadd dba
[root@RHAS4 ~]# useradd -m -g oinstall -G dba oracle
[root@RHAS4 ~]# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
[root@RHAS4 ~]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
创建用户安装和维护 Oracle9204软件的 Linux 组和用户帐户。用户帐户称之为oracle
组称之为 oinstall 和 dba 。同时更还用户口令。
5。配置 Linux 的内核参数
[root@RHAS4 etc]# vi 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
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# 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=3000000000
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 322000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
修改/etc/sysctl.conf 文件,增加绿色字体部分内容。其中的几个参数的含义是:
shmmax 最大共享内存2GB物理内存,如果小的话可以按实际情况而定(一般为
物理内存的一半)
shmmni 最小共享内存4096KB(固定大小4096)
shmall 所有内存大小
sem 4个参数依次是SEMMSL(每个用户拥有信号量最大数),SEMMNS
(系统信号量最大数),SEMOPM(每次semopm系统调用操作数),SEMMNI(系统辛苦
量集数最大数)。(这4个参数为固定内容大小)
file-max (固定大小65536)
ip_local_port_range 端口的范围(为指定的内容)
6。设置 oracle 对文件的要求
[root@RHAS4 security]# pwd
/etc/security
[root@RHAS4 security]# vi limits.conf
# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain> <type> <item> <value>
#
#Where:
#<domain> can be:
# - an user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
................................
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
oracle soft memlock 3145728
oracle hard memlock 3145728
# End of file
修改 /etc/security/limits.conf 文件,添加上述绿色部分内容到文件。
7。准备 Oracle 安装文件目录
[root@RHAS4 /]# mkdir -p /opt/ora9/product/9.2
[root@RHAS4 /]# mkdir /var/opt/oracle
[root@RHAS4 /]# chown oracle.dba /var/opt/oracle
[root@RHAS4 /]# chown -R oracle.dba /opt/ora9
创建Oracle 安装目录并修改所属者为 oracle, 所属组为dba
8。设置 Oracle 环境变量
[root@RHAS4 /]# su - oracle
[oracle@RHAS4 ~]$ ls -a
. .bash_history .bash_profile .emacs .kde .zshrc
.. .bash_logout .bashrc .gtkrc nss_db-compat-2.2-29.i386.rpm
[oracle@RHAS4 ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export DISPLAY="172.17.11.61:0.0"
export LD_ASSUME_KERNEL=2.4.19
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=NMSORA
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:
$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
unset USERNAME
[oracle@RHAS4 ~]$ pwd
/home/oracle
[oracle@RHAS4 ~]$ . .bash_profile
使刚才配置的.bash_profile文件内容生效。
9。分配ORAData的逻辑卷空间
[root@RHAS4 ~]$# lvscan
ACTIVE '/dev/oradata/nms_system' [2.00 GB] inherit
ACTIVE '/dev/oradata/nms_undotbs01' [320.00 MB] inherit
ACTIVE '/dev/oradata/nms_cwmlite' [256.00 MB] inherit
ACTIVE '/dev/oradata/nms_drsys' [256.00 MB] inherit
ACTIVE '/dev/oradata/nms_example01' [256.00 MB] inherit
ACTIVE '/dev/oradata/nms_indx01' [256.00 MB] inherit
ACTIVE '/dev/oradata/nms_odm01' [256.00 MB] inherit
ACTIVE '/dev/oradata/nms_tools' [256.00 MB] inherit
ACTIVE '/dev/oradata/nms_user01' [2.00 GB] inherit
ACTIVE '/dev/oradata/nms_xdb01' [1.00 GB] inherit
ACTIVE '/dev/oradata/nms_undotbs02' [1.25 GB] inherit
ACTIVE '/dev/oradata/nms_rbs01' [4.00 GB] inherit
ACTIVE '/dev/oradata/nms_rbs02' [4.00 GB] inherit
ACTIVE '/dev/oradata/nms_rbs03' [4.00 GB] inherit
ACTIVE '/dev/oradata/nms_rbs04' [4.00 GB] inherit
ACTIVE '/dev/oradata/nms_temp01' [2.00 GB] inherit
ACTIVE '/dev/oradata/nms_ctl01' [1.00 GB] inherit
ACTIVE '/dev/oradata/nms_ctl02' [1.00 GB] inherit
ACTIVE '/dev/oradata/nms_ctl03' [1.00 GB] inherit
ACTIVE '/dev/oradata/nms_hypr01' [5.00 GB] inherit
......
[root@ RHAS4 ~]# raw -qa
/dev/raw/raw1: bound to major 253, minor 2
/dev/raw/raw2: bound to major 253, minor 3
/dev/raw/raw3: bound to major 253, minor 4
/dev/raw/raw4: bound to major 253, minor 5
/dev/raw/raw5: bound to major 253, minor 6
/dev/raw/raw6: bound to major 253, minor 11
/dev/raw/raw7: bound to major 253, minor 12
/dev/raw/raw8: bound to major 253, minor 13
/dev/raw/raw9: bound to major 253, minor 14
/dev/raw/raw10: bound to major 253, minor 0
/dev/raw/raw11: bound to major 253, minor 15
/dev/raw/raw12: bound to major 253, minor 7
/dev/raw/raw13: bound to major 253, minor 1
/dev/raw/raw14: bound to major 253, minor 10
/dev/raw/raw15: bound to major 253, minor 8
/dev/raw/raw16: bound to major 253, minor 9
/dev/raw/raw17: bound to major 253, minor 16
/dev/raw/raw18: bound to major 253, minor 17
/dev/raw/raw19: bound to major 253, minor 18
/dev/raw/raw20: bound to major 253, minor 19
/dev/raw/raw21: bound to major 253, minor 20
......
以上是创建的逻辑卷和裸设备。用lvscan查看逻辑卷,用raw -qa 查看当前的裸设备。
具体裸设别的创建步骤是:用pvcreate /dev/sda11 /dev/sda12 ...... 创建物理卷,用 vgcreate
oradata /dev/sda11 /dev/sda12 ...... 创建逻辑卷组,用lvcreate --size 1000m --name nms_hypr01
/dev/oradata 分配逻辑卷,用raw /dev/raw/raw20 /dev/mapper/oradata-nms_hypr01 创建裸设备。
呵呵,别忘了给逻辑卷和裸设备更改所有者哦!Chown -R oracle.dba /dev/raw/* chown -R
oracle.dba /dev/mapper/oradata* 。另外还要注意的是裸设备raw在每次重启reboot的时候需
要重建,为了简单让其在启动后自动创建,我们可以写个简单的脚本SHELL让它自动执行
就可以了。我在/var/opt/oracle/目录下建立了两个SHELL
[root@RHAS4 oracle]# ls -l /var/opt/oracle/
-rwxr-xr-x 1 root root 89 Oct 13 08:27 changeraw.sh
-rwxr-xr-x 1 root root 3216 Oct 13 08:26 makeraw.sh
其中,makeraw.sh 用于创建裸设备,changeraw.sh 用于给便逻辑卷和裸设备的所有者
[root@NMSDB oracle]# more makeraw.sh
#!/bin/bash
raw /dev/raw/raw1 /dev/mapper/oradata-nms_cwmlite
raw /dev/raw/raw2 /dev/mapper/oradata-nms_drsys
raw /dev/raw/raw3 /dev/mapper/oradata-nms_example01
raw /dev/raw/raw4 /dev/mapper/oradata-nms_indx01
raw /dev/raw/raw5 /dev/mapper/oradata-nms_odm01
raw /dev/raw/raw6 /dev/mapper/oradata-nms_rbs01
raw /dev/raw/raw7 /dev/mapper/oradata-nms_rbs02
raw /dev/raw/raw8 /dev/mapper/oradata-nms_rbs03
raw /dev/raw/raw9 /dev/mapper/oradata-nms_rbs04
raw /dev/raw/raw10 /dev/mapper/oradata-nms_system
raw /dev/raw/raw11 /dev/mapper/oradata-nms_temp01
raw /dev/raw/raw12 /dev/mapper/oradata-nms_tools
raw /dev/raw/raw13 /dev/mapper/oradata-nms_undotbs01
raw /dev/raw/raw14 /dev/mapper/oradata-nms_undotbs02
raw /dev/raw/raw15 /dev/mapper/oradata-nms_user01
raw /dev/raw/raw16 /dev/mapper/oradata-nms_xdb01
raw /dev/raw/raw17 /dev/mapper/oradata-nms_ctl01
raw /dev/raw/raw18 /dev/mapper/oradata-nms_ctl02
raw /dev/raw/raw19 /dev/mapper/oradata-nms_ctl03
raw /dev/raw/raw20 /dev/mapper/oradata-nms_hypr01
......
[root@NMSDB oracle]# more changeraw.sh
#!/bin/bash
chown -R oracle.dba /dev/raw/*
chown -R oracle.dba /dev/mapper/oradata-nms*
最后,在/etc/rc.local中加入刚才创建的两个SHELL,就可以开机时自动创建挂在裸
设备了!
[root@NMSDB oracle]# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/var/opt/oracle/makeraw.sh
umount /dev/shm
mount -t ramfs ramfs /dev/shm
chown oracle:oinstall /dev/shm
# the following two line create rawN for oracle data and change owner
# /var/opt/oracle/makeraw.sh
sleep 2
/var/opt/oracle/changeraw.sh
10。Oracle 安装介质的准备
好了一切都准备好了,下面我们看看我们还需要准备写什么?
A Oracle9204 的安装文件(三张光盘)
B Oracle9204 Update To 9206 的补丁(p3948480_9206_LINUX.zip)
C Oracle9206 的补丁(p2617419_10102_GENERIC.zip,
p3006854_9204_LINUX.zip,p4188455_10103_linux.zip,p4190568_9206_linux.zip,p4198954
.zip)
11。正式安装Oracle
第一步、先要安装4198954 Oracle PreInstall Patch。 Unzip p4198954.zip 会生成
4198954目录,并生成compat-oracle-rhel4-1.0.5.i386.rpm、compat-libcwait-2.0.2.i386.rpm 和
README.txt 。 着两个rpm包安装需要xorg-x11-deprecated-libs 和 xorg-x11-deprecated-libsdevel
包文件,安装着两个rpm包:rpm -ivh compat-oracle-rhel4-1.0.5.i386.rpm rpm -ivh
compat-libcwait-2.0.2.i386.rpm
第二步、安装Oracle9204。硬盘安装Oracle 需要先把三个文件解压缩,第一层解压缩
gunzip ship-ora-9204-disk1.cpio.gz 第二层解压缩用 cpio -idmv < ship-ora-9204-disk1.cpio 全部
解压完毕会生成三个目录分别是Disk1 Disk2 Disk3。如果我们是远程安装 可以通过前面的
配置参数export DISPLAY=要显示的IP地址:0.0 来设置。切换到oracle用户,用如下命令
启动Oracle安装界面/home/oracle/Disk1/runInstaller。安装过程中要注意两点,第一点是安
装的用户组设置为oinstall ,第二点是安装类型是选择只安装Oracle软件不安装Oracle数据
库。其他的都直接一路 下一步 就完成了。
12。安装Ora9204 Update To Ora9206 Patchs
第一步、安装4188455 补丁。 解压缩 unzip p4188455_10103_linux.zip 会生成
oraparam.ini 和 README.txt 两个文件。记住oraparam.ini文件的路径,下一步安装时我们会
用到这个文件。
第二步、安装3948480补丁。解压缩 unzip p3948480_9206_linux.zip 会生成Disk1目
录(注意不要和安装Ora9204时生成的Disk1相混哦! 最好该个目录解压缩。呵呵),安
装这个补丁 /home/oracle/patch/Disk1/runInstaller -paramfile
/home/oracle/patch/oraparam.ini 安装的时候第一次要先安装OUI,安装完OUI后再运行
/home/oracle/patch/Disk1/runInstaller -paramfile /home/oracle/patch/oraparam.ini安装
Ora9206的补丁。
第三步、安装Ora9206的补丁2617419 和4190568。先解压缩unzip
p2617419_10102_generic.zip 会生成OPatch目录,把生成的OPatch目录拷贝到
ORACLE_HOME目录下面 cp -a Opatch/ $ORACLE_HOME。设置设置搜索路径 export
PATH=$PATH:$ORACLE_HOME/OPatch 同时把这句话加入到oracle用户下面的
.bash_profile 文件中。解压缩 p4190568_9206_linux.zip 会生成4190568目录,在目录下执行
opatch应用 opatch apply
13。执行dbca安装Ora数据库
执行dbca 报告 jre was not found in
/opt/ora9/product/9.2.0/oracle.swd.jre/bin/i386/native_threads/jre 这时我们需要手工建立一个连
接文件 ln -s /opt/ora9/product/9.2.0/oracle.swd.jre/bin/i386/native_threads/java
/opt/ora9/product/9.2.0/oracle.swd.jre/bin/i386/native_threads/jre 然后再次执行dbca 出现创
建数据库画面,一步一步下去,注意选择字符集和更改控制文件,系统表空间,会滚段文件
为以前建立的裸设备文件。只要注意一下表空间大小要小于裸设备大小,应该不会有什么问
题。
14。重新启动操作系统
重启系统发现报告很多 The ld.so.preload file loads the /usr/lib/libcwait.so 错误,并且自
动重启是不能成功,解决方法如下:
把/usr/lib/libcwait.so 拷贝到 /lib/libcwait.so cp /usr/lib/libcwait.so /lib/libcwait.so
把/etc/ld.so.preload 文件中的/usr/lib/libcwait.so 改为/lib/libcwait
15。SGA调整
SGA内存调整可以通过命令调整也可以通过修高iniORAID.ini 文件方式 网上资料一
大堆不再多说了! 呵呵

posted on 2006-03-23 14:17 刘孟海 阅读(526) 评论(0)  编辑 收藏 引用 所属分类: ORACLE文章

只有注册用户登录后才能发表评论。