RAC 攻击 - Oracle 集群数据库在家/RAC 攻击 12c/集群软件调用
外观
本实验室的目标是演示 Oracle 快速应用程序通知 (FAN) 调用。在 11g 之前的版本中,这些也被称为 Oracle 集群软件调用。
此功能是 Oracle 集群软件的一个相对不为人知的特性,可以触发脚本(或整个目录),以执行您可能希望在发生集群范围事件时执行的任何任务。
有关更多信息,请咨询此处提供的文档:http://docs.oracle.com/cd/E16655_01/rac.121/e17887/hafeats.htm#BABHAJAH
在本练习中,我们将配置每个节点上的某些 FAN 调用脚本,然后触发各种集群事件,以查看每个事件如何触发调用脚本。
- 从一个正常的运行集群开始,两个节点都运行起来。
- 从每个服务器上的一个 shell 提示符(以 oracle 身份登录)开始,导航到 /u01/app/12.1.0/grid/racg/usrco。使用 vi(或您喜欢的编辑器)在其中创建一个名为 callout1.sh 的文件。该文件的内容应为: #!/bin/ksh umask 022 FAN_LOGFILE=/tmp/`hostname`_uptime.log echo $* "reported="`date` >> $FAN_LOGFILE &
- 确保文件的权限设置为 755,使用以下命令: [oracle@<node_name> ~]$ chmod 755 /u01/app/12.1.0/grid/racg/usrco/callout1.sh
- 监控每个节点上集群软件的日志文件。在每个节点上,启动一个新窗口并运行以下命令 [oracle@<node_name> ~]$ tail -f /u01/app/12.1.0/grid/log/`hostname -s`/crsd/crsd.log
- 接下来,我们需要触发一个会导致调用触发的事件。一个这样的事件是节点关闭。关闭节点 collabn2 上的集群软件。 [root@collabn2 ~]# crsctl stop crs CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'collabn2' CRS-2673: Attempting to stop 'ora.crsd' on 'collabn2' CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'colleabn2' CRS-2673: Attempting to stop 'ora.rac.db' on 'collabn2' CRS-2673: Attempting to stop 'ora.DATA.SHARED.advm' on 'collabn2' CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'collabn2' ... CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'collabn2' has completed CRS-4133: Oracle High Availability Services has been stopped.
- 执行此命令后,观察您在步骤 2 中开始监控的日志文件。因为我们在测试集群上设置了很长的超时,所以您可能需要等待几分钟才能看到任何内容。
- 您最终应该看到记录节点已失败的条目,之后不久,您应该在 /tmp/<hostname>_uptime.log 文件中观察到一个条目,指示节点已关闭。
- 注意哪些成员运行集群软件调用脚本。(幸存的成员可以运行命令以通知客户端和/或应用程序服务器,其中一个集群节点已关闭。)
- 重新启动集群软件。是否有节点启动事件? [root@collabn2 bin]# crsctl start crs
- 尝试关闭其中一台虚拟机 - 与之前的测试相比有什么区别?如果您禁用 Linux 网络接口或虚拟网卡会怎样?
- 如果您愿意,您可以进行更多测试。另一个有趣的事件是数据库实例意外关闭。在安装数据库后返回此实验室以测试这种情况。 [oracle@collabn2 ~]$ sqlplus "/ as sysdba" SQL*Plus: Release 12.1.0.1.0 Production on Tue Aug 13 12:34:52 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Advanced Analytics and Real Application Testing options SQL> shutdown abort; ORACLE instance shut down. SQL>
请注意主机名和日期命令周围的反引号。 |
集群软件调用的一个常用方法是通知管理员(可能是通过电子邮件)发生了集群事件。您可以使用脚本的参数(您将在我们创建的日志文件中看到参数)有条件地执行通知。例如,您可能不希望在节点意外崩溃时通知任何人。通过测试一些这些参数,您可能能够仅在需要时发送通知。 |