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

1、前面准备阶段博客:

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

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, 0 received, +3 errors, 100% packet loss, 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, 0 received, +3 errors, 100% packet loss, 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安装时会产生产品清单文件默认选在这个目录。

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

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第1张图片

四个节点都执行。

6、NTPD时间同步服务;

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

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

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

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

service ntpd stop

然后禁止开机自启动。

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

四个节点都需要做。

7、安装cvudisk包

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第2张图片

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

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

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

在节点1上:

sftp 192.168.0.52

lcd /taryartar/12c/grid/rpm

put *.rpm

quit

去节点2root家目录下:

rpm -ivh *.rpm

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第3张图片

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

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

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

vi /etc/fstab

修改

tmpfs      /dev/shm    tmpfs    defaults   0   0

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

然后重新挂载

umount     /dev/shm

mount      /dev/shm

就行了。

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

fuser -m /dev/shm

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

查看占用的进程号

然后kill

kill -9 2481 2571

然后重新umount

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第5张图片

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第6张图片

注意,四个节点都做。

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

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

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第7张图片

没有选择这个选项,那么导进去的另外地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
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第8张图片
c、关机。
d、重新生成mac地址。
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第9张图片
点一下就会重新生成mac地址。节点1的4块网卡都重新生成,然后点ok。
f、然后启动节点1
可以看到/etc/udev/rules.d/目录下又重新生成了一个70-persistent-net.rules文件。此文件里面的mac地址是按照最新的网卡mac地址产生的。
g、重启后生成的70-persistent-net.rules文件内容,看到系统自动按照新的网卡mac地址生成了该文件。

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第10张图片
此时ifconfig -a看只能看到两块公网网卡,无法看到两块私网网卡了,因为私网网卡配置文件中配置了mac地址,而此时硬件的mac地址跟配置文件的不一致,所以读不出来。
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第11张图片
可以看到此时私网没有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", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:68:23:42", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:4e:68:35", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:35:88:b0", ATTR{type}=="1", KERNEL=="eth*", 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、添加图形界面支持:
a、本实验因为我虚拟机装的是基本服务器版,无图形界面,所以使用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打开后运行在任务栏鼠标指上去的地址,如图:

b、使用vnc
[root@rac1 \u684c\u9762]# export DISPLAY=localhost:1
[root@rac1 \u684c\u9762]# xhost +
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第12张图片
启动后的图形界面:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第13张图片

前面最好配置下vnc的配置文件:
[wufan@rac1 桌面]$ cat /etc/sysconfig/vncservers 
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.  
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see this URL:
# https://access.redhat.com/knowledge/solutions/7027

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x800"


[wufan@rac1 桌面]$ 
VNCSERVERS配置连接到vnc服务的用户
VNCSERVERARGS配置分辨率
export DISPLAY=localhost:1
localhost就是vncserver所在的服务器
后面的:1是启动服务时指定的数字,可以通过后台进程查询:

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第14张图片

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,rac2,rac3,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、启动安装。

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第15张图片

报上面的错,说明缺包: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,再来一次。
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第16张图片
错误不存在了,能起来了。

13、预安装检查:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第17张图片
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第18张图片
把红框中的两行注释掉,然后点check again。
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第19张图片
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图形界面详解:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第20张图片

启动安装图形化界面。
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第21张图片
选择安装配置集群。
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第22张图片
选择标准集群。
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第23张图片

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

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

17、安装完成后的检验。
olsnodes -s
列出集群中节点和节点状态。
crsctl check cluster -all
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第41张图片
列出集群中所有节点的进程及状态。
crsctl check crs

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

ifconfig -a |grep -i addr
四节点都执行
节点1:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第42张图片
节点2:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第43张图片
节点3:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第44张图片
节点4:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第45张图片
可以看出公网ip上分出来4个vip,而scan vip只有3个,分布于节点2、3、4上。

crsctl stat res -t
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第46张图片 oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第47张图片
该命令展示集群各节点所有的资源、状态等。

上面我们知道集群只有三个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

oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第48张图片


18、安装后scan的体验,可以直接ping scan名:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第49张图片

可以看到,多次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:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第50张图片
节点2:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第51张图片
节点3:
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第52张图片
节点4:

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

也可以通过集群资源管理命令直接查看asm实例的情况(目录、口令文件、监听器、asm实例个数)
srvctl config asm
oracle 12c GI安装详细步骤(oracle 12C + Grid Infrastructure(GI) + UDEV + ASM +centos6.4)_第53张图片

srvctl status asm

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

20、到目前为止GI已经顺利安装完成。因为我的机器内存12G,有点空间不足,所以为了后续安装oracle数据库软件和dbca建库有足够的资源顺利进行,我先把asm实例的sga大小调小点。
如下操作:
登陆到有asm运行的节点,本实验我这边是节点1、2、3。
先做节点1:
su - grid
sqlplus / as sysasm
create pfile from spfile ;
alter system set sga_max_size=700m scope=spfile;
shutdown immediate
startup
说明:
1、可以用sysdba的权限登陆asm实例,但是只能修改sga_max_size的大小,如果要重启asm实例就会报权限不足了。
2、重启的时候我试过startup force一条命令,但是发现要等很久,并且报了一个end file啥的内部错误,再次登陆进去后会报连接丢失,不必担心,这个是cpu使用过高导致的。
3、修改初始化参数之前,最好像我上面那样,先把spfile生成一份pfile备份。上面的语句备份会产生在$GRID_HOME/dbs目录下面,文件名:init+ASM1.ora。
完成后继续在剩下的两个节点做。

21、配置root用户的环境变量。
集群的启动和停止都是需要root用户去做的。这样我们在执行一些集群命令的时候,如果能在root用户下面直接执行,则方便很多,所以我们需要对root用户配置环境变量。
不配置root用户环境变量的情况下,我们如果想要停止集群,直接在root用户下执行
crsctl stop cluster -all
会报命令找不到。
配置环境变量:
su - root
vi .bash_profile
增加如下三行:
export GRID_BASE=/taryartar/12c/grid_base
export GRID_HOME=/taryartar/12c/grid_home
export PATH=$PATH:$GRID_HOME/bin

保存退出。
使之立即生效:
source .bash_profile

测试是否生效:
crsctl stat res -t
能看到跟grid用户执行的命令一样的界面就ok了。



你可能感兴趣的:(oracle,12c,grid,linux,centos6.4)