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 RequirementsThe 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.
|
(1)ORACLE官方要求最小1GB的RAM,建议2GB或更大
(2)SWAP与RAM的大小配置关系
1)、RAM为1-2GB时,SWAP大小建议为RAM大小的1.5倍
2)、RAM为2-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用户uid为500、dba组gid为501,oracle用户主组为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的权限包括startup和shutdown,所以要小心为该用户组添加成员
[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请求数目,推荐值是1024个K,也就是1024*1024=1048576字节
fs.file-max = 6815744
//系统中可以同时打开的文件数目,计算公式:为512 乘以 processes (如128个process则为 65536),官方建议最少6815744
kernel.shmall = 2097152
//该参数控制可以使用的共享内存的总页数,(页面大小查看:getconf PAGE_SIZE),如内存超过16G则shmmax/4(kb),官方建议最少值为2097152
kernel.shmmax = 1073741824
//计算公式:1G*1024*1024*1024=1073741824 (字节)
//是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。
官方建议值:
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32位系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中
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 [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
以上是关于Oracle数据库11g基于rehl6.5的配置与安装的主要内容,如果未能解决你的问题,请参考以下文章
文献综述十四:基于Oracle11g的超市进销存管理系统设计与实现
Oracle11g与PL/SQL的安装与配置(单机学习简易版)