暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

Oracle RAC Flex ASM 特性测试

Leo 2024-06-13
491

文档课题:Oracle RAC Flex ASM 特性测试.

1、理论知识

Oracle 12c之前,对于要使用ASM的数据库实例来说,所有节点上的 ASM 实例必须处于运行状态,才能启动数据库实例.如果任一节点的ASM实例未运行,则对应的数据库实例也无法启动.Oracle 12c开始引入Oracle Flex ASM特性,解除了上述限制,其主要特性是故障切换到集群中的其他节点.

 

2、19c asm测试

2.1、查rac集群模式

[grid@hisdb1 ~]$ asmcmd showclustermode

ASM cluster : Flex mode enabled - Direct Storage Access  --> 默认已开启flex特性

 

2.2、查asm实例信息

[grid@hisdb1 ~]$ srvctl status asm -detail

ASM is running on hisdb1,hisdb2                          -->asm在两个节点上都运行

ASM is enabled.

ASM instance +ASM1 is running on node hisdb1

Number of connected clients: 2

Client names: hisdb1:_OCR:hisdb-cluster tmis1:tmis:hisdb-cluster

ASM instance +ASM2 is running on node hisdb2

Number of connected clients: 2

Client names: hisdb2:_OCR:hisdb-cluster tmis2:tmis:hisdb-cluster

 

2.3、查数据库实例状态

[grid@hisdb1 ~]$ srvctl status database -d tmis -detail

Instance tmis1 is running on node hisdb1

Instance tmis1 is connected to ASM instance +ASM1       -->此时节点1上的tmis1实例连接的是+ASM1

Instance tmis2 is running on node hisdb2

Instance tmis2 is connected to ASM instance +ASM2       -->此时节点2上的tmis2实例连接的是+ASM2

 

2.4、关闭节点1的asm实例

[grid@hisdb1 ~]$ ps -ef | grep pmon

grid      14161      1  0 09:39 ?        00:00:00 asm_pmon_+ASM1

oracle    15273      1  0 09:40 ?        00:00:00 ora_pmon_tmis1

grid      26400   6994  0 09:49 pts/0    00:00:00 grep --color=auto pmon

 

-- 方法1:

[grid@hisdb1 ~]$ kill -9 14161

[grid@hisdb1 ~]$ ps -ef | grep pmon

oracle    15273      1  0 09:40 ?        00:00:00 ora_pmon_tmis1

grid      78047   6994  0 11:19 pts/0    00:00:00 grep --color=auto pmon

 

-- 方法2:

[root@hisdb1 ~]# srvctl stop asm -node hisdb1 -o abort -force

[root@hisdb1 ~]# ps -ef | grep pmon

oracle    15273      1  0 09:40 ?        00:00:00 ora_pmon_tmis1

root      77777  10395  0 11:18 pts/1    00:00:00 grep --color=auto pmon

 

注意:关于停止ASM实例说明.

A、若采用方法1 kill 进程的方式关闭asm实例,那么从集群状态可以看到asm实例会自动重新启动.

[grid@hisdb1 ~]$ crsctl stat res -t

 

ora.asm(ora.asmgroup)

      1        ONLINE  OFFLINE      hisdb1                Instance Shutdown,STARTING

      2        ONLINE  ONLINE       hisdb2                Started

ora.tmis.db

      1        ONLINE  ONLINE       hisdb1                Open,HOME=/u01/app/oracle/product/19.13/db_1,STABLE

      2        ONLINE  ONLINE       hisdb2                Open,HOME=/u01/app/oracle/product/19.13/db_1,STABLE

 

B、若采用方法2手动停止asm实例,asm 不会自动重新启动

[grid@hisdb1 ~]$ crsctl stat res -t

ora.asm(ora.asmgroup)

      1        OFFLINE OFFLINE                            Instance Shutdown,STBLE

      2        ONLINE  ONLINE       hisdb2                Started,STABLE

ora.tmis.db

      1        ONLINE  ONLINE       hisdb1                Open,HOME=/oracle/app/oracle/product/db/191900,STABLE

      2        ONLINE  ONLINE       hisdb2                Open,HOME=/oracle/app/oracle/product/db/191900,STABLE

 

2.5、查asm实例信息

[grid@hisdb1 ~]$ srvctl status asm

ASM is running on hisdb2                                    -->此时asm只在节点2上运行

[grid@hisdb2 ~]$ srvctl status asm -detail

ASM is running on hisdb2

ASM is enabled.

ASM instance +ASM2 is running on node hisdb2

Number of connected clients: 3

Client names: hisdb2:_OCR:hisdb-cluster tmis1:tmis:hisdb-cluster tmis2:tmis:hisdb-cluster

 

[grid@hisdb1 ~]$ srvctl status database -d tmis -detail

Instance tmis1 is running on node hisdb1

Instance tmis1 is connected to ASM instance +ASM2      -->节点1上的实例tmis1不在是连接+ASM1实例,自动切换到节点2上的asm实例

Instance tmis2 is running on node hisdb2

Instance tmis2 is connected to ASM instance +ASM2      -->节点2上的实例tmis2连接的仍然是+ASM2

 

2.6、查节点1数据库状态

[oracle@hisdb1 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 13 11:30:13 2024

Version 19.13.0.0.0

 

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Version 19.13.0.0.0

 

SQL> set line 200

SQL> select inst_id,instance_name,status from gv$instance;

 

   INST_ID INSTANCE_NAME    STATUS

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

         1 tmis1            OPEN

         2 tmis2            OPEN

 

SQL> select inst_id,name,open_mode from gv$database;       

 

   INST_ID NAME      OPEN_MODE

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

         1 TMIS      READ WRITE

         2 TMIS      READ WRITE

 

结论:节点1上数据库实例并未受到影响.

 

2.7、启动节点1 asm实例

[grid@hisdb1 ~]$ srvctl start asm -node hisdb1

[grid@hisdb1 ~]$ srvctl status asm -detail

ASM is running on hisdb1,hisdb2      --->asm实例又重新恢复,分别在2个节点上都运行

ASM is enabled.

ASM instance +ASM1 is running on node hisdb1

Number of connected clients: 2

Client names: hisdb1:_OCR:hisdb-cluster tmis1:tmis:hisdb-cluster

ASM instance +ASM2 is running on node hisdb2

Number of connected clients: 2

Client names: hisdb2:_OCR:hisdb-cluster tmis2:tmis:hisdb-cluster

 

2.8、查节点1数据库状态

--恢复到最初状态

[grid@hisdb1 ~]$ srvctl status database -d tmis -detail

Instance tmis1 is running on node hisdb1

Instance tmis1 is connected to ASM instance +ASM1     -->此时节点1上的tmis1实例连接的是+ASM1

Instance tmis2 is running on node hisdb2

Instance tmis2 is connected to ASM instance +ASM2     -->此时节点2上的tmis2实例连接的是+ASM2

 

3、11g asm测试

3.1、查rac集群模式

[grid@rac1 ~]$ asmcmd showclustermode

        commands:

        --------

        md_backup, md_restore

        analyze

        lsattr, setattr

        cd, cp, du, find, help, ls, lsct, lsdg, lsof, mkalias

        mkdir, pwd, rm, rmalias

        chdg, chkdg, dropdg, iostat, lsdsk, lsod, mkdg, mount

        offline, online, rebal, remap, umount

        dsget, dsset, lsop, shutdown, spbackup, spcopy, spget

        spmove, spset, startup

        chtmpl, lstmpl, mktmpl, rmtmpl

        chgrp, chmod, chown, groups, grpmod, lsgrp, lspwusr, lsusr

        mkgrp, mkusr, orapwusr, passwd, rmgrp, rmusr

        volcreate, voldelete, voldisable, volenable, volinfo

        volresize, volset, volstat  --> 可知11g asm不支持该指令

 

3.2、查asm实例信息

[grid@rac1 ~]$ srvctl status asm

ASM is running on rac2,rac1

 

3.3、查数据库实例状态

[grid@rac1 ~]$ srvctl status database -d orcl

Instance orcl1 is running on node rac1     -->此时节点1上的tmis1实例连接的是+ASM1

Instance orcl2 is running on node rac2     -->此时节点2上的tmis2实例连接的是+ASM2

 

3.4、关闭节点1的asm实例

[grid@rac1 ~]$ ps -ef | grep pmon

grid       3545      1  0 12:34 ?        00:00:02 asm_pmon_+ASM1

oracle     4555      1  0 12:35 ?        00:00:02 ora_pmon_orcl1

grid      14082  11519  0 12:54 pts/0    00:00:00 grep --color=auto pmon

 

[root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl stop asm -n rac1 -f

[root@rac1 ~]# ps -ef | grep pmon

root      49139  11347  0 14:18 pts/2    00:00:00 grep --color=auto pmon

 

[grid@rac1 ~]$ crsctl stat res -t

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

NAME           TARGET  STATE        SERVER                   STATE_DETAILS      

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

Local Resources

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

ora.ACFS.dg

               OFFLINE OFFLINE      rac1                                        

               ONLINE  ONLINE       rac2                                         

ora.DATA.dg

               OFFLINE OFFLINE      rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.LISTENER.lsnr

               ONLINE  ONLINE       rac1                                         

               ONLINE  ONLINE       rac2                                        

ora.OCR.dg

               OFFLINE OFFLINE      rac1                                        

               ONLINE  ONLINE       rac2                                         

ora.asm

               OFFLINE OFFLINE      rac1                     Instance Shutdown  

               ONLINE  ONLINE       rac2                     Started            

ora.gsd

               OFFLINE OFFLINE      rac1                                        

               OFFLINE OFFLINE      rac2                                        

ora.net1.network

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.ons

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.registry.acfs

               OFFLINE OFFLINE      rac1                                        

               ONLINE  ONLINE       rac2                                        

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

Cluster Resources

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

ora.LISTENER_SCAN1.lsnr

      1        ONLINE  ONLINE       rac1                                        

ora.cvu

      1        ONLINE  ONLINE       rac1                                         

ora.oc4j

      1        ONLINE  ONLINE       rac1                                        

ora.orcl.db

      1        OFFLINE OFFLINE                               Instance Shutdown  

      2        ONLINE  ONLINE       rac2                     Open               

ora.rac1.vip

      1        ONLINE  ONLINE       rac1                                        

ora.rac2.vip

      1        ONLINE  ONLINE       rac2                                        

ora.scan1.vip

      1        ONLINE  ONLINE       rac1   

 

3.5、查asm实例信息

[grid@rac1 ~]$ srvctl status asm

ASM is running on rac2                                    -->此时asm只在节点2上运行

 

[grid@rac1 ~]$ srvctl status database -d orcl

Instance orcl1 is not running on node rac1      -->节点1上的实例orcl1已停止

Instance orcl2 is running on node rac2          -->节点2上的实例orcl2正常

 

3.6、启动节点1 asm实例

[grid@rac1 ~]$ sqlplus / as sysasm

 

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 13 14:31:21 2024

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup

ASM instance started

 

Total System Global Area 1135747072 bytes

Fixed Size                  2260728 bytes

Variable Size            1108320520 bytes

ASM Cache                  25165824 bytes

ASM diskgroups mounted

ORA-15032: not all alterations performed

ORA-15489: conflicting volume already open on this node

 

 

SQL> select open_mode from v$database;

select open_mode from v$database

                      *

ERROR at line 1:

ORA-01507: database not mounted

 

 

SQL> host crsctl stat res -t

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

NAME           TARGET  STATE        SERVER                   STATE_DETAILS      

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

Local Resources

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

ora.ACFS.dg

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                         

ora.DATA.dg

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.LISTENER.lsnr

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.OCR.dg

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.asm

               ONLINE  ONLINE       rac1                     Started            

               ONLINE  ONLINE       rac2                     Started            

ora.gsd

               OFFLINE OFFLINE      rac1                                        

               OFFLINE OFFLINE      rac2                                        

ora.net1.network

               ONLINE  ONLINE       rac1                                         

               ONLINE  ONLINE       rac2                                        

ora.ons

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                         

ora.registry.acfs

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

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

Cluster Resources

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

ora.LISTENER_SCAN1.lsnr

      1        ONLINE  ONLINE       rac1                                        

ora.cvu

      1        ONLINE  ONLINE       rac1                                        

ora.oc4j

      1        ONLINE  ONLINE       rac1                                        

ora.orcl.db

      1        OFFLINE OFFLINE                               Instance Shutdown  

      2        ONLINE  ONLINE       rac2                     Open               

ora.rac1.vip

      1        ONLINE  ONLINE       rac1                                        

ora.rac2.vip

      1        ONLINE  ONLINE       rac2                                        

ora.scan1.vip

      1        ONLINE  ONLINE       rac1                                        

 

说明:如上所示,除数据库实例orcl1未被拉起,其余资源都成功开启.

 

[oracle@rac1 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 13 14:35:50 2024

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup

ORACLE instance started.

 

Total System Global Area  759943168 bytes

Fixed Size                  2257112 bytes

Variable Size             633343784 bytes

Database Buffers          117440512 bytes

Redo Buffers                6901760 bytes

Database mounted.

Database opened.

 

[grid@rac1 ~]$ crsctl stat res -t

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

NAME           TARGET  STATE        SERVER                   STATE_DETAILS      

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

Local Resources

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

ora.ACFS.dg

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.DATA.dg

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.LISTENER.lsnr

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.OCR.dg

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.asm

               ONLINE  ONLINE       rac1                     Started            

               ONLINE  ONLINE       rac2                     Started            

ora.gsd

               OFFLINE OFFLINE      rac1                                        

               OFFLINE OFFLINE      rac2                                        

ora.net1.network

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

ora.ons

               ONLINE  ONLINE       rac1                                         

               ONLINE  ONLINE       rac2                                        

ora.registry.acfs

               ONLINE  ONLINE       rac1                                        

               ONLINE  ONLINE       rac2                                        

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

Cluster Resources

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

ora.LISTENER_SCAN1.lsnr

      1        ONLINE  ONLINE       rac1                                        

ora.cvu

      1        ONLINE  ONLINE       rac1                                        

ora.oc4j

      1        ONLINE  ONLINE       rac1                                         

ora.orcl.db

      1        ONLINE  ONLINE       rac1                     Open               

      2        ONLINE  ONLINE       rac2                     Open               

ora.rac1.vip

      1        ONLINE  ONLINE       rac1                                         

ora.rac2.vip

      1        ONLINE  ONLINE       rac2                                        

ora.scan1.vip

      1        ONLINE  ONLINE       rac1                                  

 

3.7、查节点1数据库状态

--恢复到最初状态

[grid@rac1 ~]$ srvctl status database -d orcl

Instance orcl1 is running on node rac1

Instance orcl2 is running on node rac2

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论