Red Hat Enterprise Linux 5下安装Oracle
在Linux下安装Oracle有以下步骤:
1>.安装Linux.
2>.针对Oracle配置Linux系统.
3>.安装Oracle.
4>.测试运行安装的Oracle系统.
一.安装Linux.
1.系统环境需求
安装Redhat Linux的过程比较简单,我选用的Linux版本是RedhatEnterprise Linux 5.3, 因需装Oracle10g,系统环境需求
如下:
RAM:1GB(最低需求512MB)
SWAP:2GB
必须安装以下系统组件:GNOME桌面环境、编辑器、开发工具、开发库等.
2.内核版本要求
要在Linux上安装Oracle,所需内核版本:2.4.9-e.25(或更高版本)
通过运行以下命令检查内核版本:
# uname -r
2.6.18-128.e15
3.程序包安装和更新
在安装好Linux后,需验证安装是否具备Oracle 10g所需要的所有程序包和更新,按以下步骤验证安装.
所需程序包的版本(或更高版本):
gcc-3.2.3-2
make-3.79
binutils-2.11
openmotif-2.2.2-16
setarch-1.3-1
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-db-4.0.14.5
要查看系统上安装了这些程序包的哪些版本,以 root 用户身份运行以下命令:
# rpm -q gcc make binutils openmotif setarch compat-dbcompat-gcc
openmotifcompat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
gcc-3.2.3-20
make-3.79.1-17
binutils-2.14.90.0.4-26
openmotif-2.2.2-16
setarch-1.3-1
package compat-db is not installed
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
如果系统上缺少任何程序包,或版本比以上指定的版本旧(compat-db 除外),则需要安装这些包,这些包在RHEL的DVD安
装盘上的server目录下都有.
# cd "/media/RHEL_5.3 i386 DVD/Server"
# rpm -Uvh setarch-2*
# rpm -Uvh make-3*
# rpm -Uvh glibc-2*
# rpm -Uvh libaio-0*
# rpm -Uvh compat-libstdc++-33-3*
# rpm -Uvh compat-gcc-34-3*
# rpm -Uvh compat-gcc-34-c++-3*
# rpm -Uvh gcc-4*
# rpm -Uvh libXp-1*
# rpm -Uvh openmotif-2*
# rpm -Uvh compat-db-4*
二.针对Oracle配置Linux系统.
Linux 软件现已安装完毕,需要针对 Oracle 对其进行配置。
1.验证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两
倍;对于RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
Oracle 10g 软件还需要2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的
可用空间。要检查系统上的可用磁盘空间,运行以下命令:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 1.3G 5.2G 20% /
/dev/sda1 99M 17M 77M 18% /boot
2.创建Oracle 组和用户帐户
Oracle数据库必须在Oracle用户下才能安装,所以需要建立相应的用户群组、用户,以及设置相应的目录属主、目录权限
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba oracle
# mkdir -p /oracle/product/10.1.0/db_1
# chown -R oracle.oinstall /oracle
# chmod -R 775 /oracle
# passwd oracle
3.修改/etc/redhat-release文件
获得Oracle10g认证的Redhat Linux最高版本为redhat-4, 所以需要修改redhat-release文件.
# vi /etc/redhat-release
# Red Hat Enterprise Linux Server release 5.3 (Tikanga)
redhat-4
4.配置Linux内核参数
Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参
数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使
用的值较大,则不要更改它。
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
以 root 用户身份登录后执行下命令
# vi/etc/sysctl.conf
# For Oracle
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
保存文件后执行以下命令激活更改.
# /sbin/sysctl -p
5.为oracle用户设置Shell限制
Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行
下列命令:
# vi /etc/security/limits.conf
# For Oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# vi/etc/pam.d/login
Session required /lib/security/pam_limits.so
以oracle用户身份运行以下命令:
# vi .bash_profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
以root用户身份运行以下命令:
# vi/etc/csh.login
if ( /$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
6.修改Oracle用户语言环境:
以oracle用户身份运行以下命令:
$ touch .i18n
$ vi .i18n
LC_CTYPE="en"
7.配置Oracle用户环境变量
要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。
ORACLE_BASE变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设
置其他变量。
以 oracle 身份登录,并通过在 .bash_profile 或 .profile(bash 或 ksh)中添加以下行,将ORACLE_BASE 添加到登
录配置文件:
$ vi .bash_profile
# For Oracle
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1; exportORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; exportLD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; exportCLASSPATH
配置生效
#source.bash_profile
三.安装Oracle
首先运行xhost hostname命令启动X-Windows安装界面
$ cd database
$ ./runInstaller
####如果启动页面出现乱码问题http://blog.csdn.net/wushuang5566110/article/details/6590877
exportNLS_LANG=AMERICAN_AMERICA.UTF8
export LC_ALL=C
####Xlib: connection to ":0.0" refused by server的解决方法
用平时用的账户登录( root),然后在终端输入以下命令,就可以搞定了!
xhost 192.168.1.101:oracle non-network192.168.1.101 connections being added to access control list
http://blog.csdn.net/wushuang5566110/article/details/6594867
##注意在安装过程中需要运行两个脚本的提示。直接以root运行就行然后继续安装
选择安装方式
2.选择安装目录
3.选择安装类型
4.安装详细路径
5.软件要求检查
6.配置选项
7.数据库配置
8.数据库配置详情,字符集根据实际情况选择,可以选择ZHS16GBK,这样可以支持中文
9.数据库管理选项
10.数据库文件存储选项
11.备份和恢复选项
|
12.设置密码
13.安装
14.配置Assistants
15.数据库配置助手
16.密码管理
17.运行脚本
|
18.结束安装
安装结束
恢复
# vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
五.开机启动
RHEL5配置Oracle10g服务和实例自动启动
Linux中在Oracle安装完毕以后,如果重新启动Linux ,Oracle是不会自动启动的,你可以通过手动进行启动,也可以通过配置Oracle的自动启动脚本,然后利用Linux的Service来启动Oracle服务器.
首先在/etc/init.d/目录下配置Oracle的服务文件.
#cd /etc/init.d/
#touch oracle10g
#chmod a+x oracle10g
# vi /etc/init.d/oracle10g
添加如下信息:
#!/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# /etc/init.d/oracle10g
# description: starts the oracle dabase deamons
#
ORA_HOME=/oracle/product/10.1.0/db_1
ORA_OWNER=oracle
case "$1" in
start)
echo -n "Starting oracle10g: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle10g
echo
;;
stop)
echo -n "shutting down oracle10g: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle10g
echo
;;
restart)
echo -n "restarting oracle10g: "
$0 stop
$0 start
echo
;;
*)
echo "Usage: `basename $0` start|stop|restart"
exit 1
esac
exit 0
保存文件,退出以后,
3.添加并启动察看服务.
#/sbin/chkconfig--add oracle10g
#/sbin/chkconfig --list oracle10g
#/sbin/chkconfig --level 345 oracle10g on
重新启动Linux的时候,如果看到启动项Oracle出现OK,代表Oracle成功随Linux启动了.
注意:
这样的脚本启动一般不会启动实例,如果想让实例也随脚本一起启动的话,就需要修改文件:/etc/oratab
如果这个文件不存在,那么就得运行脚本文件产生它, ~/oracle/product/10.1.0/db_1/root.sh(以root身份运行)
比如我的oratab代码如下:
#
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third filed indicates
# to the dbstart utility that the database should , "Y", or shouldnot,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
orcl:/oracle/product/10.2.0/db_1:N
gzgi:/oracle /app/oracle/product/10.2.0/db_1:Y看设置,可以看出实例 gzgi 是自动启动的(表识是Y),而orcl的表识是N,则不启动.只要在这里设置好后,在配合上面的脚本,即可实现开机自动启动oracle以及实例了.