oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)

前端之家收集整理的这篇文章主要介绍了oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、前面准备阶段博客

http://www.jb51.cc/article/p-tiwwctwu-bph.html

2、scan初体验:

[root@rac1 ~]# nslookup rac4
Server:         192.168.0.88
Address:        192.168.0.88#53

Name:   rac4.taryartar.com
Address: 192.168.0.54

[root@rac1 ~]# ping myscan
PING myscan.taryartar.com (192.168.0.61) 56(84) bytes of data.
From rac1.taryartar.com (192.168.0.51) icmp_seq=2 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=3 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=4 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=6 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=7 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=8 Destination Host Unreachable
^C
--- myscan.taryartar.com ping statistics ---
10 packets transmitted,0 received,+6 errors,100% packet loss,time 9363ms
pipe 3
[root@rac1 ~]# ping myscan
PING myscan.taryartar.com (192.168.0.62) 56(84) bytes of data.
From rac1.taryartar.com (192.168.0.51) icmp_seq=2 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=3 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=4 Destination Host Unreachable
^C
--- myscan.taryartar.com ping statistics ---
5 packets transmitted,+3 errors,time 4403ms
pipe 3
[root@rac1 ~]# ping myscan
PING myscan.taryartar.com (192.168.0.63) 56(84) bytes of data.
From rac1.taryartar.com (192.168.0.51) icmp_seq=2 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=3 Destination Host Unreachable
From rac1.taryartar.com (192.168.0.51) icmp_seq=4 Destination Host Unreachable
^C
--- myscan.taryartar.com ping statistics ---
4 packets transmitted,time 3406ms
pipe 3
[root@rac1 ~]# 

可以看出ping了三次myscan返回了三个不同ip地址。这个就是负载均衡,dns轮询算法,该功能由dns提供的,因为目前我们未安装任何oracle的产品。

3、截止到目前,我们还没有设置四台虚拟机的grid用户和oracle用户的密码。

[root@rac1 ~]# passwd grid
更改用户 grid 的密码 。
新的 密码:
无效的密码: 它基于用户名
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@rac1 ~]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 它基于用户名
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@rac1 ~]# 

这个在通过oui安装并且通过oui配置grid和oracle用户等价性的时候会用到,所以要提前设置。四个grid用户的密码要一样,同样四个oracle用户密码也应该一致。

4、配置ftp,把GI安装文件和database安装文件上传到虚拟机。

http://blog.csdn.net/kadwf123/article/details/78255194

5、目录权限问题。

我的安装文件都放在/taryartar/12c目录下面,所以必须保证12c目录必须能够被grid可读可写。同时,oracle OUI安装时会产生产品清单文件默认选在这个目录。

所以这个目录最后给足权限:


四个节点都执行。

6、NTPD时间同步服务;

从oralce11g开始,oracle已经对集群同步专门开发了ctss服务,我们不需要在使用操作系统的NTPD服务,所以,我们可以直接禁用NTPD服务;

oracle的ctss节点时间同步服务会自动检测ntpd服务,如果ntpd服务存在并且在运行,则ctss服务进入观察者模式,节点间的时间同步由ntpd服务来做。

如果ctss发现ntpd服务不存在,则直接接管结群的时间同步任务。

如果ntpd服务没有关闭,请先关闭

service ntpd stop

然后禁止开机自启动。

然后把ntpd的配置文件名改掉。

四个节点都需要做。

7、安装cvudisk包

其中grid目录是安装文件解压缩后创建的目录。

注意,四个节点都要安装。

可以通过第一个节点把rpm包ftp到另外三个节点,然后安装:

在节点1上:

sftp 192.168.0.52

lcd /taryartar/12c/grid/rpm

put *.rpm

quit

去节点2root家目录下:

rpm -ivh *.rpm

8、/dev/shm文件系统过小的问题。

/dev/shm文件系统oracle建议2g,我这边目前只有750m,需要增大,方法如下:

vi /etc/fstab

修改

tmpfs /dev/shm tmpfs defaults 0 0

tmpfs /dev/shm tmpfs defaults,size=2048m0 0

然后重新挂载

umount /dev/shm

mount /dev/shm

就行了。

如果umount的时候遇到文件busy,可以查看哪些进程占用文件系统,可以直接杀掉,然后在umount。

fuser -m /dev/shm

命令输出比如:/dev/shm: 2481m 2571m

查看占用的进程号

然后kill

kill -9 2481 2571

然后重新umount

注意,四个节点都做。

9、通过节点1导入导出产生的节点2-4导致的网卡mac地址都一样的问题。

如果选择导入虚拟机的时候:


没有选择这个选项,那么导进去的另外地3台虚拟机跟节点的网卡mac地址是一样的,我导入的时候就没打这个勾,所以需要做以下处理。
当前我4台虚拟机都是开机状态:
a、cd /etc/udev/rules.d/
b、mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules_bak
c、关机。
d、重新生成mac地址。
点一下就会重新生成mac地址。节点1的4块网卡都重新生成,然后点ok。
f、然后启动节点1
可以看到/etc/udev/rules.d/目录下又重新生成了一个70-persistent-net.rules文件。此文件里面的mac地址是按照最新的网卡mac地址产生的。
g、重启后生成的70-persistent-net.rules文件内容,看到系统自动按照新的网卡mac地址生成了该文件

此时ifconfig -a看只能看到两块公网网卡,无法看到两块私网网卡了,因为私网网卡配置文件中配置了mac地址,而此时硬件的mac地址跟配置文件的不一致,所以读不出来。
可以看到此时私网没有ip展示。

h、修改私网网卡配置文件mac地址。
vi /etc/sysconfig/network-scripts/ifcfg-eth2
vi /etc/sysconfig/network-scripts/ifcfg-eth3
[root@rac3 rules.d]# cat 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program,run by the persistent-net-generator.rules rules file.
#
# You can modify it,as long as you keep each rule on a single
# line,and change only the value of the NAME= key.

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="08:00:27:b4:2f:11",ATTR{type}=="1",KERNEL=="eth*",NAME="eth0"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ATTR{address}=="08:00:27:68:23:42",NAME="eth1"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ATTR{address}=="08:00:27:4e:68:35",NAME="eth3"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ATTR{address}=="08:00:27:35:88:b0",NAME="eth2"

只用修改mac地址,跟70-persistent-net.rules文件中一一对应。
[root@rac3 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2
HWADDR=08:00:27:35:88:b0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=10.0.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
[root@rac3 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth3

DEVICE=eth3
HWADDR=08:00:27:4e:68:35
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.0.10.6
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
IPV6INIT=no
USERCTL=no

然后重启网络服务就ok了。

10、添加图形界面支持
本实验因为我虚拟机装的是基本服务器版,无图形界面,所以使用xmananger5实现图形界面。如果你的虚拟机装的是桌面版的,你也可以使用vnc进行图形界面安装。
使用xmanager需要在grid用户下环境变量中添加如下两行:
export LANG=en
export DISPLAY=192.168.0.4:0.0
其中LANG添加英文支持,因为我的虚拟机系统是中文版的,不加这个变量,oracle弹出来的图形界面都是乱码。
DISPLAY变量冒号前面部分是我笔记本的iP地址。该ip地址是虚拟机通过桥连接连接的那块网卡的ip地址。我这边虚拟机桥连接的网卡是我笔记本的无线网卡,所以这个ip地址也是我的无线网卡的地址。
0.0就是xmanager - Passive打开后运行在任务栏鼠标指上去的地址,如图:


11、下面准备的差不多了,可以使用cvu做安装前检查了。

去grid的解压目录,本例是/taryartar/12c/grid/
[grid@rac1 grid]$ ll
total 44
drwxr-xr-x.  4 grid oinstall 4096 Oct 18 15:03 install
drwxrwxr-x.  2 grid oinstall 4096 Jul  7  2014 response
drwxr-xr-x.  2 grid oinstall 4096 Jul  7  2014 rpm
-rwxr-xr-x.  1 grid oinstall 8534 Jul  7  2014 runInstaller
-rwxr-xr-x.  1 grid oinstall 5085 Dec 20  2013 runcluvfy.sh
drwxrwxr-x.  2 grid oinstall 4096 Jul  7  2014 sshsetup
drwxr-xr-x. 14 grid oinstall 4096 Jul  7  2014 stage
-rwxr-xr-x.  1 grid oinstall  500 Feb  7  2013 welcome.html
[grid@rac1 grid]$ pwd
/taryartar/12c/grid
[grid@rac1 grid]$ 
运行如下脚本:
./runcluvfy.sh stage -pre crsinst -n rac1,rac2,rac3,rac4 -fixup -verbose
[grid@rac1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac4 -fixup -verbose

执行 集群服务设置 的预检查

正在检查节点的可访问性...

检查: 节点 "rac1" 的节点可访问性
  目标节点                                  是否可访问?                  
  ------------------------------------  ------------------------
  rac1                                  是                       
  rac2                                  是                       
  rac3                                  是                       
  rac4                                  是                       
结果:节点 "rac1" 的节点可访问性检查已通过


正在检查等同用户...

检查: 用户 "grid" 的等同用户
  节点名                                   状态                      
  ------------------------------------  ------------------------
  rac2                                  失败                      
  rac1                                  失败                      
  rac4                                  失败                      
  rac3                                  失败                      
PRVG-2019 : 用户 "grid" 在节点 "rac1" 和节点 "rac2" 之间的等同性检查出错

PRKC-1044 : 无法利用 Shell /usr/bin/ssh 和 /usr/bin/rsh 检查节点 rac2 的远程命令执行安装 
节点 "rac2" 上不存在文件 "/usr/bin/rsh"
No RSA host key is known for rac2 and you have requested strict checking.Host key verification Failed.
PRVG-2019 : 用户 "grid" 在节点 "rac1" 和节点 "rac1" 之间的等同性检查出错

PRKC-1044 : 无法利用 Shell /usr/bin/ssh 和 /usr/bin/rsh 检查节点 rac1 的远程命令执行安装 
节点 "rac1" 上不存在文件 "/usr/bin/rsh"
No RSA host key is known for rac1 and you have requested strict checking.Host key verification Failed.
PRVG-2019 : 用户 "grid" 在节点 "rac1" 和节点 "rac4" 之间的等同性检查出错

PRKC-1044 : 无法利用 Shell /usr/bin/ssh 和 /usr/bin/rsh 检查节点 rac4 的远程命令执行安装 
节点 "rac4" 上不存在文件 "/usr/bin/rsh"
No RSA host key is known for rac4 and you have requested strict checking.Host key verification Failed.
PRVG-2019 : 用户 "grid" 在节点 "rac1" 和节点 "rac3" 之间的等同性检查出错

PRKC-1044 : 无法利用 Shell /usr/bin/ssh 和 /usr/bin/rsh 检查节点 rac3 的远程命令执行安装 
节点 "rac3" 上不存在文件 "/usr/bin/rsh"
No RSA host key is known for rac3 and you have requested strict checking.Host key verification Failed.

ERROR: 
等同用户在所有指定的节点上都不可用
验证无法继续


在所有节点上预检查 集群服务设置 失败。


NOTE: 
没有要修复的可修复验证故障
[grid@rac1 grid]$ 
节点grid用户等价性可以通过oracle OUI提供的功能去做,我们可以不用管。
通过OUI配置集群的grid用户等价性后,在运行该检查命令,结果如下:

http://blog.csdn.net/kadwf123/article/details/78304908

12、启动安装。



报上面的错,说明缺包:xorg-x11-utils.x86_64 0:7.5-14.el6 安装之
[root@rac1 grid]# yum -y install xorg-x11-utils
Loaded plugins: fastestmirror,security
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xorg-x11-utils.x86_64 0:7.5-14.el6 will be installed
--> Processing Dependency: libdmx.so.1()(64bit) for package: xorg-x11-utils-7.5-14.el6.x86_64
--> Processing Dependency: libXxf86dga.so.1()(64bit) for package: xorg-x11-utils-7.5-14.el6.x86_64
--> Running transaction check
---> Package libXxf86dga.x86_64 0:1.1.4-2.1.el6 will be installed
---> Package libdmx.x86_64 0:1.1.3-3.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================
 Package                    Arch               Version                      Repository        Size
===================================================================================================
Installing:
 xorg-x11-utils             x86_64             7.5-14.el6                   base             101 k
Installing for dependencies:
 libXxf86dga                x86_64             1.1.4-2.1.el6                base              18 k
 libdmx                     x86_64             1.1.3-3.el6                  base              15 k

Transaction Summary
===================================================================================================
Install       3 Package(s)

Total download size: 133 k
Installed size: 270 k
Downloading Packages:
(1/3): libXxf86dga-1.1.4-2.1.el6.x86_64.rpm                                                                  |  18 kB     00:00     
(2/3): libdmx-1.1.3-3.el6.x86_64.rpm                                                                         |  15 kB     00:00     
(3/3): xorg-x11-utils-7.5-14.el6.x86_64.rpm                                                                  | 101 kB     00:00     
------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                               9.3 kB/s | 133 kB     00:14     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : libXxf86dga-1.1.4-2.1.el6.x86_64                                                                                 1/3 
  Installing : libdmx-1.1.3-3.el6.x86_64                                                                                        2/3 
  Installing : xorg-x11-utils-7.5-14.el6.x86_64                                                                                 3/3 
  Verifying  : libdmx-1.1.3-3.el6.x86_64                                                                                        1/3 
  Verifying  : xorg-x11-utils-7.5-14.el6.x86_64                                                                                 2/3 
  Verifying  : libXxf86dga-1.1.4-2.1.el6.x86_64                                                                                 3/3 

Installed:
  xorg-x11-utils.x86_64 0:7.5-14.el6                                                                                                

Dependency Installed:
  libXxf86dga.x86_64 0:1.1.4-2.1.el6                                   libdmx.x86_64 0:1.1.3-3.el6                                  

Complete!
[root@rac1 grid]# 

ok,再来一次。

错误不存在了,能起来了。

13、预安装检查:

把红框中的两行注释掉,然后点check again。
ok,那个问题不存在了。
图中两个问题,一个是物理内存不足,这个oracle官方建议4g,我这边只有1.5g,可以忽略。
devices checks for ASM是没有检查到安装配置ASMlib,我们是用udev管理裸设备,不用asmlib,忽略。

14、执行root脚本:
http://blog.csdn.net/kadwf123/article/details/78305427
两个root脚本第一个一般不会执行报错,都能执行过去。但是第二个一般出问题的概率比较大。
执行的时候相关日志可以看下面的三个地方:
tail -f /taryartar/12c/grid_home/log/rac1/ohasd/ohasd.log
tail -f /taryartar/12c/grid_home/log/rac1/agent/ohasd/oraagent_grid/oraagent_grid.log
tail -f $GRID_HOME/log/`hostname`/”alert`hostname`.log”
tail -f /var/log/messages
如果root.sh执行失败,如果在当前的页面看不出原因,可以在上述4个日志文件里面找原因,找到原因后,
要以root用户登陆到每个节点,进入grid_home目录
cd $ORACLE_HOME
cd /crs/install
perl rootcrs.pl -deconfig -force (在单节点执行,然后重复执行这条命令在每个节点)
perl rootcrs.pl -deconfig -force -lastnode (如果是想删除所有的节点,加上选项-lastnode很危险,因为它会导致清除OCR和vote disks的数据)
在从新执行root.sh脚本。
有时候进行多次运行root.sh以后可能导致无法解释的错误,此时,比较好的办法是对GI进行干净的卸载,然后重新安装。
一旦root.sh在第一个脚本执行成功后,可以并行在另外3个节点执行。

15、由虚拟机内存不足导致的安装错误,本次实验虚拟机内存1.5G,oracle官方要求4G:
http://blog.csdn.net/kadwf123/article/details/78305874
后来我把虚拟机内存扩成2148M(12.2.0.1)就可以正常安装不报错了。

16、安装GI图形界面详解:

启动安装图形化界面。
选择安装配置集群。
选择标准集群。

选择高级安装。
集群名字随意,保证同一内网唯一。集群scan name要跟dns配置的一样,否则会报错。(如果是host解析,就要保证跟host文件中配置的一样)。
私有网卡两块,一块选择asm专用,一块选择私有专用。公网bond0.
选择flex asm,是12c的新特性,多个数据库实例可以使用同一个asm实例,减少资源的占用。本实验反应出来的很大的一点就是asm实例数比节点数少一个。
选择磁盘组名,冗余选择外部冗余。分配单元1M。可选共享磁盘选择/dev/raw*这个路径。
路径指定正确后,就可以发现共享盘了。
指定oracle账号用户密码。这里选择所有账号共用一个密码。底下警告表示密码太简单,不符合oracle的密码验证要求。这里可以直接下一步。
不使用ipmi
是否配置oem,这里选择不配置。

三个都选择asmdba,oracle会提示选择可能不正确,不用管,直接下一步。
grid的base目录和home目录,oracle会自动从grid用户的环境变量读出来。如果没读出来,那你的配置有问题,请先检查。
oracle产品清单文件。需要确保/taryartar/12c有正确的权限。grid用户可读可写。
oracle从12c开始可以配置自动执行root脚本,不过为了安装步骤更清晰,我们还是不要选择自动执行。
安装前检查。两个条件不满足,一个内存大小,oracle12c官方建议4G。我们这是实验,2148M亲测可以安装成功。但是如果是1536M亲测安装配置负载资源库的时候会报错。
进入正式安装阶段。
执行两个root脚本。注意,四个节点都要执行成功才行。
ok坐等安装完成。最后就是finish了。

17、安装完成后的检验。
olsnodes -s
列出集群中节点和节点状态。
crsctl check cluster -all

列出集群中所有节点的进程及状态。
crsctl check crs

列出当前节点中集群进程的状态信息。

ifconfig -a |grep -i addr
四节点都执行
节点1:
节点2:
节点3:
节点4:
可以看出公网ip上分出来4个vip,而scan vip只有3个,分布于节点2、3、4上。

crsctl stat res -t

该命令展示集群各节点所有的资源、状态等。

上面我们知道集群只有三个scan vip,那么同样也对应三个scan监听器,可以通过下面的命令查看scan监听器。
ps -ef|grep -i scan
节点1:
节点2:
节点3:
节点4:
发现节点1上没有scan 监听器,其它节点2、3、4上面都有scan监听器。跟上面看到的scan vip的情况吻合 。

查看scan监听器的状态可以直接执行下面的命令:
srvctl status scan_listener



18、安装后scan的体验,可以直接ping scan名:

可以看到,多次ping scan名,会返回不同ip,这个跟安装前看到的是一样的。不一样的是,此时ping myscan可以ping通了。

19、Flex ASM体验:
oracle 12c以前,oracle ASM实例跟数据库实例是一对一的关系。现在有了flex asm,就可以不存在这种关系了,可以用一个asm实例服务更多的数据库实例。
下面的命令可以查看Flex ASM模式是否可用:
asmcmd showclustermode

下面的命令可以查看flex asm类型
asmcmd showclusterstate

crsctl stat res -t

可以看到有4个节点,但是只有3个asm实例在运行,分别运行在节点1、2、3上面。
ps -ef|grep -i asm
也可以直接从操作系统层面直接查看asm的进程信息
节点1:
节点2:
节点3:
节点4:

节点1、2、3都有asm实例进程在,节点4上没有运行asm实例,所以无进程。

也可以通过集群资源管理命令直接查看asm实例的情况(目录、口令文件、监听器、asm实例个数)
srvctl config asm


srvctl status asm

有多少个asm实例并且运行在哪些节点上。


原文链接:https://www.f2er.com/oracle/207370.html

猜你在找的Oracle相关文章