Oracle Database RAC基础系统环境搭建小结

 

1.安装系统

安装系统是/home缩小(一般配50G)/root缩小(一般配50G)/u01(创建100G逻辑卷单独挂载),剩余空间先空着,数据库工程师自行使用剩下的空间,新建lvm把/u01挂载出去

关闭kdump

关闭UTC时钟同步

系统

root:50G

Home:100G

u01:100G

网络+主机名

参数

cpuspeed

grub

sysctl

limit

服务

ntpd

selinux

NetworkManager

Iptables

存储

multipath

udev

 

 

 

2.用户与组创建以及配置

为Grid Infrastructure创建组和用户:

[root@localhost Desktop]# cat /etc/group | grep oinstall

[root@localhost Desktop]# more /etc/oraInst.loc

/etc/oraInst.loc: No such file or directory

[root@localhost Desktop]# groupadd oinstall

[root@localhost Desktop]# groupadd asmoper

[root@localhost Desktop]# groupadd dba

[root@localhost Desktop]# groupadd oper

[root@localhost Desktop]# groupadd asmdba

[root@localhost Desktop]# groupadd asmadmin

[root@localhost Desktop]# id oracle

id: oracle: No such user

[root@localhost Desktop]# useradd -u 501 -g oinstall -G dba,oper,asmdba oracle

[root@localhost Desktop]# id grid

id: oracle: No such user

[root@localhost Desktop]# useradd -u 502 -g oinstall -G asmadmin,asmdba,asmoper grid

查看效果:

[root@localhost Desktop]# id grid

 uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall), 1200(asmadmin), 1201(asmdba),1202(asmoper)                     

设置 grid 帐户的口令:

[root@localhost Desktop]# passwd grid

为 Oracle 数据库软件创建组和用户

[root@localhost Desktop]# groupadd -g 1300 dba

[root@localhost Desktop]# groupadd -g 1301 oper

[root@localhost Desktop]# useradd -m -u 1101 -g oinstall -G dba,oper,asmdba oracle

查看效果

[root@localhost Desktop]# id oracle

uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1201(asmdba),1300(dba),1301(oper)           

设置 oracle 帐户的口令

[root@localhost Desktop]# passwd oracle

安装软件之前,执行以下过程,以验证在两个 Oracle RAC 节点上存在用户 nobody

验证用户nobody 存在

[root@localhost Desktop]# id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody)                      

如果该命令显示了nobody 用户的信息,则无需创建该用户。

如果用户 nobody 不存在,则输入以下命令进行创建。

[root@localhost Desktop]# useradd nobody                        

在集群中的所有其他Oracle RAC 节点上重复此过程。

新建目录:

[root@localhost Desktop]# /u01

[root@localhost Desktop]# chmod 755 -R /u01

 

3.本地yum、网络、hostname、selinux与iptables

[root@localhost Desktop]# mkdir /yum

[root@localhost Desktop]# umount /dev/sr0

[root@localhost Desktop]# mount /dev/sr0 /yum

[root@localhost Desktop]# mount -t iso9660 /dev/sr0 /media

[root@localhost Desktop]# cp -a /media/* /yum

[root@localhost Desktop]# vim /etc/yum.repo.d/local.repo

[server]

name=local_repo

baseurl=file:///yum

gpgcheck=0 (跳过校验加快缓存速度)

enabled=1

[root@localhost Desktop]# vim /etc/sysconfig/network-scripts/ifcfg-eth

参数:

NETMASK

IPADDR

GATEWAY

DNS

开机自动启动

method

[root@localhost Desktop]# service NetworkManager stop

[root@localhost Desktop]# chkconfig NetworkManager off

查看hostname

[root@localhost Desktop]# hostname

更改hostname识别

[root@localhost Desktop]# vim /etc/hosts

本机IP(10.0.0.123)  + localhost(别名) localhost.localdomain(主机名)

更改hostname

[root@localhost Desktop]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=主机名

NOZEROCONF=yes

[root@localhost Desktop]# vim /etc/sysconfig/selinux

更改SELINUX=permissive

setenforce是临时生效

getenforce查看效果

[root@localhost Desktop]# service iptables stop

[root@localhost Desktop]# chkconfig iptables off

 

4.cpuspeed、grub.conf与sysctl.conf

步骤:

[root@localhost Desktop]# vim /etc/sysconfig/cpuspeed

修改GOVERNOR=performance

重启服务

[root@localhost Desktop]# service cpuspeed restart

查看更改效果

[root@localhost Desktop]# watch -n 0 "cat /proc/cpuinfo | grep MHz"

步骤:

查看系统是否支持大页内存

[root@localhost Desktop]# cat /proc/meminfo | grep -i huge

关闭透明页

[root@localhost Desktop]# vim /etc/grub.conf

在kernel后加transparent_hugepage=never

设置大页内存

[root@localhost Desktop]# vim /etc/sysctl.conf  

添加vm.nr_hugepages=value(单位为页数)

大小一般为内存的50%-60%略大于SGA+PGA。(show parameter可查SGA和PGA)

 

5.软件包安装

[root@localhost ~]# yum list |grep multipath

device-mapper-multipath.x86_64         0.4.9-93.0.1.el6                   @local

device-mapper-multipath-libs.x86_64    0.4.9-93.0.1.el6                   @local

device-mapper-multipath-libs.i686      0.4.9-93.0.1.el6                   local

[root@localhost ~]# yum -y install device-mapper device-mapper-multipath

启动multipath,并修改为自启动。

[root@localhost ~]# service multipathd start

[root@localhost ~]# chconfig  multipathd on

[root@localhost Desktop]# yum list | grep -I oracle-rdbms

oracle-rdbms-server-11gR2-preinstall.x86_64

oracle-rdbms-server-12cR1-preinstall.x86_64

[root@localhost Desktop]# yum -y install oracle-rdbms-server-11gR2-preinstall.x86_64 gcc*

 

6.limits.conf

[root@localhost Desktop]# vim /etc/security/limits.conf

加入oracle,grid用户

soft

nproc:

单个用户可用的最大进程数量

最少2047

hard

nproc 

单个用户可用的最大进程数量

最少16384

soft

nofile

可打开的文件描述符的最大数

最少1024

hard

nofile

可打开的文件描述符的最大数

最少65536

soft

memlock

内存锁定

最多是物理内存的百分之90

hard

memlock

内存锁定

最多是物理内存的百分之90

 

7.ntpd

如果没有ntp源则关闭ntp服务

[root@localhost Desktop]# vim /etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"

[root@localhost Desktop]# vim /etc/ntp.conf

server ip/域名 prefer

重启NTP服务

[root@localhost Desktop]# service ntpd restart

[root@localhost Desktop]# ntpdate ip/域名    进行验证

[root@localhost Desktop]# ntpq -p 验证是否同步

关闭NTP服务

[root@localhost Desktop]# service ntpd stop

[root@localhost Desktop]# chkconfig ntpd off

主配置文件改名

[root@localhost Desktop]# mv /etc/ntp.conf /etc/ntp.conf_old

 

8.存储多路径与udev绑定

软件包的安装

[root@localhost ~]# yum list |grep multipath

device-mapper-multipath.x86_64         0.4.9-93.0.1.el6                   @local

device-mapper-multipath-libs.x86_64    0.4.9-93.0.1.el6                   @local

device-mapper-multipath-libs.i686      0.4.9-93.0.1.el6                   local

[root@localhost ~]# yum -y install device-mapper device-mapper-multipath

启动multipath,并修改为自启动

[root@localhost ~]# service multipath start

[root@localhost ~]# chconfig  multipath on

查看多路径状态查看模块是否加载成功

[root@localhost ~]# multipath -ll

提示:模块未加载;配置文件未加载

建立配置文件

[root@localhost ~]# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf

解注释后更改配置

白名单里放入非本地存储

查询wwid号

[root@localhost ~]# /sbin/scsi_id  -g  -u /dev/sdc

[root@localhost ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sda

[root@localhost ~]# modprobe v2   

[root@localhost ~]# multipath -F            

[root@localhost ~]# multipath dm-multipath  

[root@localhost ~]# multipath dm-round-robin

[root@localhost ~]# service multipathd restart

执行完成上述命令之后,会在/etc/multipath目录下生成一个bindings这的一个文件,如下,

[root@localhost ~]# cat /etc/multipath/bindings

# Multipath bindings, Version : 1.0

# NOTE: this file is automatically maintained by the multipath program.

# You should not need to edit this file in normal circumstances.

#

# Format:

# alias wwid

#

mpatha 14f504e46494c45526776753764752d695267332d675a4a32

mpathb 14f504e46494c4552446f646c47592d325053352d33634f42

mpathc 14f504e46494c45524559737259462d7a4278572d6b307253

mpathd 14f504e46494c45524c693336494f2d517450512d4c6d3730

mpathe 14f504e46494c45527448484b6f432d575472632d41393944

这里存放的是多路径的磁盘名称和对应的ID。这时,我们可以使用fdisk -l这个命令查看到这些设备,比如/dev/mapper/mpatha。

udev绑定(绑定块存储)!!!!块存储!!!!建完PV、VG、LV、格式化、挂载后才可访问

[root@localhost ~]# cat /etc/udev/rules.d/99-iscsi-udev.rules

# dm-01

路径别名

 磁盘位置(/dev/mapper/multipath01)

wwid

挂载点(别名)

所属组和用户

权限

ENV{DM_NAME}=="data01",  PROGRAM=="/sbin/scsi_id  -g  -u -d /dev/mapper/*",RESULT=="wwid", NAME="/hello1",OWNER="grid", GROUP="asmadmin", MODE="660"

查看是否生效

[root@localhost ~]# ll /dev/ | head

续:

用户与组创建以及配置:

一般参照官方文档。

1.安装单实例时需要创建的几个groups:

Oracle 清单组(一般为 oinstall)

OINSTALL 组的成员被视为 Oracle 软件的“所有者”,拥有对 Oracle 中央清单 (oraInventory) 的写入权限。在一个 Linux 系统上首次安装 Oracle 软件时,OUI 会创建 /etc/oraInst.loc 文件。该文件指定 Oracle 清单组的名称(默认为 oinstall)以及 Oracle 中央清单目录的路径。

cat /etc/oraInst.loc

inventory_loc=/u01/app/oraInventory

inst_group=oinstall

如果不存在 oraInventory 组,默认情况下,安装程序会将集群的网格基础架构的安装所有者的主组列为 oraInventory 组。确保所有计划的 Oracle 软件安装所有者都使用此组作为主组。

数据库管理员(OSDBA,一般为 dba)

OSDBA 组的成员可通过操作系统身份验证使用 SQL 以 SYSDBA 身份连接到一个 Oracle 实例。该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关闭实例。该组的默认名称为 dba。SYSDBA 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。

不要混淆 SYSDBA 系统权限与数据库角色 DBA。DBA 角色不包括 SYSDBA 或 SYSOPER 系统权限。

数据库操作员组(OSOPER,一般为 oper)

OSOPER 组的成员可通过操作系统身份验证使用 SQL 以 SYSOPER 身份连接到一个 Oracle 实例。这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。该组的默认名称为 oper。SYSOPER系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。要使用该组,选择 Advanced 安装类型来安装 Oracle 数据库软件。

2.安装RAC集群时在单实例基础上添加的几个groups:

Oracle 自动存储管理组(一般为 asmadmin)

此组为必需组。如果想让 Oracle ASM 管理员和 Oracle Database 管理员分属不同的管理权限组,可单独创建此组。在 Oracle 文档中,OSASM 组是其成员被授予权限的操作系统组,在代码示例中,专门创建了一个组来授予此权限,此组名为 asmadmin。

OSASM 组的成员可通过操作系统身份验证使用 SQL 以 SYSASM 身份连接到一个 Oracle ASM 实例。SYSASM 权限是在 Oracle ASM 11g 第 1 版 (11.1) 中引入的,现在,在 Oracle ASM 11g 第 2 版 (11.2) 中,该权限已从 SYSDBA 权限中完全分离出来。SYSASM 权限不再提供对 RDBMS 实例的访问权限。用 SYSASM 权限代替 SYSDBA 权限来提供存储层的系统权限,这使得 ASM 管理和数据库管理之间有了清晰的责任划分,有助于防止使用相同存储的不同数据库无意间覆盖其他数据库的文件。SYSASM 权限允许执行挂载和卸载磁盘组及其他存储管理任务。

ASM 数据库管理员组(OSDBA for ASM,一般为 asmdba)

ASM 数据库管理员组(OSDBA for ASM)的成员是 SYSASM 权限的一个子集,拥有对 Oracle ASM 管理的文件的读写权限。Grid Infrastructure 安装所有者 (grid) 和所有 Oracle Database 软件所有者 (oracle) 必须是该组的成员,而所有有权访问 Oracle ASM 管理的文件并且具有数据库的 OSDBA 成员关系的用户必须是 ASM 的 OSDBA 组的成员。

ASM 操作员组(OSOPER for ASM,一般为 asmoper)

该组为可选组。如果需要单独一组具有有限的 Oracle ASM 实例管理权限(ASM 的 SYSOPER 权限,包括启动和停止 Oracle ASM 实例的权限)的操作系统用户,则创建该组。默认情况下,OSASM 组的成员将拥有 ASM 的 SYSOPER 权限所授予的所有权限。

要使用 ASM 操作员组创建 ASM 管理员组(该组拥有的权限比默认的 asmadmin 组要少),安装 Grid Infrastructure 软件时必须选择 Advanced 安装类型。这种情况下,OUI 会提示您指定该组的名称。如果要拥有一个 OSOPER for ASM 组,则集群的 Grid Infrastructure 软件所有者 (grid) 必须为此组的一个成员。

Oracle RAC 节点最终的配置:

1.Oracle 中央清单组,即 oraInventory 组 (oinstall),其成员以中央清单组作为主组,拥有对 oraInventory 目录的写入权限。

2.单独的 OSASM 组 (asmadmin),其成员拥有 SYSASM 权限,可以管理 Oracle Clusterware 和 Oracle ASM。

3.单独的 ASM OSDBA 组 (asmdba),其成员包括 grid 和 oracle,拥有对 Oracle ASM 的访问权限。

4.单独的 ASM OSOPER 组 (asmoper),其成员包括 grid,拥有有限的 Oracle ASM 管理员权限(包括启动和停止 Oracle ASM 实例的权限)。

5.集群的 Oracle 网格安装所有者 (grid),该用户以 oraInventory 组作为其主组,以 OSASM (asmadmin)、OSDBA for ASM (asmdba) 和 OSOPER for ASM (asmoper) 组作为其辅助组。

6.单独的 OSDBA 组 (dba),其成员拥有 SYSDBA 权限,可以管理 Oracle 数据库。

7.单独的 OSOPER 组 (oper),其成员包括 oracle,拥有有限的 Oracle 数据库管理员权限。

8.Oracle 数据库软件所有者 (oracle),该用户以 oraInventory 组作为其主组,以 OSDBA (dba)、OSOPER (oper) 和 OSDBA for ASM 组 (asmdba) 作为其辅助组。

9.符合 OFA 的挂载点 /u01,在安装之前,其所有者为 grid:oinstall。

10.网格的 Oracle 基目录 /u01/app/grid,其所有者为 grid:oinstall,权限设置为 775,在安装过程中其权限设置更改为 755。网格安装所有者的 Oracle 基目录是存放 Oracle ASM 诊断和管理日志文件的位置。

11.网格主目录 /u01/app/11.2.0/grid,其所有者为 grid:oinstall,权限设置为 775 (drwxdrwxr-x)。这些权限为安装所需,在安装过程中会更改为 root:oinstall 和 755 权限设置 (drwxr-xr-x)。

12.在安装过程中,OUI 在路径 /u01/app/oraInventory 下创建 Oracle 清单目录。此路径的所有者一直为 grid:oinstall,使其他 Oracle 软件所有者可以写入中央清单。

13.Oracle 基目录 /u01/app/oracle,其所有者为 oracle:oinstall,权限设置为 775

进行操作时一般不推荐关闭Selinux,而是选择permissive模式

有条件的情况可以在服务器制作一个本地YUM源,保证操作系统可以回退以前版本(使用旧版本的软件等)

根据应用环境需求提升服务器性能。

cpuspeed中GOVERNOR选项

ondemand:系统默认的超频模式,按需调节,内核提供的功能,不是很强大,但有效实现了动态频率调节,平时以低速方式运行,当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低,同时也能节约电能和降低温度。一般官方内核默认的方式都是ondemand。

interactive:交互模式,直接上最高频率,然后看CPU负荷慢慢降低,比较耗电。Interactive 是以 CPU 排程数量而调整频率,从而实现省电。

InteractiveX:是以 CPU 负载来调整 CPU 频率,不会过度把频率调低。所以比 Interactive 反应好些,但是省电的效果一般。

conservative:保守模式,类似于ondemand,但调整相对较缓,想省电就用他吧。Google官方内核,kang内核默认模式。

smartass:聪明模式,是I和C模式的升级,该模式在比interactive 模式不差的响应的前提下会做到了更加省电。

performance:性能模式!只有最高频率,从来不考虑消耗的电量,性能没得说,但是耗电量。

powersave:省电模式,通常以最低频率运行。

userspace:用户自定义模式,系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置

Hotplug:类似于ondemand, 但是cpu会在关屏下尝试关掉一个cpu,并且带有deep sleep,比较省电。

大页内存:使用2M的内存页替代传统4KB内存页面,降低所管理虚拟地址数,加快从虚拟地址到物理地址的映射摒弃内存页面的换入换出来提高内存的整体性能。为程序预留一部分内存,这些内存不会被交换出去。

透明大页:内核试图尽可能分配巨大的页面,主内核地址空间本身被映射为巨大的页面,减少了内核代码的透明大页压力。内核将始终尝试使用巨页来满足内存分配。如果没有可用的巨大页面,内核将回退到正常的4KB页面。

linux开启透明巨页,则I/O读写性能降低30%;如果关闭透明巨页,I/O读写性能则恢复正常。

最小内存为3GB时才可以开启大页内存,如果大于3GB时配置当前内存的百分之90为大页内存。大页内存是内存链表,因为CPU寻址是按照指针形式,而指针只能向上或者向下移动,不能跳跃,利用大页内存可以减少中断次数。

GIMR:资源管理库

SGA:系统全局域  共享池,资源缓冲区,日志缓冲区

PGA:程序缓冲域  用户进程保留的内存

调优原因:1.大页内存是内存链表,因为CPU寻址是按照指针形式,而指针只能向上或者向下移动,不能跳跃,利用大页内存可以减少中断次数;2.在RAC环境下,透明大页会导致异常节点重启和性能问题;3.在单机环境中,透明大页 也会导致一些异常的性能问题。

把本地磁盘添加到黑名单

其他存储设备添加到黑名单

把远端映射存储的wwid放入白名单

配置wwid与别名

重载服务

字段

描述

defaults

全局属性的默认设置

blacklist

黑名单配置,multipath忽略的设备

blacklist_exceptions

免除黑名单,黑名开启,但包含在这里的设备不会被忽略

multipaths

多路径相关配置

devices

存储设备相关配置

命令

描述

multipath –r       

修改multipath.conf配置文件之后重新加载

multipath –ll       

查看多路径状态

multipath -v2       

格式化路径,检测路径,合并路径

multipath -v3       

查看多路径详情blacklistwhitelist和设备wwid

multipath –F       

删除现有链路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值