在过去对众多项目的支撑过程中,Oracle作为首选数据库,其安装与配置过程成了重复性最多的工作之一。
在此,我进行了总结,并分享出来,希望能对大家有所帮助。
随着Oracle版本的提升,从9i
->10g ->11g,其安装与配置过程其实越来越简单,尤其到了11g,会自动检测所缺少的系统软件包,并在系统参数配置方面进行自动调优。

在Linux下Oracle的安装配置过程我认为可分为三大步:
第一步
预安装的环境参数配置
在Windows下没有这一步,因为已经由安装程序直接完成了,Linux下目前也有相应的rpm软件包可进行快速设置,例如SUSE的orarun,但我强烈建议不要采用这类软件包,因为它们所完成的设置在参数、权限、目录规划等方面都存在不足。

第二步
实际的数据库安装过程
执行runInstaller安装数据库程序;
执行dbca创建数据库实例;
执行netca创建数据库监听和配置本地服务名;
这些过程与Windows平台上基本上没有什么差异。

第三步
系统服务的创建与配置
创建管理数据库服务的shell脚本,实现数据库的开机自启动和关机自停止。
这一步过程在Windows平台上可直接通过
管理工具-服务
进行配置。

鉴于Oracle10g与11g的安装与配置步骤基本相同,我就把它们整合在了一起,具体步骤如下:
一、预安装的环境参数配置

1.系统环境设置
确保交换分区的大小超过2G,且IP为固定IP,避免在安装环境检测时提示失败(若实在条件有限,可以强行安装)。

2.安装所需软件包
Oracle10g
需要安装以下软件包(*代表所有匹配的软件包都需要安装,请自行从安装光盘中获取):
#rpm
-Uvh setarch-* make-* glibc-* libaio-* compat-libstdc++-* compat-gcc-*
gcc-* libXp-* openmotif22-*
compat-db-*
Oracle11g 除了需要安装上面提到的软件包以外,还需要以下软件包:
#rpm
-Uvh sysstat-* unixODBC-* ksh-* binutils-* elfutils-*
注意:*代表通配符,意思是所有匹配的软件包都需要安装,以上软件包都可以在操作系统的安装光盘中找到。

3.修改/etc/redhat-release文件
因为Oracle
10g官方只支持到RHEL4和SUSE9,所以需要更改版本说明。
RHEL需要编辑/etc/redhat-release文件,暂时将内容修改为redhat-4。
SUSE需要编辑/etc/SUSE-relase,暂时将内容修改为SUSE-9。

Oracle11g已经支持最新的Linux发行版本,因此无需修改。

4.修改内核参数
#vi
/etc/sysctl.conf
32位Oracle推荐配置参数如下:

kernel.shmmax = 2147483648 //这里设置为物理内存的一半,但32位Linux最大仅支持4G,即4294967295字节。
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

64位Oracle推荐配置参数如下:

kernel.shmmax = 536870912 //这里设置为物理内存的一半。
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 1024 65500 //如果是11g则推荐 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

使更改立即生效,使用下面的命令:
#sysctl -p

5.建立安装Oracle需要的用户,组,及目录
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G dba oracle
#passwd
oracle

#mkdir /oracle
#chown -R oracle:oinstall /oracle
#chmod -R 775 /oracle

安装oracle的目录建议指定在一个单独的分区、磁盘或阵列上,以减少因操作系统问题而带来的数据风险。

6.设置oracle用户的shell
limit
#vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

更改/etc/pam.d/login文件,添加如下内容,使shell limit生效:
#vi /etc/pam.d/login

session                  required                pam_limits.so

7.配置oracle用户的环境变量

编辑/home/oracle目录下的.bash_profile文件,设置如下内容:

export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 //根据实际情况设置,如果是安装11g R2则将10.2.0更改为11.2.0。
export ORACLE_SID=orcl //根据实际情况设置
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH
export CLASSPATH
 
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

二、实际的数据库安装过程
首先,从Oracle官方网站下载所需的版本,个人推荐在64位的Linux操作系统上安装64位的Oracle,这样才能够获得良好的数据库性能。

Oracle官方下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Oracle10.2
32位:10201_database_linux32.zip
Oracle10.2
64位:10201_database_linux_x86_64.cpio.gz
Oracle11.2
64位:linux.x64_11gR2_database_1of2.zip ,
linux.x64_11gR2_database_2of2.zip

将安装文件放入/oracle/install
目录(以Oracle10.2
64位为例):
#mkdir /oracle/install
#mv
10201_database_linux_x86_64.cpio.gz /oracle/install/
#chown -R oracle:oinstall /oracle/install

解压数据库安装包:
#cd
/oracle/install
zip文件解压:#unzip
10201_database_linux32.zip
cpio.gz文件解压:#zcat 10201_database_linux_x86_64.cpio.gz | cpio -idmv

修改解压后的目录权限:
#chown -R oracle:oinstall
/oracle/install/database

Oracle的安装需要通过oracle用户登陆图形化终端(如Gnome,KDE)支持,通过以下几种方式可以实现:
使用Oracle用户直接本地登陆图形化终端;
配置VNC
Server,通过VNC
Client远程登陆Oracle用户图形化终端,配置方法:
http://heylinux.com/archives/669.html
配置并通过Xmanager的Xbrowser远程登陆Oracle用户图形化终端,配置方法:
http://heylinux.com/archives/394.html
将远程安装程序的图形化界面显示到本地,方法为:
启动Xmanager主程序,通过Oracle用户登陆命令行终端,
然后执行
$export DISPLAY=192.168.1.7:0.0 //请更改为当前实际操作命令终端的IP地址

使用Oracle用户登陆后,为了防止安装时出现中文乱码,先把语言环境改为英文:
$export
LC_CTYPE=en_US.UTF-8

解压后,开始安装Oracle数据库程序:
$database/runInstaller

下面以
Oracle10.2 64位
为例:
1.选择安装类型,这里选择高级安装,如下图所示:

2.指定证书存放目录,如下图所示:

3.选择安装的数据库类型及oracle所支持的语言,这里选择企业版,语言选择英文和简体中文,如下图所示:

4.指定oracle环境变量,安装路径。因为我们在.bash_profile中已经声明,所以这里会自动填充.如下图所示:

5.Oracle安装前的检查工作,如下图所示:

6.选择配置选项,这里我们选择仅安装数据库程序,数据库实例的创建则通过后面的dbca来单独完成,如下图所示:

7.点击“Next”,开始安装,在出现下图显示的内容时执行以下操作:

#su -
root
#/oracle/oraInventory/orainstRoot.sh
#/oracle/product/10.2.0/db_1/root.sh

8.安装完成,恢复操作系统版本信息。

执行dbca创建数据库实例:
$dbca

下面以
Oracle10.2 64位
为例:
1.选择创建数据库,如下图所示:

2.选择自定义数据库,如下图

3.输入数据库实例名,即SID(根据实际情况设置),如下图所示:

4.默认配置,点击“Next”,如下图所示:

5.输入管理用户密码,如下图所示:

6.选择数据库设备类型,默认使用操作系统的文件系统,如下图所示:

7.默认配置,点击“Next”,如下图所示:

8.默认配置,点击“Next”,如下图所示:

9.配置数据库安装组件,点击右下角“Standard
Database Components...”,取消“Oracle
JVM”与“Oracle
XML DB”,如下图所示:

10.配置数据库参数,修改字符集参数为“ZHS16GBK”与“UTF-8”,其他设置保持默认,如下图所示:

11.后面的步骤均保持默认配置,点击“Next”或“Finish”,直到安装完成。

三、系统服务的创建与配置
下面以
Oracle10.2 64位
为例:

1.编辑
/etc/oratab文件,配置以下选项:
orcl:/oracle/product/10.2.0/db_1 :Y //修改该选项最后的“N”为“Y”;

2.编写自定义脚本
创建用于启动、关闭与重启Oracle服务的自定义脚本并命名为oracle10g,内容如下:

# !/bin/sh
# chkconfig: 2345 80 03
# description: oracle dabase deamons
# filename:oracle10g
 
ORACLE_HOME=/oracle/product/10.2.0/db_1
ORACLE_OWNER=oracle
 
case "$1" in
'start')
ORACLE_PROCESS=`ps aux | grep ora_ | grep -v grep |wc -l`
if [ $ORACLE_PROCESS -ne 0 ];
        then
               echo "ERROR: Oracle already running."
               sleep 1
        else
                echo -n "Starting Oracle: "
               su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart
               touch /var/lock/subsys/oracle10g
               sleep 2
fi
ORACLE_LISTENER=`ps -e |grep tnslsnr |wc -l`
if [ $ORACLE_LISTENER -ne 0 ];
        then
               echo "ERROR: Listener already running."
               sleep 1
        else
               echo -n "Starting Listener: "
               su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
               sleep 2
fi
echo
;;
 
'stop')
ORACLE_LISTENER=`ps -e |grep tnslsnr |wc -l`
if [ $ORACLE_LISTENER -ne 0 ];
        then
               echo -n "Shutting down Listener: "
               su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
               sleep 2
        else
               echo "ERROR: Listener already shutdown."
               sleep 1
fi
ORACLE_PROCESS=`ps aux | grep ora_ | grep -v grep |wc -l`
if [ $ORACLE_PROCESS -ne 0 ];
        then
               echo -n "Shutting down Oracle: "
                su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut
               rm -f /var/lock/subsys/oracle10g
               sleep 2
        else
               echo "ERROR: Oracle already shutdown."
               sleep 1
fi
echo
;;
 
'restart')
echo "Restarting Oracle: "
$0 stop
$0 start
echo
;;
 
*)
echo "Usage: oracle { start | stop | restart }"
exit 1
 
esac
exit 0

3.配置自定义脚本
通过以下命令将自定义脚本添加至系统自动启动与自动关闭管理服务中:
#
cp oracle10g /etc/rc.d/init.d/
# chmod 744 /etc/rc.d/init.d/oracle10g
# chown oracle:oinstall /etc/rc.d/init.d/oracle10g
# ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc3.d/S99oracle10g
# ln -s
/etc/rc.d/init.d/oracle10g /etc/rc.d/rc5.d/S99oracle10g
# ln -s
/etc/rc.d/init.d/oracle10g /etc/rc.d/rc0.d/K01oracle10g
# ln -s
/etc/rc.d/init.d/oracle10g /etc/rc.d/rc6.d/K01oracle10g
这样,系统在开启时将会最后自动启动Oracle,而在关闭时会最先自动关闭Oracle。

4.使用自定义脚本
/etc/init.d/oracle10g start
//启动数据库
/etc/init.d/oracle10g stop
//关闭数据库
/etc/init.d/oracle10g restart
//重启数据库

四、卸载ORACLE
如果需要完全卸载Oracle,可通过以下步骤完成:
1.
停止oracle10g并删除自定义脚本
#/etc/init.d/oracle10g
stop
#rm -f /etc/init.d/oracle10g
2. 使用oracle用户执行
$ORACLE_HOME/bin/localconfig delete
3. $rm -rf $ORACLE_BASE/*
4. $rm -f /etc/oraInst.loc /etc/oratab
5. $rm -rf /etc/oracle
6. $rm -f /etc/inittab.cssd
7. $rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
8.
使用root用户删除oracle用户和组
#userdel -r oracle
#groupdel
oinstall
#groupdel dba
#groupdel oper
9.卸载完成

Oracle10g/11g 在SUSE/RHEL上的安装与配置的更多相关文章

  1. Win7上Git安装及配置过程

    Win7上Git安装及配置过程 文档名称 Win7上Git安装及配置过程 创建时间 2012/8/20 修改时间 2012/8/20 创建人 Baifx 简介(收获) 1.在win7上安装msysgi ...

  2. 在Linux上怎么安装和配置Apache Samza

    samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的.(准确的说,samza是通过模块化的形式来使用kafka的 ...

  3. Linux平台上轻松安装与配置Domino

    Linux平台上轻松安装与配置Domino Domino Server的编译安装过程中需要用到libstdc++-2.9和glibc-2.1.1(或者其更高的版本)两个编译模块,它们是Linux开发编 ...

  4. solr5.5.0在CenOS上的安装与配置

    solr5.5.0在CenOS上的安装与配置 1. Solr简介 Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XS ...

  5. MongoDB 3.2 在CentOS 上的安装和配置

    MongoDB 3.2 在CentOS 上的安装和配置   2016-01-06 14:41:41 发布 您的评价:       0.0   收藏     0收藏 一.安装 编辑/etc/yum.re ...

  6. java环境--JDK和Tomcat在linux上的安装和配置

    Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK ...

  7. Solr6.5在Centos6上的安装与配置 (一)

    这篇文章主要是介绍在Centos6上Solr6.5的安装与配置. 一.安装准备及各软件使用版本说明: 1.JDK8,版本jdk1.8.0_121下载地址:jdk-8u121-linux-x64.tar ...

  8. Nginx 在 Linux 上的安装和配置

    一.Nginx的安装 1.单台Nginx的安装 Nginx在Linux上的安装可以参考这篇博客:http://blog.csdn.net/molingduzun123/article/details/ ...

  9. nginx在linux上的安装与配置详解(一)

    Nginx的安装与配置详解 (1)nginx简介     nginx概念: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like ...

随机推荐

  1. hdu 1427 dfs

    速算24点 题意:随机给你四张牌,包括 A(1),2,3,4,5,6,7,8,9,10,J(11),Q(12),K(13).要求只用'+','-','*','/'运算符以及括号改变运算 顺序,使得最终 ...

  2. 微信web开发者工具调试

    微信web开发者工具调试 前几天写了一篇使用fiddler调试微信端页面的,然后博友评论说使用fiddler太麻烦了,推荐使用微信web开发者工具调试微信页面,这两天弄着玩了一下,很强大.这篇文章只是 ...

  3. 我的PHP之旅--SQL语句

    SQL语句 结构化查询语言(Structured Query Language)简称SQL,是一种操作数据的语言. 增加记录 INSERT INTO table_name(字段1, 字段2, 字段3) ...

  4. C# - 中断模式下的调试

    1. 设置断点 选中需要设置断点的行,右键选择断点插入断点,此行左侧显示红色圆形标志.或者F9 有几个条件断点类型: a. 条件断点 b. 命中次数,大于,几倍于,大于等于你设置的断点次数此时中断 c ...

  5. <一> MVC - HtmlHelper

    HtmlHelper类位于System.Web.Mvc.Html之中主要有七个静态类组成: FormExtensions - BeginForm, BeginRouteForm, EndForm In ...

  6. hdu 1255 覆盖的面积 (线段树处理面积覆盖问题(模板))

    http://acm.hdu.edu.cn/showproblem.php?pid=1255 覆盖的面积 Time Limit: 10000/5000 MS (Java/Others)    Memo ...

  7. 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处

    使用text-overflow:ellipsis对溢出文本显示省略号有两个好处,一是不用通过程序限定字数:二是有利于SEO.需要使用对对溢出文本显示省略号的通常是文章标题列表,这样处理对搜索引擎更友好 ...

  8. tomcat 端口被占用

    找到占用8080端口的是PID为 2392的进程,于是 ctrl +shift+esc ,然后将这个进程结束掉.

  9. codeforces Winner

    /* * Winner.cpp * * Created on: 2013-10-13 * Author: wangzhu */ /** * 先找出所有选手的分数和中最大的分数和,之后在所有选手的分数和 ...

  10. asp.net网站后台退出后,点后退按钮仍能进,如何安全退出

    用户登录成功后,将用户名保存Session Session["usrename"]=username; 退出后Sessssion["username"]=str ...