安装RAC小记(Oracle11gR2)

 安装RAC小记(Oracle11gR2)

PS:前几天,才发现笔记好多,却不知从什么时候起失序了,宠杂地躺倒一地,乱草丛生。趁周末花了点时间重新整理了下(为阅读方便删减了些无关的章节),先分享这一篇吧……

话说,这个WORD传上来后,文中插入的文档不见了,图片也不见了,格式也变的好丑!!

 

一、说明 2

二、安装前 2

(一)相关知识点 2

1. RAC概述 2

2. GI(Grid Infrastructure) 4

3. OCR 与VOTE disk 4

4. ASM 4

(二)安装前环境准备 5

1. 安装步骤 5

2. 虚拟机硬件环境准备 5

3. 安装包下载 6

4. 安装部署时间控制 7

5. 安装过程应注意的地方 7

(三)生产环境安装部署注意事项: 8

三、实验环境配置 8

(一)虚拟环境配置 8

(二)配置OS 11

1) 关闭防火墙 11

2) 修改host文件或配置DNS解释SCANIP(配置过程如下) 12

3) 配置节点互信(所有节点的基于用户oracle,grid的互信) 12

4) 创建组和用户,加权限 13

5) 用户环境变量配置 13

6) 创建目录,给予目录权限   15

7) 配置系统文件 15

a) 配置oracle、grid用户的shell限制 15

b) 修改/etc/pam.d/login配置文件 15

c) 修改内核配置文件/etc/sysctl.conf 15

d) 修改/etc/sysctl.conf过程中报错处理: 16

8) 配置共享磁盘(在一个节点执行即可) 16

a) 分区 17

b) 配置UDEV绑定磁盘分区 18

9) 安装GI、Oracle、等需要的包 18

四、安装配置cluster集群软件及ASM 20

(一)安装前检查 20

(二)开始安装GI 22

(三)检查安装结果 57

(四)安装数据库oracle软件、创建ASM磁盘组 61

五、集群数据库的创建 79

六、安装后任务 96

(一)官方建议的两个安装后置任务 96

(二)删除GI、数据库(具体参考另一文档) 97

(三)本文参考文档书籍及blog 98

 

一、说明

 

 之前移动部署过一次10g的RAC, 因当时公司运维的informix多ORACLE少就没深入了,接着又跟着小伙伴一起出来瞎折腾了一阵子,无果!然后又乖乖地回来上班了。转眼睛已过了三载,这中间经历了很多变化,没想到兜兜转转还是绕不开ORACLE 。现工作需要重拾ORACLE,陆陆续续花了近一两周的时间,反复重装几次才算搭建成功。然后又陆续花了一两周时间研究了下。网上文章参差不齐,好多都是缺漏不严谨、谬误不少的,期间,踩了不少坑,现特总结一下并分享出来,要不然真是对不起逝去的时间!因所涉内容多时间所限,本文未按照企业的标准规范要求去整理文档,仅此记录一下,以备忘,有谬误和不完善的地方欢迎大家指出,得闲时再整理下。废话不多说,下面开始安装。

 

 

二、安装前

(一)相关知识点

1. RAC概述

RAC 是 Oracle数据库的一个群集解决方案,属于ORACLE公司提供的一种HA解决方案的一种。架构特点是一个数据库,由多个节点的实例装载并读写,每个节点都有自己实例,有自己的一套软硬件系统。从而实现高可用、增强伸缩性,低成本计算能力。更多原理找书看看吧,或者翻一下官网,后面有网址。

运行过程中,如果集群内的一个节点发生故障,Oracle 将可以继续在其余的节点上运行。我们还是来看看RAC 结构图:

 

 

 

如上图,所有节点直接访问共享文件系统上存储器,因此以下文件必须放入共享存储部分:数据、重做日志文件、控制文件、参数文件,

RAC特点总结一下是:

Ø  每节点实例都有自己的 SGA;

Ø 每节点实例有自己的后台进程

Ø 每节点的实力都有自己的 redo logs

Ø 每节点实例都有自己的 undo 表空间

Ø 所有节点都共享一份 datafiles 和 controlfiles

 

2. GI(Grid Infrastructure)

Grid Infrastructure是11gR2版本新出现的安装包,使用独立的grid用户进行安装。如果要使用Clusterware、ASM、ACFS、ASM动态卷等功能时都需要先安装此包。

Grid Infrastructure封装了Clusterware集群软件和ASM存储软件,此外,对ASM的管理也同样独立出来,新建了ASMADMIN、ASMDBA和ASMOPER 3个系统组来完善对ASM的管理。11g版本中的ASM能够存放包括OCR和Votedisk在内的所有类型文件。本次实验安装,也采用ASM作为OCR、Votedisk、数据文件和闪回恢复区存储的管理软件。

Grid Infrastructure和Database软件既可以安装在一个用户下,也可以分用户安装;为了方便分离管理,Oracle推荐使用不同用户安装Grid Infrastructure和Database软件。使用grid用户安装Grid Infrastructure,使用oracle用户安装Database。

 

3. OCR 与VOTE disk

Ocr:主要是用来存储节点资源的相关的配置信息,由进程CRS管理的应用服务都视作一种资源,而这些资源在都存在OCR这块磁盘上,10g以前是存储在RAW裸设备上的。11G以后不支持裸设备了。

VOTE disk:  主要用来存放各个节点的状态及仲裁的作用,也叫仲裁盘。

 

4. ASM

 

ASM它提供了以平台无关的文件系统、逻辑卷管理以及软RAID服务。ASM可以支持条带化和磁盘镜像,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O以删除“热点”。它还支持直接和异步的I/O并使用Oracle9i中引入的Oracle数据管理器API(简化的I/O系统调用接口)。

ASM是做为单独的Oracle实例实施和部署,并且它只需要有参数文件,不需要其它的任何物理文件,就可以启动ASM实例,只有它在运行的时候,才能被其它数据访问。在Linux平台上,只有运行了OCSSD服务(Oracle安装程序默认安装)了才能和访问ASM。

 

提供三种不同的冗余方式:

1) 1、 外部冗余(external redundancy):表示Oracle不帮你管理镜像,功能由外部存储系统实现,比如通过RAID技术;有效磁盘空间是所有磁盘设备空间的大小之和。

2) 2、 默认冗余(normal redundancy):表示Oracle提供2份镜像来保护数据,有效磁盘空间是所有磁盘设备大小之和的1/2 (使用最多)

3) 3、 高度冗余(high redundancy):表示Oracle提供3份镜像来保护数据,以提高性能和数据的安全,最少需要三块磁盘(三个failure group);有效磁盘空间是所有磁盘设备大小之和的1/3,虽然冗余级别高了,但是硬件的代价也最高

 

 

(二)安装前环境准备

1. 安装步骤

1) GI安装集群软件clusterware和ASM(用户GRID)

2) 安装数据库ORACLE软件(用户ORACLE),创建集群数据库(用户ORACLE)

3) 具体:

a) 配置虚拟机环境、安装Linux操作系统(忽略)

b) 配置OS环境

c) 安装GI

d) 使用DBCA工具配置ASM

e) 安装Oracle database

f) 创建ASM磁盘组

g) 建立数据库实例

安装前使用CVU工具校验硬件和软件系统环境,必须成功通过方可继续安装;安装过程中需要ROOT执行脚本,

 

 

2. 虚拟机硬件环境准备

Linux操作系统:

Centos 6.5 64bit ,VMware version:10.0.4 build-2249910

Oracle版本:

11G R2 grid/oracle 64位 11.2.0.4.0 for linux

内存:

每个虚拟机至少1.5G内存,公司电脑8G内存,给每个虚拟机分了2G

磁盘空间划分:每个虚拟机分配30GB的本地硬盘容量,其中10G用于安装LINUX操作系统、20G用于安装GI、ORACLE软件,集群数据库

 

ASM共享存储:

采用UDEV绑定磁盘,以解决ASM管理共享文件的权限问题。磁盘规划,参考下面章节。

 

网卡桥接方式:配置2个桥接网卡,eth0为nat方式,eth1为自定义仅连接主机方式

 

安装目录空间要求:

     Swap设置为3G

     /tmp 安装RAC软件须空间须大于1.5G,安装GI时空间至少大于1.5G

GI要求安装目录空间不少于5632M

企业版oracle数据库安装要求目录空间不少于4.7G

 

 

 

 

SCANIP的解释方式:DNS或HOST文件,ORACLE官网推荐使用DNS解释,实验证明确实HOST解释后续安装过程中问题较多

 

两节点IP规划(主机名为rac1,rac2):

public  ip

192.168.37.111 rac1

192.168.37.222 rac2

 

VIP(与公网IP一个网段)

192.168.37.112 rac1-vip

192.168.37.223 rac2-vip

 

私有ip

10.0.0.111 rac1-priv

10.0.0.222 rac2-priv

 

Scanip、域名

#192.168.37.200 racdb-scan.jack.cn

 

 

 

4. 安装部署时间控制

GI安装配置时间:大概2~3h

RAC软件安装配置时间:约1~1.5h

ASM配置:5min

集群数据库安装:1~2h

5. 安装过程应注意的地方

Ø 安装前适当翻阅ORACLE在线文档

Ø 下载的安装包解压后开始安装前,须验证CRC通过再装!

Ø 注意相应目录权限设置的问题,不要轻易更改相关目录权限

Ø 若采用host方式解释scanip,安装到执行root.sh脚本可能一次性执行不通过;可尝试检查并启动监听器后回退,用dd命令清除清空分区表头,然后再执行。注意脚本执行的先后顺序。还有一种情况不通过是localhost设置,这条目必须加入到host文件中,同时删除不相关的条目。

Ø 安装过程中遇到UDEV权限问题,一是查看虚拟机参数,一是查看配置文件的权限。

Ø 网卡名要一样,比如都叫eth0, eth1,不能出现一节点eth0,eth1,另一台eth2, eth3。两节点网卡最好也一样,建议用同型号的网卡,根据资料,至少网卡的MTU(最大传输单元)必须要一致,否则也会导致错误。

Ø 公共网络必须使用各个节点的同一个网卡,每个节点需要一个VIP,VIP必须和公共网络在一个子网中

Ø 对共享存储分区后,须要保证在所有节点上都能看到分区表信息,且须保持一致

Ø 安装后检查集群环境、网络、服务、进程、日志

 

 

(三)生产环境安装部署注意事项:

n 如果是读写频繁的OLTP系统,对数据文件和归档日志文件存放的磁盘组,最好采用Raid,以保证读写都很快。

n  除了备份区,其他区域不建议采用太大的硬盘。如果数据库不大,加上磁盘数量太少,还不如将所有磁盘都做成Raid1+0,这样可以提升I/O总体带宽,也可以节省多个热备盘引起空间浪费。

n 为便于后期管理维护,公司数据量较大的,特别要注意名称尽量规范化, 以避免管理起来混乱、致人为错误而产生事件,同时减少管理开销。

n 存储、IP及子网规划使用后,按标准文档记录下来

n 养成保留日志、整理安装部署文档的习惯,安装部署后及时对变更整理归档。

 

 

三、实验环境配置

 

(一)虚拟环境配置

1) 虚拟机创建存储数据库磁盘

 

vmware-vdiskmanager.exe -c -s 4Gb -a lsilogic  -t  2  "D:\vmwareuser\oracluster"\ShareDiskOCR.vmdk

vmware-vdiskmanager.exe -c -s 10Gb -a lsilogic  -t  2  "D:\vmwareuser\oracluster"\ShareDiskData01.vmdk

vmware-vdiskmanager.exe -c -s 10Gb -a lsilogic  -t  2  "D:\vmwareuser\oracluster"\ShareDiskData02.vmdk

vmware-vdiskmanager.exe -c -s 5Gb -a lsilogic  -t  2  "D:\vmwareuser\oracluster"\ShareDiskFlash.vmdk

 

创建完成后,生成8个文件

 

 

2) 创建的3个磁盘添加进每台虚拟机

通过VMWare图形界面建立磁盘,

 

 

 

 

 

 

3) 添加一块网卡(注意,网卡名称一样、MTU也须相同,生产环境最好用相同的网卡配置)

 

 

 

 

4) 编辑虚拟机,添加两行记录

 

关闭两台虚拟机,用记事本打开虚拟机名字.wmx,到虛拟机的安装目录,我的目录在D:\Program Files\vmoranode1下,直接编辑*.vmx文件,加上下面五条语句(所有虛拟机节点),注意,最后一行必须加入,否则无法获取磁盘的uuid

scsi1:0.SharedBus="Virtual"

scsi1:0.shared="TRUE"

disk.locking = "false"

disk.EnableUUID ="true"    

需要补充的是,

这几个参数必须都加上。多次实验中出现了个问题,当对某个磁盘分区有变更后,偶尔也会导致两节点分区表会不一致,任凭怎么重启或加载也无效。后来发现是参数scsi1:0.shared="TRUE"未设置的问题。

但还存在一个问题,不知道是BUG还是环境的原因,每次更新分区表后,另一节点重新加载还是不成功,分区表信息须重启才能生效。保存退出。(有知道哪还需要设置的网友告一声,谢谢!)

 

5) 最后虚拟机环境设置好大致如下:

 

 

 

 

 

(二)配置OS

新建两台虚拟机分别为RAC1和RAC2,下载Centos的iso后安装好OS,接下来开始进行OS环境配置,以下没有特别说明都需要同时在两个节点执行。

 

1) 关闭防火墙

 

关闭selinux
[root@rac1 ~]# sed -i "s#enforcing#Disabled#g" /etc/selinux/config
[root@rac2 ~]# sed -i "s#enforcing#Disabled#g" /etc/selinux/config
 

关闭防火墙
[root@rac2 ~]# service iptables stop

[root@rac2 ~]# chkconfig iptables off

 

 

2) 修改host文件或配置DNS解释SCANIP(配置过程如下)

 

 

 

3) 配置节点互信(所有节点的基于用户oracle,grid的互信)

a. 为ssh、scp创建连接(rac1和rac2都要执行,OUI图形界面安装过程中会报错)

[root@rac1 ~]# /bin/ln -s /usr/bin/ssh /usr/local/bin/ssh
[root@rac1 ~]# /bin/ln -s /usr/bin/scp /usr/local/bin/scp

 

b. 为grid用户配置SSH

分别在每个节点上(grid用户登录,节点1和节点2上执行)
[root@rac1 ~]# su - grid
[grid@rac1 ~]$ mkdir ~/.ssh
[grid@rac1 ~]$ cd .ssh
[grid@rac1 .ssh]$ ssh-keygen -t rsa
[grid@rac1 .ssh]$ ssh-keygen -t dsa

[grid@rac2 ~]$ mkdir ~/.ssh
[grid@rac2 ~]$ cd .ssh
[grid@rac2 .ssh]$ ssh-keygen -t rsa
[grid@rac2 .ssh]$  ssh-keygen -t dsa 

c. 仅在节点1上(生成公钥后放置RAC1及RAC2的authorized_keys中,并写入known hosts列表中):
[grid@rac1 .ssh]$ touch authorized_keys
[grid@rac1 .ssh]$ ssh rac1 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys
[grid@rac1 .ssh]$ ssh rac2 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys
[grid@rac1 .ssh]$ ssh rac1 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys
[grid@rac1 .ssh]$ ssh rac2 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys
[grid@rac1 .ssh]$ scp authorized_keys rac2:/home/grid/.ssh/ 

 

d. 分别在每个节点上
[grid@rac1 .ssh]$ ssh rac1 date
[grid@rac1 .ssh]$ ssh rac2 date
[grid@rac1 .ssh]$ ssh-agent $SHELL
[grid@rac1 .ssh]$ ssh-add

 

分别在每个节点上验证ssh
[oracle@rac1 .ssh]$ ssh rac1 date
[oracle@rac1 .ssh]$ ssh rac2 date
[oracle@rac1 .ssh]$ ssh-agent $SHELL
[oracle@rac1 .ssh]$ ssh-add

 

4) 创建组和用户,加权限

 

#组

# groupadd -g 1000 oinstall;groupadd -g 1200 asmadmin;groupadd -g 1201 asmdba;groupadd -g 1202 asmoper;groupadd -g 1300 dba;groupadd -g 1301 oper

 

#用户
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba -s /bin/bash grid  

useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -s /bin/bash oracle

Chown -R grid:oinstall /tmp

chmod 755 /tmp

 

 

5) 用户环境变量配置

su - oracle

vi .bash_profile
#ORACLE用户环境

 export TMP=/tmp 
 export TEMP=$TMP 
 export ORACLE_SID=RAC1  # RAC1
 export ORACLE_SID=RAC2  # RAC2
 export ORACLE_BASE=/u01/app/oracle 
 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
 export TNS_ADMIN=$ORACLE_HOME/network/admin 
 export PATH=/usr/sbin:$PATH 
 export PATH=$ORACLE_HOME/bin:$PATH 
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib 
 export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib 
 umask 022
 

 

 

 

6) 创建目录,给予目录权限
 

mkdir -p /u01/app/11.2.0/grid
 mkdir -p /u01/app/grid
 mkdir -p /u01/app/oracle
 chown grid:oinstall /u01/app/11.2.0/grid
 chown grid:oinstall /u01/app/grid
 chown oracle:oinstall /u01/app/oracle
 chmod -R 775 /u01/
 chown -R grid:oinstall /u01

 

 

7) 配置系统文件

a) 配置oracle、grid用户的shell限制

vim /etc/security/limits.conf

添加

grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

 

b) 修改/etc/pam.d/login配置文件

Vim  /etc/pam.d/login 
添加 session    required     pam_limits.so

 

 

c) 修改内核配置文件/etc/sysctl.conf

 

#kernel.shmall = 4294967296

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1054472192

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

#net.ipv4.ip_local_port_range = 32768 61000

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.wmem_max = 1048586

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

net.ipv4.tcp_wmem = 262144 262144 262144

net.ipv4.tcp_rmem = 4194304 4194304 4194304

net.core.rmem_max = 4194304

 

保存退出后执行 sysctl -p 立即生效。

 

 

 

[root@rac1 ~]# /etc/sysctl.conf

net.ipv4.ip_local_port_range = 32768 61000

 

 

8) 配置共享磁盘(在一个节点执行即可)

a) 分区

 

用fdisk进行分区,其他区按照自己的规划划分就可以了,如:fdisk /dev/sde

 

 

最后配置完后查看分区

 

[root@rac1 ~]# ls /dev/sd*

/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd  /dev/sdd1   /dev/sde  /dev/sde1  /dev/sde2  /dev/sde3

 

[root@rac1 ~]# partx /dev/sde

# 1:        63-  2120579 (  2120517 sectors,   1085 MB)

# 2:   2120580-  4241159 (  2120580 sectors,   1085 MB)

# 3:   4241160-  6361739 (  2120580 sectors

 

 

 

b) 配置UDEV绑定磁盘分区

         

 

9) 安装GI、Oracle、等需要的包

 

参照官网和网友的BLOG,需安装以下包

 

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

 

 

yum install glibc glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh  compat-libcap1  elfutils-libelf-devel gcc-c++

 

yum install -y glibc glibc-devel ksh glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC

yum install -y unixODBC-devel compat-libcap1 elfutils-libelf-devel gcc-c++  unixODBC-* -y

yum install -y libcap.so.1

rpm -ivh cvuqdisk-1.0.9-1.rpm

rpm -e ksh

rpm -ivh pdksh-5.2.14-30.x86_64.rpm

yum install -y --skip-broken ksh

 

 

 

四、安装配置cluster集群软件及ASM

 

把clusterware的voting和ORC存储于ASM中,DG组名为ORCV,ORACLE软件、数据库文件、控制文件、归档文件,REDO等放于DATA1组

 

(一)安装前检查

1) 增加swap分区2G

mkdir -p /opt/temp
dd if=/dev/zero of=/opt/temp/swap bs=1024 count=2048000
mkswap /opt/temp/swap
 swapon /opt/temp/swap
 echo "/opt/temp/swap           swap                    swap    defaults        0 0" >>/etc/fstab

 

[root@rac1 ~]# free -m

             

 

 

其它大小分别查询,硬盘空间 free -m查看内存,df -h查看硬盘空间

 

2) Grid用户解压安装包,并运行

 以grid用户解压安装包,到grid目录下面运行,解压完后查看日志CRC验证成功后方可安装:

[grid@rac1 soft]$ unzip  p13390677_112040_Linux-x86-64_3of7.zip >>u13.log

[grid@rac1 soft]$ cd grid

[grid@rac1 grid]$

3) 为ssh,scp创建软链接

ln -s /usr/bin/ssh /usr/local/bin/ssh

ln -s /usr/bin/scp /usr/local/bin/scp

4) CVU工具验证安装环境

 

1) 检验两个节点安装条件      

./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose        
 

 检查共享存储

./runcluvfy.sh comp ssa -n rac1,rac2 -s /dev/asmdk3,/dev/asmdk4,/dev/asmdk5  

首先 确保检测成功,才能继续往下走“Post-check for hardware and operating system setup was successful.”

 

2) 脚本正常输出结果:

 

 

 

 

5) 运行脚本执行过程中报错处理

若运行过程中报如下错误:

line 135: /tmp  /bootstrap/ouibootstrap.log: No such file or directory

 

 

解决方式:

一是,查看权限,给tmp加权限,同时保证tmp下有足够的空间

chmod -R 755 /tmp/

 chown -R grid:oinstall /tmp

二,是查看grid环境变量,保证有TEMP变量,ORACLE检测脚本会用到该变量

export TEMP=/tmp

 

 

(二)开始安装GI

1) 使用VNC登录服务器端RAC1(安装配置忽略)

服务端敲入以下命令

[grid@rac1 grid]$ vncserver

 

New 'rac1:4(grid)' desktop is rac1:4

 

Starting applications specified in /home/grid/.vnc/xstartup

Log file is /home/grid/.vnc/rac1:4.log

 

客户端打开VNC

 

 

 

 

 

 

[grid@rac1 grid]$ ./runInstaller

Starting Oracle Universal Installer...

 

Checking Temp space: must be greater than 120 MB.   Actual 3117 MB    Passed

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

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

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-09-07_03

 

 

 

 

 

PS:

安装目录下执行./runinstaller,如果出现安装grid提示must be configured to display at least 256 colors Failed,

     >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

就执行如下

root 下先执行#xhost +
 su  -  grid
 export DISPLAY=:0.0

 

 

 

2) 详细安装过程及说明

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

若在SSH 的TEST时报错: 

INS-06006: Passwordless SSHconnectivity not set up between the following node(s)

 

解决方式:

ln -s /usr/bin/ssh /usr/local/bin/ssh

ln -s /usr/bin/scp /usr/local/bin/scp

 

 

 

 

 

 

到此步骤后点击“change path”,输入磁盘组位置,会自动扫描出磁盘文件,如图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

安装日志路径

 

 

跑root.sh前需要注意以下两条:

执行orainstRoot.sh和root.sh脚本时,先执行rac1后再执行rac2

跑root.sh脚本之前,先执行以下语句(具体参考root.sh成功的日志)

[root@rac2 ~]# rm -rf /share/storage/ocr;touch /share/storage/ocr;chown oracle:oinstall /share/storage/ocr

 

注意:跑脚本的顺序一定要对,先在RAC1执行第一个脚本,再到RAC2执行第一个脚本,然后到RAC1执行第一脚本,最后再去RAC2执行第二个脚本
          rac1(root用户): /u01/app/oraInventory/orainstRoot.sh
          rac2(root用户):  /u01/app/oraInventory/orainstRoot.sh  
          rac1(root用户):  /u01/app/11.2.0/grid/root.sh

        Rac2(root用户):  /u01/app/11.2.0/grid/root.sh

如果root.sh执行顺序不对,两个脚本同时执行,或第二个节点先执行会报以下错误:

Disk Group OCR creation failed with the following message:

ORA-15018: diskgroup cannot be created

ORA-15017: diskgroup "OCR" cannot be mounted

ORA-15003: diskgroup "OCR" already mounted in another lock name space

 

执行orainstRoot.sh脚本正常输出日志:

[root@rac1 ~]# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

 

Changing groupname of /u01/app/oraInventory to oinstall.

The execution of the script is complete

 

Root.sh脚本执行成功后的正常输出日志(实验性):

# /u01/app/11.2.0/grid/root.sh

 

成功执行后,才可下一步安装,如图:

 

 

 

 

我们直接finish了,这里我们集群软件安装完成。INS-20802报错忽略,检查日志如下,因NTP服务已关闭。

 

 

 

到此,GI成功安装完成!检查安装日志:

[root@rac1 ~]# vi /u01/app/oraInventory/logs/installActions2017-09-10_06-15-15PM.log

 

 

 

 

 

 

 

(三)检查安装结果

GI安装完成后,可以从下面四个方面来检查Clusterware和ASM是否正常

a. 查看集群寻中的节点状态

b. 查看VIP和SCAN是否产生

c. 检查所有服务的状态

d. 检查ASM实例状态

 

 

 

1) 查看集群中节点状态,Clusterware提供了olsnodes命令:

 

 

 

 

 

2) 查看VIP和SCAN(两个节点)

 

 

 

 

 

3) 查看Clusterware的服务状态(一系列命令和服务都放在GI安装目录的BIN目录下)

 

 

[grid@rac1 rpm]$  ps -ef|egrep  'ocssd|crsd|ctssd|evmd|ohasd'|grep -v grep

 

 

 

-crs_stat,列出集群中各资源的状态,创建集群数据库之后,该命令会查看到更多的资源。

 

 

 

---查看crs,ohas,css,evm四个服务的状态

 

[grid@rac1 rpm]$ crsctl check ctss

CRS-4700: The Cluster Time Synchronization Service is in Observer mode.

[grid@rac1 rpm]$ crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

 

 

--查看时间同步服务ctss的服务状态

[root@rac1 ohasd]# crsctl check ctss

CRS-4700: The Cluster Time Synchronization Service is in Observer mode.

 

 

4) 查看ASM实例的状态

GI选择ASM的存储方式,那么每个节点都有一个ASM实例,通过该实例访问ASM磁盘组

 

 

 

 

[grid@rac1 ~]$ export ORACLE_SID=+ASM1

[grid@rac1 ~]$ sqlplus / as sysasm

 

SQL> select instance_name,status from v$instance;                                             

 

INSTANCE_NAME    STATUS

---------------- ------------

+ASM1            STARTED

 

 

 

 

 

 

(四)安装数据库oracle软件、创建ASM磁盘组

安装ORACLE数据库软件之前:

先考虑安装到什么地方,还须保证安装者可写,ORACLE数据库软件可以使用以下形式的安装路径:每节点本地目录、NFS服务器共享目录、ASM磁盘组的ACFS。本实验采用ASM磁盘组。

字符集选择使用ORACL推荐的:

Oracle recommends that you use Unicode AL32UTF8 as the database character set.

安装用户:

这里我们使用oracle用户进行安装,

 

 

1)   安装ORACLE软件(企业版空间至少4.7G)

    

 

 

不填写mos账号,点击next,这里我们还是在rac1节点上安装

 

这里只安装数据库软件,点击next

 

 

这里选择集群安装方式,选择“select All”,点击next

 

 

选择”Enterprise Edition“ 点击”next“ 

 

 

 

这里是oracle_base和oracle_home,点击next

 

 

 

 

下面第一个告警忽略掉,因没配置ntp,已关闭、删除所有ntp相关的配,ntp无法正常运行,准备grid自带的ctss

第二、三个告警使用了hosts解释scanip,若使用DNS是下一张图,告警忽略

 

 

 

如果使用DNS解释SCAN的话,如下图:

  

 

 

 

完成后同样也要执行一个脚本,也是要在root用户下去执行,分别两个节点上

[root@rac1 soft]# /u01/app/oracle/product/11.2.0/db_1/root.sh

 

 

 

 

 

 

2) 创建ASM磁盘组

安装GI集群软件的时候我们配置过asm磁盘,现在还有一个磁盘分区没加入到asm磁盘组中,可以使用asmca工具来实现
su - grid
运行命令asmca,出来配置向导。这里我们之前配置过的disk group,

 

点击create,给disk group起名,选择redundancy External,勾选asmdk6,ok一下

 

 

 

到这里两个disk group出来了,点退出即可。。

 

 

 

 

 

 

 

五、集群数据库的创建

 

仍然使用ORACLE用户进行安装,直接su - oracle,运行dbca命令来配置数据库

工具启动后来到如下界面,我们选择第一项集群模式,然后next

 

 

选择create a database,继续next

 

 

 选择general purpose,继续next

 

配置类型选择admin-managed,Global database name和sid相同为tsdb,最下面我们选择”select all“,然后next

 

 

这里我们选择默认推荐的配置,EM和amt都选择配置,继续next

 

 

 

 

这里我们选择用存储类型为asm,使用omf管理数据文件。

 

 

 

 

我们这里可以暂时不选择闪回恢复区,以后手动改spfile 

 

 

装上sample schemas,有数据可以测试一下,next

 

 

 

这里我们字符集会有所设置,ZHS16GBK-GBK,国际字符集默认的就行。其它的选项卡没有特殊配置,装好后可以改spfile,继续next

 

这个是数据库的存储配置页面,我们看一下控制文件等等都要开始安装了,next

 

 

 

等待,这个也是比较久的,我的磁盘不是SSD的,速度较慢,大概40多分钟的样子

 

 

OK安装完成,退出!

 

 

 

六、安装后任务 

 

(一)官方建议的两个安装后置任务 

(1) 备份 root.sh脚本

官方建议在完成安装后要备份root.sh脚本文件。如果在Oracle Home目录有安装其它产品,安装时OUI会升级已存在的root.sh文件。如果需要root.sh内的原始信息,可以在备份中找到。

cd $ORACLE_HOME

cp root.sh root_balk.sh

 

(2)重新编译无效对象

运行 utlrp.sql 脚本立即重新编译所有无效的 PL/SQL 程序包,而不是在首次访问它们时再重新编译。这是个可选步骤,但建议您选择该步骤。

[oracle@racnode1 ~]$ sqlplus / as sysdba

SQL> @?/rdbms/admin/utlrp.sql2.

在 RAC 环境中启用存档日志

(1)、以 oracle用户身份登录到一个节点(即rac1),通过在当前实例中将cluster_database设置为FALSE来禁用集群实例参数:

[oracle@rac1~]$ sqlplus / as sysdba

alter system set cluster_database=false scope=spfile sid='rac1';

System altered.

(2)、以 oracle用户身份关闭所有访问集群化数据库的实例:

[oracle@rac1~]$ srvctl stop database -d tsdb

(3)、使用本地实例,挂载数据库:

[oracle@rac1~]$ sqlplus / as sysdba

startup mount

 

(4)、启用存档功能:

alter database archivelog;

 

(5)、通过在当前实例中将实例参数 cluster_database修改为TRUE,重新启用对集群的支持:

alter system set cluster_database=true scope=spfile sid='tsdb1';

(6)、关闭本地实例:

shutdown immediate

ORA-01109: database not open

Database dismounted.

ORACLE instance shut down.

(7)、以 oracle帐户身份使用srvctl命令重启所有实例:

$ srvctl start database -d tsdb

(8)、登录到本地实例,验证存档日志模式已启用:

[oracle@rac1~]$ sqlplus / as sysdba

archive log list

 

在两个RAC节点都备份spfile初始化参数文件:创建一个备份目录:

[oracle@rac2 ~]$ mkdir $ORACLE_HOME/spfile_bak

[oracle@rac2 ~]$ sqlplus “/as sysdba”

 

(二)删除GI、数据库(具体参考另一文档)

  删除GI:

    

  数据库删除可使用DBCA工具:

 

(三)本文参考文档书籍及blog

 

官档Linux x86-64关于RAC、GI安装手册:

1) 《Real Application Clusters Installation Guide》

http://docs.oracle.com/cd/E11882_01/install.112/e41962/toc.htm

2) 《Grid Infrastructure Installation Guide》

 

RAC相关书籍和文档:RAC,HA,ASM,GI工作原理和实现等介绍

1) 《ORACLE 11g实战指南》  刘宪军编著 机械工业出版社

2)  《Oracle 11g R2 RAC 高可用连接特性 – SCAN详解》

http://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=401713184&idx=1&sn=d6272c45bc8b31c154e4e1d2688d9e38#rd

3) http://www.jb51.net/article/43527.htm

 

4) 《Real Application Clusters Administration and Deployment Guide》

http://docs.oracle.com/cd/E11882_01/rac.112/e41960/toc.htm

 

5) 《Clusterware Administration and Deployment Guide》

http://docs.oracle.com/cd/E11882_01/rac.112/e41959/toc.htm

 

6) 《Automatic Storage Management Administrator's Guide》

http://docs.oracle.com/cd/E11882_01/server.112/e18951/toc.htm

 

7) 《Database High Availability Overview》

http://docs.oracle.com/cd/E11882_01/server.112/e17157/toc.htm

 

编写:QF

初:2015年9月12日

修:2017年9月16日

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值