Oracle数据库11g基于rehl6.5的配置与安装

Posted 书山有路勤为径

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库11g基于rehl6.5的配置与安装相关的知识,希望对你有一定的参考价值。

REDHAT6.5安装oracle11.2.4

ORACLE11G R2官档网址:

http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCGGJAB

一、操作系统

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

Red Hat Enterprise Linux Server release 6.5 (Santiago)

[root@xuegod63 ~]# uname -m

x86_64

二、检测硬件环境

1、内存

ORACLE官方建议swap设置标准:

对于运行ORACLE数据库的操作系统,ORACLE官方是有设置大小建议的,在此以从ORACLE 11g R2官方文档中提取的建议大小为例:

3.1 Memory Requirements

The following are the memory requirements for installing Oracle Database 11g Release 2 (11.2):

·         Minimum: 1 GB of RAM

Recommended: 2 GB of RAM or more

If the size of the RAM is less than the required size, then you must install more memory before continuing.

·         The following table describes the relationship between installed RAM and the configured swap space recommendation:

Note:

On Linux, the HugePages feature allocates non-swappable memory for large page tables using memory-mapped files. If you enable HugePages, then you should deduct the memory allocated to HugePages from the available RAM before calculating swap space.

Available RAM

Swap Space Required

Between 1 GB and 2 GB

1.5 times the size of the RAM

Between 2 GB and 16 GB

Equal to the size of the RAM

More than 16 GB

16 GB

 

1ORACLE官方要求最小1GBRAM,建议2GB或更大

2SWAPRAM的大小配置关系

1)、RAM1-2GB时,SWAP大小建议为RAM大小的1.5

2)、RAM2-16GB时,SWAP大小建议与RAM大小相等

3)、RAM大于16GB时,SWAP大小建议为16GB     

内存大小的查看命令:

[root@xuegod63 ~]# grep MemTotal /proc/meminfo  ---查看物理内存

MemTotal:        2046588 kB

[root@xuegod63 ~]# grep SwapTotal /proc/meminfo  --查看SWAP交换内存

SwapTotal:       2097144 kB

[root@xuegod63 ~]# free

             total       used       free     shared    buffers     cached

Mem:       2046588    1188520     858068          0      95160     107784

-/+ buffers/cache:     985576    1061012

Swap:      2097144          0    2097144

[root@xuegod63 ~]# free -m

             total       used       free     shared    buffers     cached

Mem:          1998       1160        837          0         92        105

-/+ buffers/cache:        962       1036

Swap:         2047          0       2047

swap的作用:

当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,临时转移到SWAP上,供当前运行的程序提供物理内存空间,当程序需要再访问被转移到了SWAP空间上的数据时,再从SWAP中恢复到物理内存中。从此工作原理不难看出来,SWAP要有,但是尽量不要使用,使用了就会发生内存交换,必然影响系统性能

2、硬盘大小

查看本机硬盘大小

[root@xuegod63 media]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda2       9.9G  3.7G  5.7G  40% /

tmpfs          1000M     0 1000M   0% /dev/shm

/dev/sda1       485M   39M  421M   9% /boot

/dev/sr0        3.6G  3.6G     0 100% /mnt

/dev/sda5        87G  2.9G   79G   4% /server

本地的/tmp目录空间不能少于400M

三、检测软件环境

1、安装oracle所需的环境依赖包

配置好YUM

查看哪些安装包没有安装,然后YUM安装

rpm -q --qf \'%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\\n\' binutils \\

compat-libcap1 \\

compat-libstdc++-33 \\

gcc \\

gcc-c++ \\

glibc \\

glibc-devel \\

ksh \\

libgcc \\

libstdc++ \\

libstdc++-devel \\

libaio \\

libaio-devel \\

make \\

sysstat

 

 

[root@xuegod63 ~]# yum -y install compat-libcap1 compat-libstdc++-33 ksh libaio-devel

 

2、设置主机名、修改/etc/hosts,设置主机名和Ip的对应关系

[root@xuegod63 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.63 xuegod63

[root@xuegod63 ~]# hostname

xuegod63

3创建oracle用户uid500dbagid501oracle用户主组为dba,然后激活这个用户

OINSTALL用户组(oinstall)

oinstall 组是Oracle推荐创建的OS用户组之一,建议在系统第一次安装oracle软件产品之前创建该oinstall组,理论上该oinstall组应当拥有oracle软件产品目录(例如$CRS_HOME$ORACLE_HOME)oracle Inventory信息目录仓库,oracle Inventory信息目录记录了系统上安装过的oracle产品的记录

OSDBA用户组(dba)

osdba是我们必须要创建的一种系统dba用户组(dba),若没有该用户组我们将无法安装数据库软件及执行管理数据库的任务。

OSOPER用户组(oper)

osoper是一种额外的用户组(oper),我们可以选择要不要创建该用户组,创建该用户组可以满足让os用户行使某些数据库管理权限(包括SYSOPER角色权限)的目的。注意SYSOPER的权限包括startupshutdown,所以要小心为该用户组添加成员

[root@xuegod63 ~]# groupadd -g 500 oinstall

[root@xuegod63 ~]# groupadd -g 501 dba

[root@xuegod63 ~]# groupadd -g 502 oper

[root@xuegod63 ~]# useradd -u 500 -g oinstall –G dba,oper oracle

[root@xuegod63 ~]# id oracle

[root@xuegod63 ~]# passwd oracle

更改用户 oracle 的密码

新的密码:

无效的密码:它基于字典单词

无效的密码:过于简单

重新输入新的密码:

passwd所有的身份验证令牌已经成功更新。

ORACLE用户登录一下,激活这个用户

4、创建ORACLE用户的安装目录与数据存放目录,并设置目录的所有者,组和权限

[root@xuegod63 ~]# mkdir -p /server/oracle

[root@xuegod63 ~]# mkdir -p /server/oradata

[root@xuegod63 ~]#mkdir -p /server/oracle/oraInventory

[root@xuegod63 ~]# chown –R oracle:dba /server/ora*

[root@xuegod63 ~]# chmod -R 775 /server/ora*

[root@xuegod63 ~]# ll /server/

drwx------ 2 root   root 16384 8   7 11:59 lost+found

drwxrwxr-x 2 oracle dba   4096 8   7 12:32 oracle

drwxrwxr-x 2 oracle dba   4096 8   7 12:32 oradata

5、修改内核参数(服务器内存为2G的情况下)

[root@xuegod63 ~]# vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmmax = 1073741824

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

kernel.shmall = 2097152

参数说明:

fs.aio-max-nr = 1048576

//表示同时可以拥有的异步IO请求数目,推荐值是1024K,也就是1024*1024=1048576字节

fs.file-max = 6815744

//系统中可以同时打开的文件数目,计算公式:512 乘以 processes (128process则为 65536),官方建议最少6815744

kernel.shmall = 2097152

//该参数控制可以使用的共享内存的总页数,(页面大小查看:getconf PAGE_SIZE,如内存超过16Gshmmax/4(kb),官方建议最少值为2097152

kernel.shmmax = 1073741824

//计算公式:1G*1024*1024*1024=1073741824 (字节)  

//是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

  官方建议值:

  32linux系统:可取最大值为4GB4294967296bytes-1byte,即4294967295。建议值为多于内存的一半,所以如果是32位系统,一般可取值为429496729532位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

  64linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887SGA肯定会包含在单个共享内存段中

kernel.shmmni = 4096

//表示最小共享内存固定4096KB(最小值)

kernel.sem = 250 32000 100 128

//表示设置的信号量,它有4个参数依次是【SEMMSL:每个用户拥有信号量最大数;SEMMNS:系统信号量最大数;SEMOPM:每次semopm系统调用操作数;SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小】

net.ipv4.ip_local_port_range = 9000 65500

//专用服务器模式下与用户进程通信时分配给用户的端口区间

net.core.rmem_default = 262144

net.core.wmem_default = 262144

//上面两个参数表示内核套接字接收缓存区默认的大小

net.core.rmem_max = 4194304

net.core.wmem_max = 1048576

//上面两个参数表示内核套接字接收缓存区默认的最大大小

设置完成后让它生效

[root@xuegod63 ~]# sysctl -p

6、检查软件安装用户的资源限制

root@xuegod63 ~]# vi /etc/security/limits.conf

[root@xuegod63 ~]# tail -20 /etc/security/limits.conf

#        - msgqueue - max memory used by POSIX message queues (bytes)

#        - nice - max nice priority allowed to raise to values: [-20, 19]

#        - rtprio - max realtime priority

#

#<domain>      <type>  <item>         <value>

#

 

#*               soft    core            0

#*               hard    rss             10000

#@student        hard    nproc           20

#@faculty        soft    nproc           20

#@faculty        hard    nproc           50

#ftp             hard    nproc           0

#@student        -       maxlogins       4

 

# End of file

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

oracle           soft    stack   10240

 

让配置的limit参数生效,所以要配置/etc/pam.d/login

vi /etc/pam.d/login  (在文件最后增加或修改以下参数)

session    required     pam_limits.so

设置系统变量,在后面添加针对ORACLE用户的资源限制

vi /etc/profile  (在文件最后增加或修改以下脚本)

if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

              ulimit -p 16384

              ulimit -n 65536

        else

              ulimit -u 16384 -n 65536

以上是关于Oracle数据库11g基于rehl6.5的配置与安装的主要内容,如果未能解决你的问题,请参考以下文章

文献综述十四:基于Oracle11g的超市进销存管理系统设计与实现

Oracle11g与PL/SQL的安装与配置(单机学习简易版)

Oracle11g 基于linux 6.3下安装

vmware安装oracle 12c rac内存一般设多大

Oracle11g Data Guard物理备用数据库搭建与配置(第2部分 配置物理备用数据库)

Oracle数据库11g 中Data Guard物理备用数据库搭建与配置