您的位置:首页 > 数据库 > Oracle

在RHEL6.0 X64系统中安装oracle 11g数据库及安装后设置

2015-03-14 19:31 639 查看
前提条件:

1.查看系统版本

[root@server ~]#cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.1 (Santiago)

2.物理内存和交换分区设置

物理内存应不少于1GB,对于wmware虚拟机建议不少于1200MB。

对于系统中的交换分区设置,应参以下约定:物理内存为1GB~2GB时,交换分区为物理内存的1.5~2倍;物理内存为2GB~16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。

[root@server ~]#free -m

3.硬盘空间设置

对于32位的oracle 11g数据库,若程序文件和数据文件安装在同一个分区,则该分区的硬盘空间要求分别为:企业版5.65GB、标准版5.38GB;除此以外,还应确保/tmp目录所在分区的空间不少于1GB。总的来说,建议为oracle 11g准备至少8GB的硬盘空间。

4.服务器主机名及ip地址应提前确认无误,一旦oracle数据库安装完成,建议不要再更改主机名,否则会导致数据库启动失败。oracle 11g安装过程通常在图形化界面中进行,因此建议服务器提前安装好gnome软件。

安装步骤:

1.使用rhel6系统光盘做yum源

[root@server ~]#mount                  //查看挂载情况

[root@server ~]#mount /dev/sr0 /media

[root@server ~]#vim /etc/yum.repos.d/a.repo

[a]

name=a

baseurl=file:///media/

enable=1

gpgcheck=0                          

2.安装必须的依赖软件包

(因为版本有所不同,在oracle安装时会提示缺少依赖包,忽略后依然可以正常安装使用oracle)

 

[root@server ~]#yum -y install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.
4000
* elfutils-libelf-deve-*l gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2*
 libaio-0.* libaio-devel-0.* libgcc4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-9.* unixODBC-2.* unixODBC-devel-2.*  numactl-devel-*


经实际安装测试,当rhel6 X32系统中安装oracle 11g时,对ksh软件包的识别会存在兼容性冲突,只要卸载rhel6 X32中的ksh软件包,改用rhel5.5光盘中的pdksh软件包,就可以避免这个问题。

[root@server ~]#rpm  -e  ksh

[root@server ~]#rpm –ivh  pdksh-5……

3.修改内核参数并使修改生效

内核参数调整体现在/etc/sysctl.conf文件中,主要包括对内存调度、端口范围、打开文件数、I/O请求等一些相关的设置,相关数值不可低于安装要求。

[root@server ~]#vim /etc/sysctl.conf  //在文件尾部添加如下内容:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152                //此行默认已有,确认大于此数即可。

kernel.shmax = 536870912               //此行默认已有,确认大于此数即可。  

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

[root@server ~]#sysctl -p           //执行sysctl  -p命令使修改生效。

4.新建用户和组

 

[root@server ~]#groupadd oinstall             //创建安装组

[root@server ~]#groupadd dba                  //创建管理组

[b][root@server ~]#useradd -g oinstall -G dba oracle    //创建运行用户[/b]

[root@server ~]#passwd oracle

 

5.为oracle用户设置Shell限制

为了优化性能,需要添加oracle用户的限制参数。进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证。

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

oracle    soft    nproc     8192    

oracle    hard    nproc     16384

oracle    soft    nofile    32768

oracle    hard    nofile    65536

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

session    required    pam_limits.so

 

6.新建安装目录

oracle 11g的安装任务应以运行用户oracle的身份执行,需适当调整oracle用户的环境配置以便满足要求。oracle 11g安装界面的语言类型取决于环境变量LANG,若希望用中文安装界面,则应确保LANG变量的值为”zh_CN.UTF-8”。中文安装界面有时会因缺少字体、字体配置不当等原因导致界面乱码。这时可以改用”en_US.UTF-8”英文环境以回避类似问题。

[root@server ~]#vim ~oracle/.bash_profile

umask 022                                  //文件权限掩码

export ORACLE_BASE=/opt/oracle               //定义基本目录

export ORACLE_SID=orcl                        //定义数据库实例名称

export DISPLAY=:0.0                           //告知默认的显示终端号

export LANG=zh_CN.UTF-8                      //确定使用何种语言环境

建立基本目录:

 

[root@server ~]#mkdir /opt/oracle

[root@server ~]#chown -R oracle:oinstall /opt/oracle

[b][root@server ~]#chmod -R 775 /opt/oracle


在rhel6中安装oracle 11g时,中文安装界面乱码,解决方法:在Linux命令提示符下执行以下命令,把字体库安装到相应位置即可。

[root@server ~]#mkdir -p /usr/share/fonts/zh_CN/TrueType

[root@server ~]#cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/

[root@server ~]#chmod o+r /usr/share/fonts/zh_CN/TrueType/zysong.ttf

注:zysong.ttf 可在百度下载,rhel6.1也有。

7.解压oracle11g压缩包

注:分别下载oracle 11g的1of2、2of2这两个zip压缩包,将其拷贝到/usr/src目录中解压。

[root@server src]#unzip linux.x64_11gR2_database_1of2.zip

[root@server src]#unzip linux.x64_11gR2_database_2of2.zip

 

 

 

8.安装oracle 11g

首先:

[root@server ~]#vim /etc/hosts  //添加如下内容:

192.168.10.1 server.benet.com  //server.benet.com是oracle数据库服务器的主机名。

注意:将主机名对应到真实ip地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上

 

然后以oracle用户身份登录到rhel6的图形桌面环境,运行runInstaller脚本启动安装程序:

 

[oracle@server ~]$cd /usr/src/database/

[oracle@server database]$./runInstaller

 

针对/tmp目录、交换分区、显示器的基本检测通过以后,将会打开图形化的oracle安装序(图略):

a.配置安全更新

 

b.安装选项:

全新安装建议选择“创建和配置数据库”或者“仅安装数据库软件”,后者将不会创建并配置数据库实例,只有对旧版本的oracle数据库进行升级时,才选择“升级现有数据库”。

 

c.系统类:

选择“服务器类”进行安装,以便适用于企业环境的数据库系统。“桌面类”一般只建议个人用户使用,包含的配置和功能比较少。

d.网格选项:

选择“单实例数据库安装”,大多数应用场合中oracle数据库的用途比较单一,每台oracle服务器只需要一个实例就可以。

 

e.安装类型:

选择“典型安装”,采用oracle 11g的基本配置进行完全安装。若要为各种管理账户分别设置口令,或者选择语言版本、设置自动备份、存储管理等,则应该选择“高级安装”。

 

f.典型安装配置:

在“典型安装”步骤中,可以指定oracle 11g的基本目录、软件安装目录、数据库存放目录,并选择要安装的数据库版本、指定全局数据库名称、设置管理口令。

 

必须设置管理口令,其他参数可采用默认值。oracle 11g数据库自动建有三个用户:超级管理员sys、system和数据库所有者sysman,当选择“高级安装”时可以为三个用户分别设置口令,否则将使用同一个管理口令。

g.创建产品清单:

将清单目录修/opt/oracle/oraInventory,以便oracle用户有权限写入清单信息。

 

h.先决条件检查及概要:

针对各种前置条件进行检查,发现有未满足的条件后会给出提示,应根据检查结果进行修复或者安装必需的软件包。预安装检查,错误可忽略(软件版本问题,但必须确认软件包已安装)。

 

如果所有条件都已满足,则会看到本次安装的概要信息,确定无误后单击“完成”按钮却完成设置,然后开始复制文件及部署数据库的安装过程。

 

i.完成安装:

文件复制及相关部署结束后,会弹出“执行配置脚本”对话框,根据提示切换为root用户并依次执行

/opt/oracle/oraInventory/orainstRoot.sh

/opt/oracle/product/11.2.0/dbhome_1/root.sh脚本。

 

最后单击“确定”按钮,会提示方问https://server:1158/em/,表示使用此url地址可以访问OEM(oracle enterprise manager,oracle企业管理器)平台,以便对oracle 11g的数据库实例进行管理。

j.验证安装结果:

使用浏览器访问OEM管理平台,以用户名sys、连接身份“SYSDBA”进行登录,密码为安装时指定的管理口令。登录成功后可以看到OEM管理控制台,若显示数据库状态正常、无明显错误,则表示oracle11g安装成功。

 

 

k.让oracle和oem随机启动:

完成oracle 11g数据库的安装后,相关服务器会自动启用,但并不表示下次开机后oracle服务器仍然可用。

 

oracle的基本服务组件

oracle 11g数据库的基本服务组件如下所述:

(注:oracle服务组件最好以oracle用户身份运行如:su - oracle)

lsnrctl:监听器程序,用来提供数据库访问,默认监听TCP 1521端口。

dbstart、dbshut:数据库控制程序,用来启动、停止数据库实例。

emctl:管理器控制工具,用来控制OEM平台的开启与关闭,1158端口提供https访问,5520端口提供tcp访问。

为了方便执行oracle 11g的服务组件程序,建议对所有用户的环境配置作进一步的优化调整、补充PATH路径、oracle终端类型等变量设置。除此以外,还应该修改/etc/oratab配置文件,以便运行dbstart时自动启用数据库实例。

1.修改/etc/oratab,修改内容如下:

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

orcl:/opt/oracle/product/11.2.0/dbhome_1:Y(N改为Y)

2.修改/etc/profile,添加如下内容:

 

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_OWNER=oracle

export ORACLE_SID=orcl

export ORACLE_TEAM=xterm

export PATH=\$PATH:\$ORACLE_HOME/bin

 

“lsnrctl status”命令可以查看oracle监听器的状态

“emctl stop dbconsole”命令可以关闭OEM管理控制台

“dbshut $ORACLE_HOME”命令可以停止数据库实例

“dbstart  $ORACLE_HOME”命令可以启动数据库实例。

附:使用sqlplus命令工具时,若以超级管理员sys登录,则在”SQL>”环境中执行“STARTUP;”、“SHUTDOWN IMMEDIATE;”指令也可以启用、关闭默认的数据库实例。

3.编写oracle服务的运行脚本

[root@server ~]#vi /etc/init.d/oracle  

 

 

#!/bin/bash

# chkconfig: 2345 99 10

# description: Startup Script for oracle Databases

# /etc/init.d/oracle

export ORCL_BASE="/opt/oracle"

export ORACLE_HOME=$ORCL_BASE/product/11.2.0/dbhome_1

export ORACLE_OWNER=oracle

case "$1" in

 start)

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"

   touch /var/lock/subsys/oracle11g

   ;;

 stop)

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"

   su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"

   rm -fr /var/lock/subsys/oracle11g

   ;;

 status)

   if ( pgrep "tnslsnr" && netstat -anpt | grep ":1521" ) &> /dev/null

     then

       echo "Oracle 11g Net Listener is running."

      else

       echo "Oracle 11g Net Listener is not running."

    fi

    if ( netstat -anpt | grep ":1158" && netstat -anpt | grep ":5520" ) &> /dev/null

      then

        echo "Oracle 11g Enterprise Manager is running."

      else

        echo "Oracle 11g Enterprise Manager is not running."

     fi

     ;;

  restart)

     $0 stop

     $0 start

     ;;

   *)

     echo "Usage: $0 {start|stop|restart|status}"

     exit 1

     ;;

esac

exit 0

4.给脚本设置权限并添加为系统服务

[root@server ~]#chmod +x /etc/init.d/oracle

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

[root@server ~]#chkconfig oracle on
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: