《在64-bit RHEL5上安装Oracle 11gR2》

文档说明:本文档综合Red Hat Enterprise Linux 5 (RHEL5)操作系统安装及Oracle Database 11g Release 2的安装。文档内容适合在测试服务器上安装Oracle数据库以供实验、测试使用,对于生产数据库,部分参数需要DBA根据生产环境手工调试。若在生产环境安装RHEL操作系统和Oracle数据库,请按照公司规章制度和实际情况或者参考官方文档来规划。

以下为操作系统及数据库安装步骤及说明。

文档目的:有好几个非DBA的同事问我怎么在Linux下安装Oracle 11G很多人觉得简单,可并不是所有人都这么认为。

概述

此文档内容涉及RHEL5操作系统安装及Oracle Database 11gR2的安装。我们将安装64bitRHEL操作系统及Oracle 64-bit数据库。

官方安装文档可供参考:

64-bit(x86_64)Oracle Database安装文档

Oracle Database Installation Guide 11g Release 2 (11.2) for Linux

Oracle Database Quick Installation Guide 11g Release 2 (11.2) for Linux x86_64

Red Hat Enterprise Linux文档

Installing Red Hat Enterprise Linux 5 for all architectures Edition 3.1

Installing Red Hat Enterprise Linux 5 for all architectures Edition 3.1

本文档指定如下参数,实际生产环境需根据需要进行相应配置:

ORACLE_BASE : /u01/app/oracle

ORACLE_HOME : /u01/app/oracle/product/11.2.0/db_1

ORACLE_SID : UPRR

操作系统安装

由于RHEL5图形化安装操作界面非常容易理解,操作系统安装部分介绍将相对简略,只对重点部分进行详述。详细安装过程可参考概述部分中RHEL官方安装文档。

请注意,如果有专门的SA负责系统安装,请提前通知其以下在安装过程中的注意事项,同时要求其安装必要RPM包。

安装过程:

1.插入安装光盘,系统会进入引导界面,引导安装RHEL操作系统。

2.从引导界面到语言选择都可根据需要选择。

3.检测之前安装:这一部分,通常会选择全新安装而非升级。

4.磁盘分区:这一部分需非常注意,尤其是SWAP分区的大小,可参照以下表格修改。

可用RAM

Swap Space

1GB-2GB

1.5*RAM

2GB-4GB

1*RAM

>8GB

0.75*RAM

1.网络配置:如果安装数据库的主机被用作数据库服务器,网络配置阶段请勿使用DHCP,需要分配一个静态IP。选中Enable IPv4 support选项,取消Use dynamic IP configuration (DHCP)选项和Enable IPv6 support选项。

以本机为例:

IPv4 Address: 192.168.0.100

Prefix (Netmask): 255.255.255.0

Hostname: RESOFT

2.Package安装部分,选择Customize now,勾选中以下Package Groups:

Desktop Environments

GNOME Desktop Environment

Applications

Editors

Graphical Internet

Text-based Internet

Development

Development Libraries

Development Tools

Legacy Software Development

Servers

Server Configuration Tools

Base System

Administration Tools

Base

Java

Legacy Software Support

System Tools

X Window System

3.全部配置好后,安装系统,然后会要求重启机器。

4.重启完成后,对以下部分进行重点配置:

1.Firewall: Disabled

2.SELinux: Disabled

3.Kdump: Disabled

5.配置完成。

根据以上几步,我们可以在短时间内完成RHEL5操作系统的安装,快速安装的前提是操作系统管理员及网络管理员对系统的安装进行了详细的规划。这包括分区、IP地址分配(请参照http://www.cnblogs.com/AlbertCQY/archive/2013/04/02/2996651.html)等。可能还有部分package在系统安装过程中并未安装,我们将在安装数据库过程中进行安装。

Oracle数据库安装

操作系统配置

1.以Root用户身份登录操作系统:

2.内核检查

[root@RESOFT~]# uname -rm

2.6.18-128.el5 x86_64

3.Swap空间检查:

Swap空间配置应符合下表要求:

可用RAM

Swap Space

1GB-2GB

1.5*RAM

2GB-4GB

1*RAM

>8GB

0.75*RAM

通过以下命令可查看内存大小

[root@RESOFT~]# cat /proc/meminfo | grep MemTotal

MemTotal: 4049876 kB

通过以下命令可查看Swap空间大小

[root@RESOFT~]# cat /proc/meminfo | grep SwapTotal

SwapTotal: 5116692 kB

1.检查/tmp目录

/tmp目录的空闲空间应该等于或大于400MB

[root@RESOFT~]# df -h /tmp

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 19G 2.2G 16G 13% /

1.内核参数

在安装Oracle Database前,需要在/etc/sysctl.conf文件中修改/添加如下内核参数:

kernel.shmmax =2073536512(建议)默认值为536870912

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 1048576

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304(建议)官方文档建议最小值:262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

修改完以上配置后,可以通过重启系统的方式使参数生效,也可以执行下面的命令,无需重启机器便可使参数生效:

# /sbin/sysctl -p

1.对Oracle用户,配置Shell Limites

为了让Oracle数据库在Linux系统上获得更佳的表现,Oracle推荐对Shell Limits进行如下配置:

Shell Limit

Item in limits.conf

Hard Limit

Maximum number of open file descriptors

nofile

65536

Maximum number of processes available to a single user

nproc

16384

可用过执行以下两段命令,修改配置:

cat >> /etc/security/limits.conf <<EOF

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

EOF

cat >> /etc/pam.d/login <<EOF

# Added for Oracle Shell Limits

session required /lib/security/pam_limits.so

session required pam_limits.so

EOF

修改默认的Shell startup file

可以使用如下命令查看当前shell

Ps

Echo $SHELL

若使用Bourne, Bash或Korn shell,则需要修改/etc/profile,执行以下命令:

cat >> /etc/profile <<EOF

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

EOF

若使用的是C shell(csh或tcsh),则需要修改/etc/csh.login文件:

cat >> /etc/csh.login <<EOF

if ( \$USER == “oracle” ) then

limit maxproc 16384

limit descriptors 65536

endif

EOF

1.检查防火墙是否关闭

如果忘记在安装系统过程中是否disabled firewall,可通过以下命令查看:

# /etc/rc.d/init.d/iptables status

如果防火墙没有关闭,可以通过以下命令关闭:

# /etc/rc.d/init.d/iptables stop

# chkconfig iptables off

1.网络配置

确保节点名称不出现在loopback address中

127.0.0.1RESOFT localhost.localdomain localhost

删除红色部分

127.0.0.1 localhost.localdomain localhost

1.为Oracle创建组及用户:

# groupadd -g 501 oinstall

# groupadd -g 502 dba

# groupadd -g 503 oper

# useradd -m -u 501 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c “Oracle Software Owner” oracle

# id oracle

# passwd oracle

1.验证nobody用户是否存在

# id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody)

如果不存在,需要使用以下语句添加:

# /usr/sbin/useradd nobody

1.创建Oracle Base目录

这个目录用来存储Oracle Database软件

# mkdir -p /u01/app/oracle

# chown -R oracle:oinstall /u01/app

# chmod -R 775 /u01/app

1.创建目录存储数据库文件(data file/backup file)

# mkdir -p /u02/oradata

# chown oracle:oinstall /u02/oradata

# chmod 775 /u02/oradata

# mkdir -p /u02/flash_recovery_area

# chown oracle:oinstall /u02/flash_recovery_area

# chmod 775 /u02/flash_recovery_area

1.配置Oracle用户登录脚本(.bash_profile)

以Oracle用户身份登录:

# su – oracle

修改如下参数:

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

export JAVA_HOME=/usr/local/java

# User specific environment and startup programs

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_PATH=$ORACLE_BASE/dba_scripts/common/sql:.:$ORACLE_HOME/rdbms/admin

export ORACLE_SID=UPRR

export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin

export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

export PATH=${PATH}:$ORACLE_BASE/dba_scripts/common/bin

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS10=$ORACLE_HOME/nls/data

export NLS_DATE_FORMAT=”DD-MON-YYYY HH24:MI:SS”

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

1.安装相应rpm包

64-bit的RHEL5系统中,需要安装以下包:

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

compat-libstdc++-33-3.2.3 (32 bit)

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-2.5-24 (32 bit)

glibc-common-2.5

glibc-devel-2.5

glibc-devel-2.5 (32 bit)

glibc-headers-2.5

ksh-20060214

libaio-0.3.106

libaio-0.3.106 (32 bit)

libaio-devel-0.3.106

libaio-devel-0.3.106 (32 bit)

libgcc-4.1.2

libgcc-4.1.2 (32 bit)

libstdc++-4.1.2

libstdc++-4.1.2 (32 bit)

libstdc++-devel 4.1.2

make-3.81

numactl-devel-0.9.8.x86_64

sysstat-7.0.2

检查包是否已经安装:

rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat

可使用以下两种方式安装rpm包:

1.插入系统安装盘,挂载安装盘:

mkdir -p /media/cdrom

mount -r /dev/cdrom /media/cdrom

cd /media/cdrom/Server

使用如下命令安装未安装的包:

Rpm –Uvh包名称

下载Oracle Database 11g R2软件

1.若无Metalink账号,可注册OTN账号,登录Oracle官网下载Oracle 11.2.0.1软件。

Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64

2.若有Metalink账号,可直接下载Oracle 11.2.0.3软件:

如果你有Metalink账号必是专业人士。

先创目录,以保存压缩包:

# su – oracle

$ mkdir -p ~oracle/orainstall

$ cd ~oracle/orainstall

下载安装软件后,解压缩:

Unzip p10098816_112020_Linux-x86-64_1of7.zip

Unzip p10098816_112020_Linux-x86-64_2of7.zip

安装Oracle数据库软件

在以下的步骤中,我们只安装数据库软件,不创建数据库。

在安装前我们要确认连接的服务器是否是我们要安装数据库的服务器,同时打开X server连接。

以root用户登录

su –

验证服务器:

hostname

允许X server连接:

xhost +

access control disabled, clients can connect from any host

以oracle用户登录

su – oracle

可用过windows下的ipconfig命令或linux下的who命令查看远程用户ip,用以替换<your local workstation>

如果使用远程用户连接,需要设置DISPLAY变量,以允许图形化界面在远程用户主机上显示。

DISPLAY=<your local workstation>:0.0

export DISPLAY

使用以下命令启动runInstaller安装程序:

/home/oracle/orainstall/database/runInstaller -ignoreSysPrereqs -ignoreInternalDriverError

多数情况不用加-ignoreSysPrereqs –ignoreInternalDriverError

之所以加-ignoreInternalDriverError,请参考:

INS-30060: Check for group existence failed.

Cause: Unexpected error occurred while trying to check for group existence.

Action: Refer to the logs or contact Oracle Support Services. Note for advanced users: Launch the installer by passing the following flag ‘-ignoreInternalDriverError’.

或者,不使用X-server工具,直接进入RHEL5图形环境去安装

./runInstaller

1.Configure Security Updates

去除勾选,点击NEXT。

2.Download Software Updates

选择Skip software updates,点击NEXT。

3.Installation Option

选择只安装数据库软件,点击NEXT。

4.Grid Installation Options

选择单实例数据库安装,点击NEXT。

5.选择产品语言

默认英语,点击NEXT。

6.Database Edition

选择企业版,然后选择相应选件,点击OK,NEXT。

7.Installation Location

软件自动选择ORACLE_BASE与ORACLE_HOME目录,我们之前已经在操作系统配置部分已经配置了oracle用户的/home/oracle/.bash_profile文件,其中指定了ORACLE_BASE与ORACLE_HOME目录。所以在此步中系统会自动选择路径。

8.Create Inventory

9.Operating System Groups

选择操作系统组。

10.Prerequisite Checks和Summary

如果系统配置有问题(系统内核参数设置有误、磁盘空间不足、内存不足、某些包未安装全),会在Prerequisite Checks这一步给出提示。

在Summary中,有对整体安装的配置概要。

11.Install Product

安装产品

12.执行脚本

以root用户身份登录,执行图示的两个脚本:

/u01/app/oraInventory/orainstRoot.sh

/u01/app/oracle/product/11.1.0/db_1/root.sh

13.安装成功

执行完脚本后,点击OK,提示Oracle Database安装成功!

安装数据库补丁集

有metalink账号的朋友可以下载最新的PSU补丁。如果只是测试直接跳过。

请按照patchs中的readme文档来安装psu补丁。

创建数据库实例

以oracle 用户登录,执行DBCA命令

第一次安装之前会提示没有监听程序,那么按照监听创建向导创建监听即可。(默认步骤即可)

[oracle@resoft ~]$ dbca

Create a Database

输入数据库实例名:UPRR

最后点击finish

Install Oracle on RHEL5 - step by step相关推荐

  1. NHibernate Step by Step:序篇 (转)

    原文出处:http://www.cnblogs.com/abluedog/archive/2006/04/15/375676.html 原文作者:abluedog 很久以前,你可能习惯了connect ...

  2. Install Oracle Instant Client on Linux and Windows

    前言 本篇文章用最简单和快速的方法介绍如何在Red Hat Enterprise Linux安装Oracle Instant Client,该方法同样适用于Windows,RHEL5/6/7,OEL, ...

  3. Step by Step Setup Git Server on Windows with CopSSH + msysGit and Integrate Git with Visual Studio

    Introduction First of all, let me clarify that Git doesn't need to specify the side for client and s ...

  4. Asp.Net Core 5 REST API - Step by Step(一)

    翻译自 Mohamad Lawand 2021年1月19日的文章 <Asp.Net Core 5 Rest API Step by Step> [1] 在本文中,我们将创建一个简单的 As ...

  5. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (四) Q 反回调...

    上一篇文章"e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) Sq ...

  6. 简单的exp全备份脚本及部署过程(step by step)

    简单的exp全备份脚本及部署过程(step by step) 源于以前同事的备份需求,现在我很少用exp,基本上是rman+standby了 需求:每天数据库exp全备份+自动删除7天前的备份,系统只 ...

  7. SharePoint 2013 Step by Step——How to Create a Lookup Column to Another Site(Cross Site) 阅读目录...

    阅读目录 OverView Step by Step-> Create Lookup Site Column in a parent site(root website) 回到顶部 OverVi ...

  8. 【转】Coherence Step by Step

    转载地址: http://www.cnblogs.com/danye/archive/2012/07/30/CoherenceStart1.html Coherence Step by Step 第一 ...

  9. ChatGPT初体验step by step:ChatGPT解决人类提出的数理逻辑问题,Python编程实践

    ChatGPT初体验step by step:ChatGPT解决人类提出的数理逻辑问题,Python编程实践 如果已有有效的open ai的api key,则跳过本文(1)(2)(3)(4),直接从( ...

最新文章

  1. ScrollView嵌套ListView处理事件冲突
  2. php星期_高手指点PHP星期几获取方法
  3. Windows UWP开发系列 – RelativePanel
  4. app 名字 android,SiRi App For Android名字特殊符号_九游手机游戏
  5. 亲测有用的downie下载站点
  6. .NET也内卷了,BAT大厂近日上演抢人大战!
  7. python中range函数是什么意思_python里range是什么
  8. 计算机制图缺点,CAD与其它制图软件相比较的优缺点
  9. oneday2mybatis下载
  10. 关于mysql卸载不干净
  11. MYBATIS 文档
  12. adb 配置自动获取时间 使用GPS提供的时间 使用网络提供的时间
  13. Windows 7 旗舰版高效办公 - 驱动安装
  14. Flutter 3.0 发布啦~快来看看有什么新功能-2022 Google I/O
  15. Filebeat实现简单格式化数据dissect
  16. vue3实战项目——网易云App【01-项目准备】
  17. 常用手机尺寸以及分辨率
  18. 【SQL Server】模糊查询
  19. 第二类换元法之倒代换习题
  20. python(第九天)

热门文章

  1. 【报告分享】2020年教育行业OMO模式转型现状研究报告.pdf(附下载链接)
  2. 中科院院士张钹:大数据驱动的人工智能有大量毛病,且是根本性的
  3. 解决vscode连接远程服务器remote-ssh连接不上的问题
  4. Python入门到精通三天速成第一讲——创建自定义类
  5. linux查看程序中最耗时的代码,【Linux】CPU时间与处理器耗时
  6. Facebook广告费用如何出价?
  7. PHP怎么接收字符串,求大神救命!!php接收到是空的字符串
  8. 3m格式的文件怎么转换成mp3_怎么将电脑上的mp4文件转换成mp3格式
  9. Linux编程(7)_gdb
  10. 大数据行业到底有多少种工作岗位,各自的技能需求是什么?