rhel 6.4 + udev+ 11.2.0.3 + gi + asm+ rac 双节点安装

双节点安装,node1、node2

第一块磁盘的大小为50G,安装RHEL6.4 及 GI,Oracle Software。
第二块磁盘的大小为60G,使用udev配置成asm的磁盘。


第一块盘安装好操作系统,进入系统

chkconfig cups off
chkconfig sendmail off
chkconfig isdn off
chkconfig smartd off
chkconfig iptables off

shutdown -h now

添加第二块硬盘,必须是共享盘

node1 添加硬盘

硬件类型:硬盘
创建磁盘:新建虚拟磁盘
磁盘容量:60GB
磁盘置备:厚置备置零
数据存储:VMS_TEST_2
虚拟设备节点: SCSI(1:0)
磁盘模式:独立持久


厚置备置零  创建磁盘较慢,需耐心等待

上述工作完成后,回到虚拟机设备界面,会看到除新的硬盘外,还有一个“新的SCSI控制器”:

点击 新的SCSI控制器 ,选中右边的 “虚拟”,或者“物理” 按钮,代表可以虚拟磁盘可以共享


node2 添加刚才的第二块硬盘,注意是选择“使用现有虚拟磁盘”,找到node1 前面磁盘的那个磁盘文件

硬件类型:硬盘
创建磁盘:使用现有磁盘
虚拟设备节点: SCSI(1:0)
数据文件路径:node1 的外加硬盘
磁盘模式:独立持久


上述工作完成后,回到虚拟机设备界面,会看到除新的硬盘外,还有一个“新的SCSI控制器”:

点击 新的SCSI控制器 ,选中右边的 “虚拟”,或者“物理” 按钮,代表可以虚拟磁盘可以共享,与前面保持一致就可以

至此,添加共享磁盘结束



IP 规划,先安装node1,node2 两个节点


10.1.1.35  node1
10.1.1.36  node2

10.1.1.45  node1-vip
10.1.1.46  node2-vip

10.2.1.35  node1-priv
10.2.1.36  node2-priv

10.1.1.40  nodescan



-- 默认网关必须设置

vi /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node1


vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:59:4B:00
ONBOOT=yes
IPADDR=10.1.1.35
NETMASK=255.255.255.0
GATEWAY=10.1.1.1


vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=static
HWADDR=00:0C:29:59:4B:0A
ONBOOT=yes
IPADDR=10.2.1.35
NETMASK=255.255.255.0
GATEWAY=10.2.1.1


--重启网络服务,使修改生效
service network restart


vi /etc/hosts

10.1.1.35  node1
10.1.1.36  node2

10.1.1.44  node1-vip
10.1.1.46  node2-vip

10.2.1.35  node1-priv
10.2.1.36  node2-priv

10.1.1.40  nodescan


建立oracle,grid用户,在node1,node2 两个节点都要执行,必须用-g -u 来保证用户ID、组ID 一致

groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper

groupadd -g 504 asmadmin
groupadd -g 505 asmdba
groupadd -g 506 asmoper

useradd -u 1100 -g oinstall -G asmdba,dba,oper oracle
useradd -u 1110 -g oinstall -G asmadmin,asmdba,asmoper,dba,oper grid

passwd oracle   
passwd grid      


--可以按照如下步骤手动配置SSH等效用户,也可以安装软件界面时有ssh的等效性配置
--确保 grid 《=》 grid,oracle《=》oracle


不能一次copy,要逐条执行。

在node1:oracle,grid 用户下
 mkdir ~/.ssh
 chmod 700 ~/.ssh
 ssh-keygen -t rsa
 ssh-keygen -t dsa

在node2:oracle,grid 用户下
 mkdir ~/.ssh
 chmod 700 ~/.ssh
 ssh-keygen -t rsa
 ssh-keygen -t dsa

在node1:oracle,grid 用户下
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
 scp ~/.ssh/authorized_keys node2:~/.ssh/authorized_keys

在node2:oracle,grid 用户下
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
 scp ~/.ssh/authorized_keys node1:~/.ssh/authorized_keys


在两台机器上都坐下测试
在node1:oracle,grid 用户下
 ssh node1 date
 ssh node2 date
 ssh node1-priv date 
 ssh node2-priv date

在node2:oracle,grid 用户下
 ssh node1 date
 ssh node2 date
 ssh node1-priv date 
 ssh node2-priv date

如若失败(提示要求输入密码,可输入或为空)可再次执行上面语句

创建目录,node1,node2 两个节点上都要执行

注意

grid用户下的ORACLE_BASE 和ORACLE_HOME 是并列的,不是包含的关系,

oracle用户下的ORACLE_BASE 和ORACLE_HOME依旧是包含的关系


 root 用户下
 -- grid 用户
 mkdir -p /u01/app/gridbase
 mkdir -p /u01/app/grid/product/11.2.0/grid_1
 chown -R grid:oinstall /u01
 
 -- oracle 用户
 mkdir -p /u01/app/oracle/product/11.2.0/db_1
 chown -R oracle:oinstall /u01/app/oracle

 chmod -R 775 /u01/

 
使用udev绑定硬件,node1,node2 两个节点上都要执行


rhel 6 从内核层级剔除了 asmlib 相关的代码,需要使用udev来绑定硬件
如果是 oel 6 ,使用 asmlib 或者 udev都可以
11gr2可以将ocr,votedisk 放在asm里,不需要额外配置裸设备


1. 在 /etc/udev/rules.d/99-oracle-asmdevices.rules 配置设备了
# cd /etc/udev/rules.d/
# touch 99-oracle-asmdevices.rules


#添加记录到/etc/scsi_id.config,如果没有该文件,则手动创建
echo "options=--whitelisted --replace-whitespace"  >> /etc/scsi_id.config


2. 将结果复制到 /etc/udev/rules.d/99-oracle-asmdevices.rules 
没有对sdb进行分区,执行如下shell脚本,
for i in b ;
do
echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""      
done


对sdb 进行了分区,执行如下shell脚本,
for i in b1 b2 b3
do
echo "KERNEL=="sd$i", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent", RESULT=="`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd${i:0:1}`", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""      
done;

注意未分区用 $name
分区用 $parent

3. vi /etc/udev/rules.d/99-oracle-asmdevices.rules 

没有对sdb进行分区
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"

如果对裸盘分区的话应该是这个样子
在 Linux 5下,可以使用如下命令:
# /sbin/scsi_id -g -u -s /block/sdb/sdb1

在 Linux 6下,可以使用如下命令:
# /sbin/scsi_id -g -u /dev/sdb1

这是分区盘的 99-oracle-asmdevices.rules内容

KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb1", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?2", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb2", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?3", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb3", OWNER="grid", GROUP="asmadmin", MODE="0660"


Load updated block device partition tables.


# /sbin/partprobe /dev/sdb1
# /sbin/partprobe /dev/sdb2
# /sbin/partprobe /dev/sdb3




4. 用udevadm进行测试,注意udevadm命令不接受/dev/sdc这样的挂载设备名,必须是使用/sys/block/sdb这样的原始设备名。

udevadm test /sys/block/sdb
udevadm info --query=all --path=/sys/block/sdb
udevadm info --query=all --name=asm-diskb

udevadm info --query=all --name=asm-diskb1
udevadm info --query=all --name=asm-diskb2
udevadm info --query=all --name=asm-diskb3 

在显示中,有类似如下输出,表示测试正确,/dev/sdb设备在udev启动以后将会绑定为/dev/asm-diskb:

udevadm_test: UDEV_LOG=6
udevadm_test: DEVPATH=/devices/pci0000:00/0000:00:16.0/0000:0b:00.0/host1/target1:0:0/1:0:0:0/block/sdb
udevadm_test: MAJOR=8
udevadm_test: MINOR=16
udevadm_test: DEVNAME=/dev/sdb
udevadm_test: DEVTYPE=disk
udevadm_test: ACTION=add
udevadm_test: SUBSYSTEM=block
 
5. 启动udev
#/sbin/udevadm control --reload-rules

#/sbin/start_udev

6. 检查设备是否正确绑定

# ls -l /dev/asm*
brw-rw---- 1 grid dba 8, 32 Oct 26 21:24 /dev/asm-diskb1
brw-rw---- 1 grid dba 8, 48 Oct 26 21:17 /dev/asm-diskb2
brw-rw---- 1 grid dba 8, 48 Oct 26 21:17 /dev/asm-diskb3


配置用户的配置文件,node1,node2 两个节点上都要执行,注意ORACLE_SID的差异

oracle 用户的.bash_profile 文件,注意节点不同,ORACLE_SID也是不一样的
vi /home/oracle/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=rac01
#export ORACLE_SID=rac02

#export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORA_NLS10=$ORACLE_HOME/nls/data
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib


export TEMP=/tmp
export TMP=/tmp

export TMPDIR=/tmp


grid 用户的.bash_profile 文件, ORACLE_HOSTNAME请自行设置,注意节点不同,ORACLE_SID也是不一样的
vi /home/grid/.bash_profile

export ORACLE_BASE=/u01/app/gridbase
export ORACLE_HOME=/u01/app/grid/product/11.2.0/grid_1
export ORACLE_SID=+ASM1
#export ORACLE_SID=+ASM2

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

export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp




配置yum,安装依赖的rpm,node1,node2 两个节点上都要执行

vi /etc/yum.conf

追加如下内容

[base]
name=base pyb yum test
baseurl=file:///mnt/cdrom
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[updates-released]
name= updates-released pyb yum test
baseurl=file:///mnt/cdrom
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

修改其中的 gpgcheck参数,改为gpgcheck=0 
修改其中的 enabled参数,改为enabled=1 



sftp 上传 GI,DATABASE 软件,上传到node1 节点就可以了

chown grid:oinstall p10404530_112030_Linux-x86-64_3of7.zip

chown oracle:oinstall p10404530_112030_Linux-x86-64_1of7.zip
chown oracle:oinstall p10404530_112030_Linux-x86-64_2of7.zip


gird 用户下安装

unzip p10404530_112030_Linux-x86-64_3of7.zip

grid 用户下验证安装环境
./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose


如下的包必需安装
Oracle Linux 6 and Red Hat Enterprise Linux 6
The following packages (or later versions) must be installed:


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)

unixODBC-2.2.14-11.el6 (x86_64) or later
unixODBC-2.2.14-11.el6.i686 or later
unixODBC-devel-2.2.14-11.el6 (x86_64) or later
unixODBC-devel-2.2.14-11.el6.i686 or later

rpm -q binutils compat-libstdc++-33 elfutils gcc glibc libaio libgcc libstdc++ make sysstat unixODBC unixODBC-devel


修改OS 参数,node1,node2 两个节点上都要执行

vi /etc/sysctl.conf

#kernel.shmall = 2097152
#kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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

sysctl -p 立即生效

vi /etc/security/limits.conf
grid soft nproc 655350 
grid hard nproc 655350
grid soft nofile 655350 
grid hard nofile 655350 

orcle soft nproc 655350 
orcle hard nproc 655350
orcle soft nofile 655350 
orcle hard nofile 655350

vi /etc/pam.d/login
session    required     /lib64/security/pam_limits.so
session    required     pam_limits.so

vi /etc/selinux/config
SELINUX=disabled

清除 ntp 服务,node1,node2 两个节点上都要执行
oracle在grid安装时需要重新配置(CTSS),避免冲突,事先清除

[root@node1 /]# /sbin/service ntpd stop
Shutting down ntpd:                                        [FAILED]
[root@node1 /]# chkconfig ntpd off

[root@node1 /]# mv /etc/ntp.conf /etc/ntp.conf.201604213
或者
[root@node1 /]# rm -rf /etc/ntp.conf


哇塞哇塞,基础工作终于做完了,开始安装clusterware,


Step 1 of 18: Download Software Updates

Skip software updates

Step 2 of 18: Select Installation Option

Install and Configure Grid Infrastructure for a Cluster

Step 3 of 18: Select Installation Type

Advanced Installation

Step 4 of 18: Select Product Languages

English

Step 5 of 18: Grid Plug and Play Information

Cluser Name :node
SCAN   Name :nodescan
SCAN   Port :1521

GNS 不配置


Step 6 of 16: Cluster Node Information

click Add ,then input Public Hostname: node2
                     Virtual Hostname: node2-vip

click SSH Connectivity,then input OS Password: 

始终失败,就需要手动配置了,参考前面被注释的代码

Step 7 of 18: Specify Network Interface Usage

eth0 public
eth1 private

INS-41113: 说明 public 和 private 不能在同一网段

eth0 10.1.1.0 public
eth1 10.2.1.0  private

Step 8 of 18:Storage Option Information

Oracle Automatic Storage Management(Oracle ASM)

Step 9 of 18:Create ASM Disk Group

Disk Group Name: DG_DATA_001

Redundancy:External

AU Size:1 MB

ORCL:VOL1
ORCL:VOL2

Step 10 of 18:Specify ASM Password

Use sames passwords for these accounts

XXXXX

SYS
ASMSNMP


Step 11 of 18:Failure Isolation Support

Do not user Intelligent Platform Management Interface(IPMI)


Step 12 of 18:Privileged Operating System Groups

asmdba
asmoper
asmadmin


Step 13 of 18:Specify Installatin Location

Oracle Base: /u01/app/gridbase


Software Location: /u01/app/grid/product/11.2.0/grid_1

Step 14 of 18:Create Inventory

Inventory Directory: /u01/app/oraInventroy


Step 15 of 18:Perform Prerequisite Checks

Grid的安装需要检查以下几项:
1、 物理内存、交换空间
2、 内核参数的设置
3、 软件包是否满足
4、 NTP是否配置
如果Fixable列显示的是YES,则我们可以通过脚本进行修复,我们需要点击“Fix&Check Again”,系统会自动生成SHELL脚本进行修复。对于NTP我们可以忽略
缺少的rpm包用 yum install 安装就可以了。
反复多check 几次

Task resolv.conf Integrity 是由于没有使用DNS,可以忽略

Step 16 of 18:Summary

Save Response File : /home/grid/grid.rsp

Step 17 of 18:Install Product

/u01/app/oraInventory/orainstRoot.sh           node1,node2
/u01/app/grid/product/11.2.0/grid_1/root.sh    node1,node2

Step 18 of 18:Finish


可否用 '/etc/hosts'来解析 SCAN而不用 DNS或 GNS?
Oracle强烈建议不要在 hosts文件中配置SCAN IP 地址。但是可以使用hosts文件来解析SCAN IP,
只不过只能解析成一个SCAN IP地址。
 
如果使用 hosts文件来解析 SCAN名称,则在安装结束时会遇到ClusterVerification Utility失败错误,


详细信息请见metalink文章 NOTE 887471.1 。



最后一步 验证节点时间时有可能会出错,如果前期对ntpd做了修改,应该不会出现这个错误。


INFO: Check CTSS state started...
INFO: CTSS is in Active state. Proceeding with check of clock time offsets on all nodes...
INFO: PRVF-9661 :  Time offset is greater than acceptable limit on node "rac2" [actual = "-283800.0", acceptable = "1000.0" ] 
INFO: PRVF-9652 : Cluster Time Synchronization Services check failed


node1,node2两个节点的grid用户下运行 oifcfg 命令配置或查看:


[grid@node1 bin]# ./oifcfg setif -global eth0/10.1.1.0:public
[grid@node1 bin]# ./oifcfg setif -global eth1/10.2.1.0:cluster_interconnect
[grid@node1 bin]# ./oifcfg getif
eth0  10.1.1.0  global  public
eth1  10.2.1.0  global  cluster_interconnect

clusterware 就安装结束. 


确认一下CRS的安装情况

$ ls -l /etc/init.d/init.* 
grid 用户下 
$ ORACLE_HOME/bin/olsnodes -n 

$ ORACLE_HOME/bin/crsctl check has
$ ORACLE_HOME/bin/crsctl check crs

$ ORACLE_HOME/bin/crsctl check ctss
$ ORACLE_HOME/bin/crsctl check css
$ ORACLE_HOME/bin/crsctl check evm

$ ORACLE_HOME/bin/crsctl check cluster
$ ORACLE_HOME/bin/crsctl check cluster -all

$ ORACLE_HOME/bin/crsctl get css misscount
$ ORACLE_HOME/bin/crsctl get css disktimeout
$ ORACLE_HOME/bin/crsctl get css reboottime
$ ORACLE_HOME/bin/crsctl get css diagwait

$ ORACLE_HOME/bin/crsctl query css votedisk

$ ORACLE_HOME/bin/crsctl status resource 
$ ORACLE_HOME/bin/crsctl status resource -t -init
$ ORACLE_HOME/bin/crs_stat -t -v

创建asm磁盘(asm实例在clusterware安装过程已经创建),运行asmca,创建DG_DATA_001
或者在前面都已经创建完毕

clusterware终于安装完了,开始安装database(仅安装数据库软件)

下一步,一直下一步 注意选择 only database software

Step 4 of 10 Grid Installation Options


oracle用户下的SSH 等效性, 前面配置额等效性,这里check 一下就好了。


Step 9 of 10 Perform Prerequisite Checks

安装RAC数据库出现PRCT-1011错误。

详细错误信息为:

An internal error occurred within cluster verification framework
Unable to obtain network interface list from Oracle
ClusterwarePRCT-1011: Failed to run “oifcfg”. Detailed error: null

导致这个错误的原因ORA_NLS10环境变量设置有误。可以将不设置这个环境变量,或将其设置到正确的位置:

unset ORA_NLS10

ORA_NLS10的正确的位置指向$GRID_HOME/nls/data,取消设置或将其设置到正确的位置后,重新启动图形化安装工具既可。

PRCT-1011错误还有可能是OCR中记录的网络设置不正确,具体描述可以参考metalink文档 [ID 1380183.1]。


之后运行
/u01/app/oracle/product/11.2.0/db_1/root.sh node1,node2

分别运行后 数据库软件就算安装完毕了

开始创建数据库,运行dbca
[oracle@node1 database]$ dbca

选择RAC database

create database

选择所有节点

选择custom database

注意存储时选择ASM,

Database Services 这里,
你选择Add你一个新的service, 随便叫名字,比如pyb。然后选择 TAF Policy,是Basic。 这个服务在RAC 
的Failover中会用到,如果在这里没有配置,也可以通过dbca命令, 选择 Services Management 来进行配置。

Service 是 oracle ha 在服务器端 fail_over 的一种手段,11g用scan来处理

后面和单实例的就没啥区别了!

检查及错误处理


1) LOCAL_LISTENER和REMOTE_LISTENER


local_listener     string (DESCRIPTION=(ADDRESS_LIST=(AD
     DRESS=(PROTOCOL=TCP)(HOST=10.
     1.1.44)(PORT=1521))))
 
remote_listener     string nodescan:1521 

2) ASM实例的spfile

vi init+ASM1.ora

asm_diskgroups='DG_DATA01'
asm_diskstring='/dev/asm*'
asm_power_limit=1
instance_type='asm'
large_pool_size=12M
remote_login_passwordfile='EXCLUSIVE'

STARTUP pfile=init+ASM1.ora


3) 查看 miscount,虚拟机,如果性能差,要修改

crsctl get css misscount
crsctl set css misscount 400

crsctl get css disktimeout
crsctl set css disktimeout 500

crsctl get css reboottime 

4) CRS-0184: Cannot communicate with the CRS daemon.

大部分原因是因为CRS进程未启动,CSS进程未启动,导致的asm实例未启动,造成OCR无法访问,可以手动启动asm

强行杀掉后机器自动重启,然后

$ ps aux|grep crs|awk '{print "kill -9 " $2}'|sh 

或者 root下运行
或者使用crsctl,root 用户下

$ORACLE_HOME/bin/crsctl stop crs
$ORACLE_HOME/bin/crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

可以查看$ORACLE_HOME/log/alertrac1.log
可以查看$ORACLE_HOME/log/crsd/crsd.log

$ 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

5)  CRS-4639: Could not contact Oracle High Availability Services

root 用户下

crsctl check has
crsctl start has
crsctl stop has


















 
原文地址:https://www.cnblogs.com/ctypyb2002/p/9793173.html