linux6 安装oracle11g

安装环境:     虚拟机VMware Workstation 10.0

    操作系统:    64位系统,RedHat.Enterprise.Linux.Server-v6.3-x86_x64.ISO

    Oracle版本: Linux_x64_Oracle_11gR2_v11.2.0.1.0

  安装过程主要分为以下3步:

    1. 配置系统参数
    2. 软件安装与数据库配置
    3. 配置优化与测试

PS:在本教程中,所有方框均代表在Linux系统的终端进行操作,其中:

  蓝色字体:终端命令代码

  红色字体:新增或修改的参数

第1章 配置系统参数

 在本章节中主要完成Oracle安装前的系统参数配置工作。若无特殊说明,均为以root身份在终端上进行操作。

1.1、设置主机和网络参数

需设置主机名和固定IP,以便oracle监听程序的建立。

1.1.1、设置主机名

[root@rhel6 ~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME= rhel6.localdomain

HOSTNAME(主机名)请根据个人喜好进行设置。

1.1.2、设置网络参数

[root@rhel6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

ONBOOT="yes"

BOOTPROTO=static

IPADDR=192.168.18.101

NETMASK=255.255.255.0

GATEWAY=192.168.18.2

DNS1=192.168.18.2

IPADDR(IP地址)、NETMASK(子网掩码)、GATEWAY(默认网关)、DNS1(主DNS)请根据实际网络环境进行设置。

1.1.3、修改 hosts 文件

在文件【/etc/hosts】最后追加以下内容:

[root@rhel6 ~]# vim /etc/hosts

127.0.0.1        localhost    localhost.localdomain    localhost4    localhost4.localdomain4

::1            localhost    localhost.localdomain    localhost6    localhost6.localdomain6

192.168.18.101    oracle        oracle.localdomain    rhel6.localdomain

注意:必须将主机名对应到主机真实ip地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上。主机名可根据个人喜好进行设置。

1.1.4、重启服务器

[root@rhel6 ~]# reboot

1.2、安装依赖软件包

使用RedHat.Enterprise.Linux.Server-v6.3-x86_x64-DVD.iso做yum源安装依赖软件包。

1.2.1、新建挂载目录

[root@rhel6 ~]# mkdir /media/rhel6_dvd

1.2.2、挂载DVD到目录

[root@rhel6 ~]# mount /dev/cdrom /media/rhel6_dvd

1.2.3、新建使用DVD为源的repo文件

[root@rhel6 ~]# cd /etc/yum.repos.d/

[root@rhel6 yum.repos.d]# vim rhel6.repo

[rhel6]

name=rhel6

baseurl=file:///media/rhel6_dvd

enabled=1

gpgcheck=0

1.2.4、清空 yum 信息

[root@rhel6 yum.repos.d]# yum clean all

1.2.5、更新 yum 信息

[root@rhel6 yum.repos.d]# yum update

1.2.6、安装依赖软件包

[root@rhel6 yum.repos.d]# yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*

[root@rhel6 yum.repos.d]# cd

因为版本不同,在 第2章软件安装及数据库配置过程,可能会提示缺少依赖包,忽略后可以正常安装使用 Oracle。

 

1.3、修改系统内核参数

1.3.1、修改sysctl.conf文件

在文件【/etc/sysctl.conf】中追加以下内容:

[root@rhel6 ~]# vim /etc/sysctl.conf

kernel.sem = 250 32000 100 128

kernel.shmall = 2097152

kernel.shmmax = 1073741824    

kernel.shmmni = 4096

fs.aio-max-nr = 1048576

fs.file-max = 6815744

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

net.ipv4.ip_local_port_range = 9000 65500    

注意: kernel.shmmax 的值是物理内存的一半。 我的是2G内存,所以是1073741824。

参数说明: kernel.shmmni:整个系统共享内存段的最大数目

fs.file-max:系统中所允许的文件句柄最大数目

net.core.rmem_default:套接字接收缓冲区大小的缺省值

net.core.rmem_max:套接字接收缓冲区大小的最大值

net.core.wmem_default:套接字发送缓冲区大小的缺省值

net.core.wmem_max:套接字发送缓冲区大小的最大值

net.ipv4.ip_local_port_range:应用程序可使用的IPv4端口范围

1.3.2、使内核参数实时生效

[root@rhel6 ~]# sysctl -p

如果有如下提示错误,忽略,因为即使未修改参数也提示有这个错误:

    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

    error: "net.bridge.bridge-nf-call-iptables" is an unknown key

    error: "net.bridge.bridge-nf-call-arptables" is an unknown key

 

1.4、配置用户和组

1.4.1、创建用户和用户组

[root@rhel6 ~]# groupadd dba

[root@rhel6 ~]# groupadd oinstall

[root@rhel6 ~]# useradd -g oinstall -G dba oracle

[root@rhel6 ~]# passwd oracle

1.4.2、修改/etc/security/limits.conf文件

在文件【/etc/security/limits.conf】最后添加以下内容:

[root@rhel6 ~]# vim /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

1.4.3、修改/etc/pam.d/login文件

在文件【/etc/pam.d/login】最后添加以下内容:

[root@rhel6 ~]# vim /etc/pam.d/login

session required pam_limits.so

1.4.4、修改/etc/profile文件

在文件【/etc/profile】最后添加以下内容:

[root@rhel6 ~]# vim /etc/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

 

1.5、配置安装目录和环境变量

1.5.1、新建安装目录

本文将Oracle安装在目录【/home/app/oracle】中,若需安装在其他位置,请自行修改。

[root@rhel6 ~]# mkdir -p /home/app/oracle

[root@rhel6 ~]# mkdir -p /home/app/oraInventory

1.5.2、设置目录所有权和权限

[root@rhel6 ~]# chown -R oracle:oinstall /home/app/oracle

[root@rhel6 ~]# chown -R oracle:oinstall /home/app/oraInventory

[root@rhel6 ~]# chmod -R 775 /home/app

1.5.3、配置Oracle用户环境变量

在终端上切换到oracle用户,在文件【/home/oracle/.bash_profile】最后添加以下内容:其中ORACLE_SID的值可自己定,这里设为orcl,在第2章安装时的ORACLE_SID也应设置为orcl

[root@rhel6 ~]# su - oracle

[oracle@rhel6 ~]# vim .bash_profile

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/home/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
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
umask 022

1.5.4、使环境变量生效

[oracle@rhel6 ~]# source ~/.bash_profile

 

1.6、防火墙设置

1.6.1、开放Oracle远程端口

在文件【/etc/sysconfig/iptables】内增加以下内容:

[oracle @rhel6 ~]# su - root

[root@rhel6 ~]# vim /etc/sysconfig/iptables

 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT

Oracle远程访问端口默认是1521,OEM端口1158,若自定义新端口,请开放相应端口。

注意:新开放端口的配置必须紧跟着放在端口22的配置后面。

1.6.2、重启防火墙

[root@rhel6 ~]# service iptables restart

 

iptables: Flushing firewall rules: [ OK ]

iptables: Setting chains to policy ACCEPT: filter [ OK ]

iptables: Unloading modules: [ OK ]

iptables: Applying firewall rules:             [ OK ]

1.6.3、查看防火墙状态

[root@rhel6 ~]# service iptables status

Table: filter

Chain INPUT (policy ACCEPT)

num  target   prot  opt    source       destination

1    ACCEPT    all   --    0.0.0.0/0    0.0.0.0/0    state RELATED,ESTABLISHED

2    ACCEPT    icmp     --    0.0.0.0/0    0.0.0.0/0    

3    ACCEPT    all     --    0.0.0.0/0    0.0.0.0/0    

4    ACCEPT    tcp       --    0.0.0.0/0    0.0.0.0/0    state NEW tcp dpt:22

5    ACCEPT    tcp       --    0.0.0.0/0    0.0.0.0/0    state NEW tcp dpt:1521

6        REJECT    all        --    0.0.0.0/0    0.0.0.0/0    reject-with icmp-host-prohibited

 

Chain FORWARD (policy ACCEPT)

num  target   prot  opt    source       destination

1      REJECT    all      --     0.0.0.0/0    0.0.0.0/0    reject-with icmp-host-prohibited

 

Chain OUTPUT (policy ACCEPT)

num  target   prot  opt    source       destination

 

 

第2章 软件安装与数据库配置

2.1、准备Oracle安装文件

2.1.1、上传安装文件包

  可从Oracle官网下载安装文件:linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip。

  并上传到RHEL6系统中的【home/oracle】,具体上传方法此处不再赘述,请各位童鞋自己查阅相关资料。本文采用的是SSH Secure Shell的File Transfer Client进行上传。

2.1.2、解压安装文件包

切换到oracle用户,GNOME图形界面登录,然后进行解压。

[oracle@rhel6 ~]# cd /home/oracle

[oracle@rhel6 oracle]# unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip

2.2、安装Oracle软件和数据库

2.2.1、启动Oracle安装

[oracle@rhel6 ~]# cd /home/oracle/database

[oracle@rhel6 database]# ./runInstaller

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB. Actual 35279 MB Passed

Checking swap space: must be greater than 150 MB. Actual 4095 MB Passed

Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-11-03_05-54-11PM. Please wait ...

  待安装文件检查结束后,即出现图形界面。

2.2.2、图形界面安装

2.2.2.1、Step01.配置安全更新

取消勾选,不接收安全更新,然后点击【Next】,弹出提示窗口,选择【Yes】

2.2.2.2、Step02.选择安装选项

包含3个安装选项:

  1. 创建和配置数据库
  2. 仅安装数据库软件
  3. 升级现有数据库

这里我们选择【创建和配置数据库】,然后点击【Next】:

2.2.2.3、Step03.选择系统类

包含2个选项:

  1. 桌面类:如果要在笔记本或桌面类系统中安装,则选择此选项,此选项包括启动数据库并允许采用最低配置。
  2. 服务器类:如果要在服务器类系统中进行安装(如在生产数据中心内部署Oracle时使用的内容),则选择此选项,此选项允许使用更多高级配置选项。

为了能使用更多高级配置选项,我们选择【服务器类】,然后点击【Next】:

2.2.2.4、Step04.节点选择

包含2个选项:

  1. 单实例数据库安装
  2. Real Application Clusters数据库安装

选择【单实例数据库安装】,然后点击【Next】:

2.2.2.5、Step05.选择安装类型

包含2个选项:

  1. 典型安装:使用基本配置执行完整的Oracle Database安装
  2. 高级安装:可以选择高级选项,例如:为SYS、SYSMAN、SYSTEM和DBSNMP账户使用不同口令,选择数据库字符集,产品语言,自动备份,定制安装及备用存储选项(例如自动存储管理)。

选择【高级安装】,然后点击【Next】:

2.2.2.6、Step06.选择产品语言

默认已添加了【English】,在左侧语言列表中找到简体中文【Simplified Chinese】,并添加到右侧,然后点击【Next】:

2.2.2.7、Step07.选择数据库版本

包含3个选项:

  1. 企业版:具有可伸缩性、高性能、高可用性和安全功能的自行管理的数据库,能够满足大多数高标准的关键任务应用程序的需求。
  2. 标准版:标准版是寻求低成本解决方案的工作组、部门和中小企业的理想选择。
  3. 标准版1:标准版1是寻求低成本解决方案的工作组、部门和中小企业的理想选择。

选择【企业版】,然后点击【Next】:

2.2.2.8、Step08.指定安装位置

设置Oracle基目录为1.5.1中新建的目录:/home/app/oracle,则软件位置会自动为:/home/app/oracle/product/11.2.0/dbhome_1,然后点击【Next】:

2.2.2.9、Step09.创建产品清单

设置Oracle清单目录为1.5.1中新建的目录:/home/app/ oraInventory,选择组"oinstall",然后点击【Next】:

2.2.2.10、Step10.选择配置类型

包含2个选项:

  1. 一般用途/事务处理:为一般用途或高事务处理量应用而设计的启动数据库。
  2. 数据仓库:为数据仓库应用程序而优化的启动数据库。

这里我选择【一般用途/事务处理】,然后点击【Next】:

2.2.2.11、Step11.指定数据库标识符

指定Oracel全局数据库名和服务标识符为:orcl(在第1.5.3节提到),然后点击【Next】:

2.2.2.12、Step12.指定配置选项

在【内存】页中勾选【启用自动内存管理】,在【字符集】页中选择【使用Unicode】,然后点击【Next】:

2.2.2.13、Step13.指定管理选项

选择【使用Database Control管理数据库】,然后点击【Next】:

2.2.2.14、Step14.指定数据库存储选项

选择【文件系统】,并设置路径为:/home/app/oracle/oradata,然后点击【Next】:

2.2.2.15、Step15.指定恢复选项

选择【不启用自动备份】,然后点击【Next】:

2.2.2.16、Step16.指定方案口令

这里我选择【对所有账户使用相同口令】,然后输入密码,当然你也可以为不同用户设置不同密码。然后点击【Next】:

2.2.2.17、Step17.特权操作系统组

设置数据库管理员组为【dba】,数据库操作者组为【oinstall】。然后点击【Next】:

2.2.2.18、Step18.执行先决条件检查

若提示有程序包不存在,是因为1.2节的yum源安装软件包的版本不一样,所有可选择【忽略全部】,然后点击【Next】:

2.2.2.19、Step19.概要

查看安装概要,若无问题,则可点击【Finish】结束配置,开始进行安装:

2.2.2.20、Step20.安装产品

2.2.2.20.1、软件安装及配置数据库

2.2.2.20.2、运行配置脚本

软件及数据库配置完成后,需要运行配置脚本:

打开命令终端,切换到root用户,并执行脚本:

[oracle@rhel6 ~]# su - root

Password:

[root@rhel6 ~]# /home/app/oraInventory/orainstRoot.sh

Changing permissions of /home/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /home/app/oraInventory to oinstall.

The execution of the script is complete.

[root@rhel6 ~]# /home/app/oracle/product/11.2.0/dbhome_1/root.sh

Running Oracle 11g root.sh script...

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /home/app/oracle/product/11.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: /usr/local/bin

Copying dbhome to /usr/local/bin ...

Copying oraenv to /usr/local/bin ...

Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root.sh script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

执行完成后,切换到图形安装界面,点击【OK】

2.2.2.21、Step21.安装完成

到此,Oracle11g数据库软件和配置数据库已完成。并显示了Oracle企业管理器(OEM)的URL:https://oracle:1158/em,使用方法请看第3章。

 

第3章 配置优化与测试

3.1、设置Oracle和OEM随机启动

  本小节以root身份进行操作。

3.1.1、修改/etc/oratab文件

[root@rhel6 ~]# vim /etc/oratab

orcl:/home/app/oracle/product/11.2.0/dbhome_1:Y (将N改为Y

3.1.2、修改dbstart和dbshut文件

[root@rhel6 ~]# cd /home/app/oracle/product/11.2.0/dbhome_1/bin

[root@rhel6 bin]# vim dbstart

ORACLE_HOME_LISTNER=$ORACLE_HOME (将$1改为$ORACLE_HOME

[root@rhel6 bin]# vim dbshut

ORACLE_HOME_LISTNER=$ORACLE_HOME (将$1改为$ORACLE_HOME

3.1.3、建立启动脚本

[root@rhel6 bin]# cd

[root@rhel6 ~]# vim /etc/rc.d/init.d/oracle

#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
stop)
echo "-----shutdwn oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0

3.1.4、设置脚本权限

[root@rhel6 ~]# chmod 755 /etc/rc.d/init.d/oracle

3.1.5、建立Oracle服务

[root@rhel6 ~]# chkconfig --add oracle

[root@rhel6 ~]# chkconfig oracle on

 

3.2、测试连接

  本小节以oracle身份进行操作。

3.2.1、连接数据库

[oracle@rhel6 ~]# sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on Sun Nov 10 16:20:48 2013

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 -64bit Production

SQL> startup

ORA-01081: cannot start already-running ORACLE -shut it down first

  在3.1.5中已启动Oracle服务,会自动启动数据库,故这里提示不能启动已运行的ORACLE。

3.2.2、启动OEM客户端

[oracle@rhel6 ~]# emctl start dbconsole

Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0

Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.

https://oracle:1158/em/console/aboutApplication

-An instance of Oracle Enterprise Manager 11g Database Control is already running.

  在3.1.5中已启动Oracle服务,会自动启动OEM,故这里OEM实例已运行。

 

3.3、登录Oracle企业管理器(OEM)

打开系统的FireFox浏览器,并输入OEM的URL:https://oracle:1158/em,输入sys用户和密码,以SYSDBA身份登录:

登录成功后,即可看到详细页面:

  因我们在1.6.1中已开放了OEM的外部访问端口1158,因此也可以从其他可访问本数据库服务器的机器中访问OEM。因我们安装Oracle时安装了简体中文语言包,所以在我的中文Windows系统中访问OEM时,是中文界面:

 

3.4、配置PL/SQL Developer

  到这里,在Redhat.Enterprise.Linux_v6.3_x64位系统中安装和配置Oracle_11gR2_v11.2.0.1.0已经全部完成。但这只是安装了数据库,而要进行数据库开发,还得有相应的开发工具,这里推荐使用PL/SQL Developer,目前最新版本是10.0,具体的安装文件请各位自己网上找,下载好后进行安装,需要强调一点:安装路径中不能有括号,不要安装在C:/Program Files (x86)目录下面

  客户机上用PL/SQL Developer连接Oracle数据库,需要oci,有2种方式:

  1. Oracle的完整客户端:注意PL/SQL Developer目前不支持64位的oci,若使用此方式则建议安装32位版的完整客户端。若客户机已经安装了64位版的完整客户端,则可参照使用下面的方法进行配置连接。
  2. Oracle的即时客户端:此方法最方便快捷,我在这也只介绍此方式。

3.4.1、下载Oracle客户端

  下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,点击连接会进入下载页面,选择Instant Client for Microsoft Windows (32-bit)进行下载。

3.4.2、配置Oracle客户端

  下载之后将其解压,不需要进行安装,我这里将其解压到D:/Oracle/App/product/11.2.0目录下,然后在instantclient_11_2目录下新建两层文件夹/NETWORK/ADMIN,再在ADMIN文件夹下面新建个文本文件,改名为tnsnames.ora,并向文件中添加如下内容:

ORCL_101 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.101)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

  连接名orcl_101可以自定义。

  当然以上的内容也可以从前面安装Oracle数据库的RedHat Linux服务器内的文件中拷贝:/home/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

3.4.3、配置PL/SQL Developer

    安装PL/SQL Developer完成之后运行,此时出现的登录窗体不进行登录,点击Calcel按钮,这时会在无登录状态下进入,依次选择Tools ——> Preferences,会打开配置界面,左侧选择Connection,在右侧红框内设置instantclient_11_2目录:

3.4.4、验证PL/SQL Developer

重新启动PL/SQL Developer,并进行登录(scott/tiger):

  登录成功后,写一条Sql语句进行验证,查询可以看到下面的效果,说明连接成功。

 

 

 
 

你可能感兴趣的:(oracle,linux)