在RedHat Linux AS 4.0上安装Oracle 9i
参考 Oracle® Database Quick Installation Guide 9i Release 2 (9.2) for Linux x86
一, 准备工作
1、 安装RedHat AS4.0,
Ø 网络IP地址配置
Oracle必须固定IP地址,不能用DHCP。
可以用图形界面修改或#vi /etc/hosts
Ø 磁盘分区配置:
swap交换分区大小根据表1设置
Ø 防火墙基本配置:
因为后面Oracle需要监听很多1024以上端口,建议关掉防火墙,等安装好Oracle后再开,否则非常麻烦。
选择无防火墙
是否启用 SELinux:选择已禁用
Ø 安装包
因为Oracle 9i安装需要xwindow,所以X窗口系统 和GNOME桌面环境必须选取其他rpm包在后面打补丁时再安装。
Ø 配置Red Hat Linux AS 4.0启动到文字界面(不开机启动xwindow,否则太浪费系统资源)
# vi /etc/inittab
id:initdefault:
x=3:文本方式 x=5:图形方式
2、检查内存和硬盘容量和cpu
- 至少512兆内存
表1
内存大小
|
所需交换分区(swap
)大小
|
在512M~1G之间 | 内存的2倍 |
在1G~2G之间 | 内存的1.5倍 |
在2G~8G之间 | 与内存大小一样 |
大于2G | 内存的0.75倍 |
交换分区和内存的关系(引至Oracle
® Database Quick Installation Guide 9i Release 2 (9.2) for Linux x86)
检测内存
# free
# grep SwapTotal /proc/meminfo
# grep MemTotal /proc/meminfo
检测
cpu
# grep "model name" /proc/cpuinfo
检测硬盘
•
/tmp
目录至少
400 MB
容量
•
Oracle
软件需要
1.5 GB
至
3.5 GB
硬盘容量
# df –k
二,创建相关安装目录和环境变量
使用
root
登录
1
、创建用户
#groupadd dba
#groupadd oinstall
#useradd oracle -g oinstall -G dba
#passwd oracle
2
、建立
oracle
安装文件夹;
# mkdir -p /opt/ora9/product/9.2.0.4
(安装文件夹)
# mkdir /tmp/oracle
(安装文件和补丁存放文件夹)
# chown -R oracle:oinstall /opt/ora9/
# chmod -R 775 /opt/ora9
# chown -R oracle.dba /tmp/oracle
# chmod -R 775 /tmp/oracle
3、
安装前打补丁
安装
4198954
补丁,
否则一安装会出现错误信息:
Error occurred during initialization of VM Unable to load native library: /libjava.so symbol _libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference 注意:打这个补丁之前需要安装两外几个rpm包:compat-gcc-32-3.2.3-47.3.i386.rpm,compat-gcc-32-c++-3.2.3-47.3.i386.rpm,libaio-devel-0.3.105-2.i386.rpm以及xwindow的开发环境。
#startx
在图形界面里:右键单击
p4198954_21_LINUX.zip
解压到
/tmp/oracle
目录
.
在
4198954
目录下右键双击
compat-oracle-rhel4-1.0-5.i386.rpm
和
compat-libcwait-2.0-2.i386.rpm
包,
安装时会提示安装必须的 RedHat
依赖包,并提示让你放入 RedHat AS 4.0光盘(一般是第3张和第4张)。
4、 设置系统参数
修改#vi /etc/sysctl.conf添加下面代码:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
(一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824(1G=1024*1024*1024))
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
修改后运行#sysctl –p命令使得内核改变立即生效
5、设置oracle用户对Shell的限制要求:
a) 编辑文件:#vi /etc/security/limits.conf 加入以下语句:
oracle
soft nproc 2047
oracle
hard nproc 16384
oracle
soft nofile 1024
oracle
hard nofile 65536
b) 编辑文件:#vi /etc/pam.d/login 加入以下语句:
session required /lib/security/pam_limits.so
c) 编辑文件:#vi /etc/profile 加入以下语句:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
6、gcc降级 (由于我们在上面已经安装了
compat-gcc-32-3.2.3-47.3.i386.rpm,compat-gcc-32-c++-3.2.3-47.3.i386.rpm,libaio-devel-0.3.105-2.i386.rpm这几个包,所以此时的gcc版本已经是gcc32了,可以通过gcc -v 确定,所以这步可以跳过。 )
由于 Oracle 9i 本身的开发环境是在 gcc 2.96 下的,所以我们必须把当前的 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++
7、配置oracle用户环境
使用
Oracle
用户登陆
: (注意:如果登陆时出现什么session之类的错误而无法进入系统,请用root用户登陆将home下的所有的隐藏文件的权限修改一下 chmod 755 .*,然后再用oracle用户登陆) #su – oracle $vi .bash_profile
以下是配置文件的内容
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
umask 022
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2.0.4
export PATH=$ORACLE_HOME/Apache/perl/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export PERL5LIB=$ORACLE_HOME/Apache/perl/lib/5.00503:$ORACLE_HOME/Apache/perl/lib/site_perl/5.005/i686-linux
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export LANG=en_us
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export DISPLAY=127.0.0.1:0.0 (本地安装可以不用设置此选项)
unset USERNAME
三、 安装过程
1、重新启动服务器以oracle用户登录,启动X-window进行本地直接安装。
#su – oracle
$
startx
将Oracle9i光盘文件拷贝到前面建立的安装文件夹(/tmp/oracle)
因为有三张光盘,所以建立三个子文件夹disk1、disk2、disk3
2、正式安装
点击“任务栏” → “应用程序” → “系统工具” → “终端”:
$ /tmp/oracle/disk1/runInstaller
( 安装文件所在路径)
运行等一会后,就会出现Oracle Universal Installer(OUI)的图形界面,按照提示一步步点击“Next”安装即可。 前几步保持默认设置,当遇到输入“Unix Group Name”的时候,输入组名“oinstall”,点击“下一步”。 此时Oracle Universal Installer会生成一个建立Oracle Inventory所用的orainstRoot.sh文件,弹出一个提示框,需要用root身份来执行这个/orainstRoot.sh文件,此时可 以再开启一个新的终端窗口(Terminal),按照提示窗口所写的目录路径来以root用户来执行sh orainstRoot.sh。等执行完毕后再回到提示窗口,按下“Continue”按钮继续安装。 当遇到要输入“全局数据库名(Global Database Name)和数据库SID”的窗口时,会发现数据库的SID已经按照环境变量中的设置的ORACLE_SID=YOUR_SID显示出来了。只需要把全局 数据库名输入即可。 接下来的安装均按照默认设置来进行。 当遇到设置数据库的字符集的窗体时,不要选择默认的数据库字符类型。字符集(Character Set)是建立Oracle数据库时最重要的一项设定,如果设定的不正确,很可能造成在使用中无法正常存取中文数据。在这里我们最好选择第三个选项的下拉 框,选择Simplifiled Chinese ZHS16GBK,按Next进入下一步。在Oracle Universal Installer开始复制安装文件之前,会显示要安装的Oracle9i产品摘要,在确认无误后按下“Install”按钮就会开始安装了,这将是一个 较长时间的过程。弹出一个提示框,需要用root身份来执行这个sh root.sh文件,此时可以再开启一个新的终端窗口(Terminal),按照提示窗口所写的目录路径来以root用户来执行 root.sh。(agent服务启动失败将在后面打补丁修复)
四、 安装整理过程
1、修复前面agent错误
从
http://metalink.oracle.com .
网站上下载 3238244
补丁 p3238244_9204_LINUX.zip和打补丁工具p2617419_210_GENERIC.zip
在图形界面里:右键单击 p3238244_9204_LINUX.zip
解压到
/tmp/oracle
目录
.
此外还要右键单击: p2617419_210_GENERIC.zip
解压到
/tmp/oracle
目录
. 注意:如果打补丁过程中出现Cannot set up oui inventory session错误,这是 安装时报错,要点确定后 然后再打补丁包,应该就可以,即要先退出安装程序,然后再打补丁。
#export PATH=$PATH:
/tmp/oracle /OPatch:/sbin (:操作符)
(修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)
# cd 3238244
# opatch apply
如果提示HOME变量错误可执行语句:
#export ORACLE_BASE=/opt/ora9
#export ORACLE_HOME=/opt/ora9/product/9.2.0.4
出现success的提示就全部安装成功.
补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口
#su – oracle
$cd $ORACLE_HOME/network/lib
$make –f ins_oemagent.mk install
之后就可以启动Agent服务了.
2、修复前面web界面isqlplus无法启动错误。启动 Apache 时候报错,环境变量 PERL5LIB 问题。用$ perl –V(检查会显示一段警告,失败)
$ ln -s $ORACLE_HOME/jdk $ORACLE_HOME/Apache/jdk
$ cd $ORACLE_HOME/Apache/Apache/bin
$ vi apachectl 添加下面代码
PERL5LIB=$ORACLE_HOME/Apache/perl/lib/5.00503:$ORACLE_HOME/Apache/perl/lib/site_perl/5.005/i686-linux; export PERL5LIB
$ vi startJServ.sh 添加下面代码
${APACHE_HOME}/bin/apachectl startssl
五、 自启动设置
Oracle 9i启动需要以下服务
$ dbstart
$ lsnrctl start
$ agentctl start
$ startJServ.sh
所以需要做以下配置:
默认dbstart是不起作用的。需要以下配置
1.修改/etc/oratab
$ vi /etc/oratab
*:/uxdb/ora9i/product/9.2:N(不改)
ora9i:/uxdb/ora9i/product/9.2:Y(原来是N改为Y)
2.拷贝一个系统配置好的 PFILE 到 dbs 目录下
#
cp /opt/ora9/admin/oradb/pfile/initoradb.ora.2292007201045 $ORACLE_HOME/dbs/initoradb.ora (
路径要看安装路径而定
)
现在你可以测试一下
$ dbstart
$ dbstop
最后在/etc/rc.d/rc.local中加入如下代码:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
su - oracle -c "agentctl start"
su - oracle -c "startJServ.sh"
这样重启动服务器后Oracle就会自动启动了。
六、 Oracle 9i设置
#su – oracle
$ startx
$oemapp console启动图形的企业管理器控制台(EMC)
$emca启动配置管理服务器(EMCA)
$sqlplus /nolog启动sqlplus
$dbca 启动数据库配置助手(DCA),建oracle数据库 此文是参考了网上各位大侠的文章然后加上自己在安装过程中遇到的问题的一个总结综合而成的。再此感谢他们。