linux6 安装oracle11g
阅读原文时间:2023年07月13日阅读:2

转自:http://blog.csdn.net/nhm_lxy/article/details/37813789

安装环境:    虚拟机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章 配置系统参数

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

需设置主机名和固定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

:: 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

使用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=

gpgcheck=

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-.* 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-.* sysstat-.* unixODBC-.* unixODBC-devel-.* pdksh*

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

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

1.3.1、修改sysctl.conf文件

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

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

kernel.sem =

kernel.shmall =

kernel.shmmax =

kernel.shmmni =

fs.aio-max-nr =

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 =

注意: 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、创建用户和用户组

[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

oracle hard nproc

oracle soft nofile

oracle hard nofile

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
ulimit -n
else
ulimit -u -n
fi
umask
fi

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 /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./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
ulimit -n
else
ulimit -u -n
fi
fi
umask

1.5.4、使环境变量生效

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

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 -j ACCEPT

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

-A INPUT -m state --state NEW -m tcp -p tcp --dport -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

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

    ACCEPT icmp -- 0.0.0.0/ 0.0.0.0/

    ACCEPT all   -- 0.0.0.0/ 0.0.0.0/

    ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ state NEW tcp dpt:

    ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ state NEW tcp dpt:

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

Chain FORWARD (policy ACCEPT)

num  target   prot  opt source destination

  REJECT    all      --     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.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 MB. Actual MB Passed

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

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

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013--03_05--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./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./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章 配置优化与测试

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

3.1.1、修改/etc/oratab文件

[root@rhel6 ~]# vim /etc/oratab
orcl:/home/app/oracle/product/11.2./dbhome_1:Y (将N改为Y)

3.1.2、修改dbstart和dbshut文件

[root@rhel6 ~]# cd /home/app/oracle/product/11.2./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:

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./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
esac
exit 0

3.1.4、设置脚本权限

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

3.1.5、建立Oracle服务

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

[root@rhel6 ~]# chkconfig oracle on

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

3.2.1、连接数据库

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

SQL*Plus: Release 11.2.0.1. Production on Sun Nov ::

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1. -64bit Production

SQL> startup

ORA-: 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.

Copyright (c) , 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实例已运行。

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

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

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

  到这里,在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语句进行验证,查询可以看到下面的效果,说明连接成功。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章