Install and configure Oracle 11g Release 2 on Redhat 6.3 Enterprise Linux 64 step by step

来源:互联网 发布:php过滤频繁ip请求 编辑:程序博客网 时间:2024/06/10 07:37

  本篇试图以初学者的角度来剖析 Oracle 11g R2 数据库在 Redhat  Enterprise Linux 6.3 的安装与配置。

  我在64位的 Redhat Enterprise Linux 6.3 操作系统上进行数据库安装。Redhat Enterprise Linux 6.3 的安装参考 
  http://blog.csdn.net/issacyoung227/article/details/11786601 。

  安装前准备工作

  安装的是 Oracle 11.2.0.3 ,安装之前检查安装过程中所需的 RPM 软件包。

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

  如果有缺少 RPM 包,就会显示... is not installed 。例如 package compat-libstdc++-33 is not installed ,这时就需要从系统的镜像文件找到相应的 RPM 包,装上即可。我用的 Hyper-V 装的 Redhat Linux ,装了windows 集成服务后,挂载镜像出了 bug 。没关系,在 windows 下把你的镜像文件打开,找到 Package 目录,然后将相应缺少的包复制传送到虚机 Linux 中再用也行,用 rpm命令安装。例如: rpm -Uvh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm。这里讲到了Hyper-V 虚机与主机传送文件,建议用ftp 工具,这里有个 WinScp 的ftp 工具下载地址: http://download.csdn.net/detail/ywy0012011/6299885 。

  缺少的软件包都安装上了,就会通过检查。

  安装过程

  以 root 用户登录开始安装。安装过程主要分为两种工作:1. 修改系统参数 ; 2. 软件安装。

  第一步,添加相关用户和用户组

  创建一个主组 oinstall ,副组 dba。

  groupadd oinstall

  groupadd dba

  创建用户 oracle ,设置密码为:oracle。

  useradd -m -g oinstall -G dba oracle

  passwd oracle

  第二步,创建 oracle 安装目录、oraInventory目录及修改权限

  mkdir -p /u01/app/oracle

  mkdir -p /u01/app/oraInventory

  chown -R oracle:oinstall /u01/app

  chmod -R 755 /u01/app

  第三步,修改系统内核参数 vi /etc/sysctl.conf

  fs.aio-max-nr = 1048576
  fs.file-max = 6815744
  kernel.shmall = 2097152
  kernel.shmmax = 2147483648
  kernel.shmmni = 4096
  kernel.sem = 250 32000 100 128
  net.ipv4.ip_local_port_range = 9000 65500
  net.core.rmem_default = 262144
  net.core.rmem_max = 4194304
  net.core.wmem_default = 262144
  net.core.wmem_max = 1048586

  小技巧: 修改保存 /etc/sysctl.conf 文件之后立刻生效命令 sysctl -p。 

  提醒下:shmmax是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax设置应足够大,能在一个共享内存段下容纳下整个的SGA,设置的过低可能会导致需要创建多个共享内存段,可能导致系统性能的下降 。我分配给这台虚拟机的内存为 2G ,设置为2G。你可以根据自己的情况来设定,这是个用了比较的数据,当共享内存段被一个进程(Process)创建,操作系统检查是否被要求的共享内存段的值大于shmmax 的值 ,如果是,那么将会抛出一个错误。

 第四步,设置 oracle 用户的 shell limit,  vi /etc/security/limits.conf

oracle soft nproc 2047  

oracle hard nproc 16384
oracle soft nofile 1024
oracle har nofiel 65536

 添加参数, vi /etc/pam.d/login

session    required     pam_limits.so

 第五步,设置 oracle 用户的环境变量及hostname

  ORACLE_SID 是指数据库实例名,自己根据情况指定,NLS_LANG 设置为中文字符集。.bash_profile 文件是在用户首次登录时会执行,.bashrc 文件是在用户切换命令窗口执行。 vi /home/oracle/.bash_profile

export TMP=/tmp
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=mastest
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

 注册 Hostname 到/etc/hosts,安装时才能识别你的 Hostname。 vi /etc/hosts

192.168.106.141 issacyang

 第六步,解压 oracle 安装包,安装软件

  压缩包上传到系统 oracle 用户的目录下,可以放在 /u01/software 下。

  注销 root 用户,登录 oracle 用户,这时可以用 echo $ORACLE_HOME 的命令检查环境变量设置成功与否。在 oracle 安装包的目录下,解压安装包。

  unzip p10404530_112030_Linux-x86-64_1of7.zip 

  unzip p10404530_112030_Linux-x86-64_2of7.zip

  Oracle 11g Release 2 linux x86官方的安装包分两个文件,一个1.2G一个900+M,解压缩后会有一个database文件夹

  cd /u01/software/database

  ./runInstaller

  检测通过了,就会进入软件安装图形界面,安装过程中没提到的界面选择默认即可。


  

  反选 I wish to ... , Next 


  

  勾选 Skip software updates 不需要软件更新, Next。选择单例安装, Next。

  安装选项选择 Install software only,配置工作可以在安装后另行配置, Next。


  

  选择产品语言,将简体中文选上,Next。


  

  oracle 和 oraInventory 的安装目录是原先设置环境变量设置的$ORACLE_HOME ,默认即可。Next 到检查 Prerequisite,检查到有错误,直接忽略就行。


  

  选择 Install ,开始安装工作,完成后,安装就结束了。


  

  创建数据库

  创建一个跟  $ORACLE_SID 对应的数据库实例,运行 dbca 命令可以进入配置数据库图形界面,再进行自定义安装。


 

   到了第三步时,填上跟 ORACLE_SID 对应的数据库名称。


  

  第五步,设置用户密码,我这边为了方便选择同一密码。


   

  第九步中,选择 Charset 设置数据库的字符集,选择 ZHS16GBK,确保数据库兼容中文。


  

  选择默认,开始安装,需要等待一段时间,数据库创建完成。

 

  配置监听(LISTENER)和本地服务名(TNS)

  可以通过修改 $ORACLE_HOME/network/admin 的 listener.ora 和 tnsnames.ora 文件直接配置。我这里用图形界面配置,直观些。运行 netca 命令,进入图形配置界面:


  

  勾选 Listener configuration 一直默认完成即可,监听配置完成。


  

  接着配置 Local Net Service Name configuration,Next。


  

  指定 Net Service Name ,以及 hostname ,其他默认即可。


  

  配置完成后,点击 Finish 。

  将新建的数据库与监听关联上,运行 netmgr 命令,进入图形界面配置。


  

  Global Database Name 和 SID 填上新建的数据库 mastest。


  

  保存配置,再退出。


  监听、TNS 配置OK,可以去对应目录下自定义修改相应的监听和TNS文件。

  运行 lsnrctl status ,可以看到是否有监听实例启动。

[oracle@issacyang admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 23-SEP-2013 09:47:55

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=issacyang)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                23-SEP-2013 07:57:01
Uptime                    0 days 1 hr. 50 min. 56 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/issacyang/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=issacyang)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "mastest" has 1 instance(s).
  Instance "mastest", status READY, has 1 handler(s) for this service...
Service "mastestXDB" has 1 instance(s).
  Instance "mastest", status READY, has 1 handler(s) for this service...
The command completed successfully

  

  数据库测试

  安装配置完成后需要测试是否能正常运行数据库。

[oracle@issacyang admin]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.3.0 Production on Mon Sep 23 10:01:28 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select user from dual;

USER
------------------------------
SYS

   sqlplus 能成功进入,说明安装配置都成功了。至此,在 Redhat Enterprise Linux 6.3 安装 oracle 11g R2 的安装与配置完成了,仅供参考,如有纰漏,不吝赐教。

原创粉丝点击