Oracle 12c RAC stack探究

本文永久地址: https://www.askmac.cn/archives/oracle-12c-rac-stack探究.html ‎

 

The New Oracle RAC 12c

通过Oracle RAC 12c 可以实现的内容:

  1. 更优秀的业务持续性以及  高可用性(HA)
  2. 最优化的灵活性以及敏捷性
  3. 对于费用,可以进行效果较好的负载管理

 

通过Oracle RAC 12c 可以实现的功能:

  1. 更优秀的业务持续性以及  高可用性(HA)
  2. 最优化的灵活性以及敏捷性
  3. 对于费用,可以进行效果较好的负载管理
  4. 进一步使得Cluster环境的资源的Deployment以及管理方式标准化
  5. 可以使用大家熟练使用的,技术成熟的HA stack

 

rac-stack-1

 

Oracle Automatic Storage Management 12c 新功能

ASM : 进化的背景

Why Oracle Developed ASM

  • 在Oracle Database 10g中安装 ASM

–通过NFS Filer,可以简单地管理存储

–与RAW device相等的性能

 

rac-stack-2

 

Oracle Database 11g R2 以前

  • 数据库实例会连接到本地ASM实例

rac-stack-3

 

Oracle ASM 12c :标准的ASM 结构

  • 支持11g R2 之前相同的结构

rac-stack-4

 

Oracle Flex ASM

排除1 to 1 映射以及实现高可用性

  • Oracle ASM 12c中实际使用新结构

rac-stack-5

 

通过ASM 的灵活结构来提高可用性

  • ASM实例与运行数据库实例的数据库分离来运行

–数据库实例通过网络连接到ASM实例

–Cluster整体默认启动3个ASM实例

–Cluster运行时,可以变更 ASM 实例数

–在Cluster整体中减少由于ASM产生的资源使用量(内存、CPU、网络等)

–减少故障点

  • 发生ASM 实例故障时,对其他的ASM实例进行故障转移

–ASM 实例的依存性,提高数据库服务的可用性

–可以切换手动连接的ASM实例

 

比较传统的 ASM 结构与 Flex ASM 结构

 

传统的 ASM 结构

数据库实例依赖于 ASM 实例

增加Cluster 的规模的话,ASM的过载也会增加

Cluster内的服务器越多cluster重构频率也就越高

rac-stack-6

Flex ASM 结构

数据库实例连接到cluster中的ASM实例

指定ASM 实例的Cardinality (默认3)

Oracle Clusterware维持ASM 的Cardinality

rac-stack-7

 

  • 传统的 CSS cluster环境 :

–客户端访问的公共网络

–包含了用于ASM traffic的Interconnect的多个私人网络

  • Flex ASM 结构中可以指定用于ASM的网络

–可以共享私人网络

  • 作为ASM 用的网络,可以指定多个网络段

–对每个网络段制成ora.ASMNET<NETNUM>LSNR_ASM.lsnr 资源

 

rac-stack-8

 

  • 确认是否构成Flex ASM

[grid@node01 ~]$ asmcmd showclustermode

ASM cluster : Flex mode enabled

 

  • 确认ASM 实例的运行状况

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

ASMnode01,node02,node04中显示正在执行

ASM有效

 

  • 确认ASM 的结构以及 ASM 实例数

[grid@node01 ~]$ srvctl config asm

ASM home: /u01/app/12.1.0/grid

密码文件: +DATA/orapwASM

ASM listener: LISTENER

ASM实例数: 3

clusterASM listener : ASMNET1LSNR_ASM,ASMNET2LSNR_ASM

 

  • ASM 实例数的变更

[grid@node01 ~]$ srvctl modify asm -count 4

[grid@node01 ~]$ srvctl config asm

ASM实例数: 4

 

  • 查看ASM 资源

[grid@node01 ~]$ crsctl status resource -t -w “NAME co asm”

Name           Target  State        Server       State details

ora.asm

      1        ONLINE  ONLINE       node01       STABLE

      2        ONLINE  ONLINE       node02       STABLE

      3        ONLINE  ONLINE       node04       STABLE

      4        OFFLINE OFFLINE                   STABLE

 

  • 查看ASM 客户端

[grid@node01 ~]$ sqlplus sys/password as sysasm

SQL> select instance_name, db_name, status from v$asm_client;

INSTANCE_NAME   DB_NAME  STATUS
————— ——– ————
+ASM1           +ASM     CONNECTED
orcl_1          orcl     CONNECTED
orcl_2          orcl     CONNECTED

 

  • 重新配置ASM 客户端

[grid@node01 ~]$ sqlplus sys/password as sysasm

SQL> ALTER SYSTEM RELOCATE CLIENT ‘orcl_1:orcl‘;

 

传统 DB 共存 

为了获得本地ASM结构,指定Cardinality ALL

  • 通过“srvctl modify asm -count ALL” 在所有节点中运行ASM实例

 

rac-stack-9

 

  • 可以使用ASMCA ,从标准ASM变更为 Flex ASM 结构

–安装了Oracle Grid Infrastructure 12c 以上的环境

  • 11g R2 以前的版本更新时,一旦完成了标准ASM结构更新后,就执行变更工作
  • Oracle Restart 环境是例外

–指定ASM 网络以及listener的端口编号

  • 无法从Flex ASM中变更标准ASM
  • 使用ASM 的密码文件管理
  • 磁盘再同步的功能扩展
  • Rebalancing处理的功能扩展
  • 修正Oracle ASM 的disk
  • 其他的功能扩展

 

使用ASM 管理密码文件

  • 在各节点的 $ORACLE_HOME/dbs 地址下配置

–一般的对各个节点执行个别管理

–cluster内中可能出现根据节点不同,密码也不同的情况

  • 处理密码文件处理中指定节点终止的情况

–为了保持密码文件的一致性,需要认真维护

 

rac-stack-10

  • 在ASM disk group中储存密码文件,可以在cluster中共享

–不需要每个节点中管理密码文件

–使用ASM 时默认的的结构

–追加数据库与 ASM 资源的密码文件相关属性

[grid@node01 ~]$ srvctl config database -d orcl

密码文件: +DATA/orcl/orapworcl

–ASM 实例的启动时使用 OS认证

rac-stack-11

Disk再次同步的功能扩展

通过指定Power Limit ,使得再次同步高效化

  • 为了能够高速执行disk group的再同步处理,可以通过Power Limit,任意设定分配给再同步处理的资源量
  • Power Limit中可以从1到 1024任意指定(默认指定为1)
  • 与rebalance处理安装相同

–11.2.0.2 以后,可以将rebalance的并行度从设定为1024

  • 可以设定disk group整体或者各个disk

SQL> ALTER DISKGROUP DATA ONLINE ALL POWER 50;

SQL> ALTER DISKGROUP DATA ONLINE DISK DATA_001 POWER 30;

 

更加高效得更换磁盘

  • 发生disk故障,可以用一个部件更换磁盘
  • 安装ALTER DISKGROUP <disk_group> REPLACE DISK 语句

–不需要删除更换完成的disk (需要OFFLINE)

  • 以前的版本中,需要删除交换完成的磁盘,之后需要追加新的磁盘

–需要更换的磁盘中,以镜像数据为基础配置数据

  • 规避不必要的rebalance处理,可以高效执行更换磁盘

–以同样的名字将新磁盘追加到原来的磁盘中。原来的磁盘以及相同的故障group就会被分配

SQL> ALTER DISKGROUP DATA REPLACE DISK DATA_001 with ‘/dev/sdz‘;

 

估计所有的再同步处理,重新开始处理

  • 重新同步的处理的各个操作的估计的详细内容可以通过 V$ASM_OPERATION 查看

SQL> SELECT PASS, STATE, EST_MINUTES FROM V$ASM_OPERATION;
PASS      STAT EST_MINUTES
——— —- ———–
RESYNC    RUN            1
REBALANCE WAIT           1
COMPACT   WAIT           1

 

  • 追加PASS 列,可以确认处理内容

–传统版本是使用 Operation 列

  • 重新同步处理执行时,会在内部执行检查点,中途终止时就会自动重新展开检测点

 

rebalance的功能扩展  优先顺序与同时处理

  • 在重要的文件中按照顺序执行rebalance处理

–优先控制文件以及REDO日志文件来处理rebalance处理

–以前的版本中,按file顺序来执行

  • 可以同时执行多个rebalance处理

–减少完成rebalance处理的时间

–以前的版本中,串行执行rebalance处理,对于多个disk group,同时需求rebalance处理时,之后需求的处理就会在队列中待机

  • rebalance处理中,可以在内部进行理论检测来设定

–检测到破损时,就会自动修复镜像数据

–设定Disk group的 content.check 属性

 

rebalance详细估计

  • 通过rebalance处理可以估计 AU 的数量

–使用EXPLAIN WORK 命令,生成 work plan

–work plan 通过 STATEMENT_ID 来识别

 

SQL> EXPLAIN WORK SET STATEMENT_ID=’Drop DATA_001‘

  2  FOR ALTER DISKGROUP DATA DROP DISK DATA_001;

Explained.

 

  • 通过V$ASM_ESTIMATE队列查看估计完成 AU 的数量

SQL> SELECT EST_WORK FROM V$ASM_ESTIMATE

  2  WHERE STATEMENT_ID= ‘Drop DATA_001‘;

   EST_WORK

———–

        279

 

Oracle ASM disk修正

  • 作为后台任务来检查理论破损

–检测到破损的话,使用镜像数据来进行自动修正

–请尽量不影响应用的I/O来进行设定

  • 仅在系统整体的 I/O 较低时执行

–后台进程 SCRB管理 Scrubbing 处理

  • 可以使用ALTER DISKGROUP <disk_group> SCRUB 语句来执行
  • rebalance中也可以执行内部执行disk修正处理
  • 控制文件以及REDO日志文件,OCRhi更加频繁得执行Scrubbing 处理

 

其他的功能扩展

  • disk group的平均读取

–传统版本中,通过ASM 使用冗长结构的情况的话,一般会参考primary数据,但12.1中,基于磁盘参考频率,对所有的disk进行均等的读取处理

  • 导入FAILGROUP_REPAIR_TIME 属性

–故障 group整体失败的话,在判断时所使用的修复时间

–默认値为24小时

  • 增加disk group数的最大値

–增加到511

  • 传统的最大値为63
  • 增加可以支持的容量

–在12.1以上的版本设定COMPATIBLE.ASM disk group属性的情况

  • 每个ASM disk最大为 32PB
  • 对于存储系统最大为 320EB

 

Oracle ASM Cluster File System (ACFS) 新功能

  • 支持所有的数据库文件的 ACFS
  • ACFS snapshot的功能扩展
  • Oracle ACFS 监察
  • Oracle ACFS 插件
  • 高可用性 NFS
  • Oracle ASM Proxy 实例
  • ACFS 功能的Platform matrix

支持所有的数据库文件的 ACFS

  • 可以在ACFS中配置所有的 Oracle Database 文件类型

–设置以下项目

 

  • ASM/ADVM 兼容性

ASM 兼容性            : 12.1

ADVM 兼容性           : 12.1

ADVM stripe列     : 1

  • 初始化参数 (DB 实例)

FILESYSTEMIO_OPTIONS  : SETALL

DB_BLOCK_SIZE         : 4k 或者以上

 

–Oracle Restart (单一实例) 结构中不支持

  • 对于在ACFS中配置数据库的文件,也可以使用 “snapshot、 Tagging, security” 功能

–Oracle ACFS 复制、不支持加密

 

ACFS snapshot的功能扩展  从现有snapshot中制成snapshot

  • 可以以现有的snapshot为基础获得新的snapshot
  • 对应Read-Only / Read-Write 的组合
  • ACFS 文件系统内,最多可以获得 63个 snapshot

–包含以现有snapshot为基础重新制成的snapshot

  • 可以在12.1以上设定ADVM disk group的兼容性属性

# acfsutil snap create [-w|-r] \  –p <parent_snap_name> <snap_name> <mountpoint>

 

ACFS snapshot的功能扩展

snapshot的 Read-Only / Read-Write 的变更

  • 可以读取专用以及读取、写入形式之间变换
  • 可以将已获得的snapshot任意变换为Read-Only / Read-Write
  • 可以在12.1以上设定ADVM disk group的兼容性属性

# acfsutil snap convert –w|-r <snap_name> <mountpoint>

  • 从acfsutil snap info 命令以及snapshot,可以查看详细信息

# acfsutil snap info /u01/app/grid/acfsmnt

snapshot:               snap1

Rosnapshot或者RWsnapshot:  RO

母的名字:                 /u01/app/grid/acfsmnt

snapshot作成时刻:      Mon May 27 15:54:21 2013

snapshot:               snap1-a

Rosnapshot或者RWsnapshot:  RW

母的名字:                 snap1

snapshot作成时刻:      Mon May 27 15:55:44 2013

    snapshot:  2

    snapshot的区域使用量: 151552

 

 

收集ACFS/ADVM 相关OS metric信息

  • 用户区域应用,从 OS中,可以及时收集 Oracle ACFS 文件以及 Oracle ADVM volume的详细metric信息
  • 通过acfsutil plugin 命令,指定收集对象的 ACFS 区域、类型、标签、获得间隔,通过Oracle ACFS 插件的 API,收集metric

# acfsutil [-h] plugin enable -m metrictype [-t tagname,…] \

> [-i <interval>[s|m]] <mount_point>

) # acfsutil plugin enable -m acfsmetric1 -t HRDATA -i 5m /acfs

 

  • Oracle ACFS 文件metric

–读取数 / 写入数  —  平均读取尺寸 / 平均写入尺寸

–最小读取尺寸 / 最大读取尺寸  —  最小写入尺寸 / 最大写入尺寸

–读取Cache hit / 读取cache miss

ACFS 区域的监视功能

  • 对于Oracle ACFS 的安全性以及加密化,提供监视功能
  • 每个ACFS 的文件系统可以分别设定
  • 在Oracle Audit Vault 中可以输入Oracle ACFS 监视数据
  • 监视源: Oracle ACFS 安全性、Oracle ACFS 加密操作项目
  • 监视文件 : <Mount Point>/.Security/audit/acfs-audit-<Hostname>.log
  • Oracle ACFS 监视的初始化、有效化、 purge、监视信息的表示等操作需要在 acfsutil audit 命令中设定

 

# acfsutil audit init –M <Audit Manager Group> –A <Auditor Group>

$ acfsutil audit enable –m <Mount Point> -s [sec | encr]

 

监视Record Field 意思
Timestamp Event发生的时间
Event code 识别event类型的代码
Source Oracle ACFS
识别用户User 触发event的用户
 group识别(Group) 触发event用户的primary group
进程识别(Process) 現在的进程 ID
主机名(Host) 记录event的主机
应用名(Application) 現在进程用的应用名
realm名(Realm) 违反/认可/保护的realm名
文件名(File) 用户访问过的文件名
评价結果(Evaluation Result) 执行完成的命令结果相关信息
文件系统ID (FileSystem-ID)
Message 被执行的命令的结果

 

  • 监视文件的例
Timestamp: 06/08/12 11:00:37:616 UTC
Event: ACFS_AUDIT_READ_OP
Source: Oracle_ACFS
User: 0
Group: 0
Process: 1234
Host: slc01hug
Application: cat
Realm: MedicalDataRealm
File: f2.txt
Evaluation Result: ACFS_AUDIT_REALM_VIOLATION
FileSystem-ID: 1079529531
Message: Realm authorization failed for file ops READ

 

 

高可用性 NFS

  • Grid Infrastructure 的功能以及合作,提供高可用性 NFS (HANFS)

–NFS输出ACFS。提供NFS V2/V3服务

  • 必须启动NFS服务器

–对于High Availability VIPs (HAVIP) ,执行NFS 输出、Oracle Clusterware Agent执行监视

  • 仅限IPv4 (无法处理IPv6)

–可以在除Windows 以外所有可以使用 ACFS的平台上构成

 

rac-stack-12

 

  • 确认NFS 服务正在运行
  • 制成ASFS后执行以下内容

–作为cluster资源登录ACFS 文件系统

 

# srvctl add filesystem –d /dev/asm/vol1-201 –v VOL1  –g DATA –m /mnt/acfsmounts/acfs1

–在所有节点中mount ACFS 文件系统

# srvctl start filesystem –device /dev/asm/vol1-201

 

制成HAVIP 资源,作为cluster资源来登录

# srvctl add havip –address c01vip –id havip1

 

  • 制成ASFS 之后执行以下操作

–将ACFS 文件系统输出作为cluster资源来登录

# srvctl add exportfs –id havip1 -path /mnt/acfsmounts/acfs1 -name export1 –options rw –clients *.example.com

–ACFS 文件系统的输出

# srvctl start exportfs –name export1

–HAVIP/HANAS  资源的运行确认

$ srvctl status havip –id havip1

$ srvctl status exportfs –name export1

 

对应Flex ASM 结构

  • Flex ASM 环境中,为了使用 ACFS/ADVM 功能的新类型的实例

–对ACFS/ADVM 内核模块提供 ASM 服务

  • 在各节点中启动并连接在cluster内的 ASM 实例

–失去连接中的ASM实例以及连接时,进行故障转移连接到不同的ASM

  • 无法作为RAC启动,简单的Footprint
  • 作为CRS 资源管理,在启动cluster时自动启动

–SID : +APX<node_number>

–追踪信息 :  $ORACLE_BASE/diag/APX

 

ACFS 功能的Platform matrix

Release Snaps Repl Tagging Security Encrypt
11.2.0.1 L/W – RO
11.2.0.2 ALL – RO L L L L
11.2.0.3. ALL – RW L/W L/W L/W L/W
12.1 ALL – RW ALL ALL L/W/S L/W/S

Legend: Linux(L), Windows(W), Solaris(S), AIX(A),
ALL=L/W/S/A Read Only (RO), Read & Write (RW)

  • 请查看MOS NOTE确认每个最新的 OS的许可状况

ACFS Support On OS Platforms (Certification Matrix). [ID 1369107.1]

 

Oracle Clusterware 12c
新功能

rac-stack-13

 

 

基于定义完成的对策,在发生event时,进行资源分配

  • 根据需要,处理资源不足
  • 为了迎合业务需求 :
    • 处理持续多日的peak的情况
  • 系统维护 :
    • 执行自动管理的情况

 

 

 

 

 

rac-stack-14

 

通过对策管理提高可用性

  • 需要追加服务器资源的案例中,选择重要性较低的服务器group
  • 对应发生2 重故障 / 3 重故障的情况
  • 在进行有计划的维护工作时,也可以高效使用备份服务器

注意服务器规格差异来设计的服务器池结构

 

  • Oracle RAC 12.1
    • 比起传统的追加节点方法 (addNode) 要简单
    • 将尺寸不同的资源的服务器作为cluster来构造,从而高效使用
  • 理解cluster内的服务器之间的差异,可以通过服务器池管理服务器 :
    • 在每个服务器中保存服务器属性
    • 使用服务器的category化构造服务器池
    • 服务器以category为基础,配置服务器池
      • 将验证用的设备配置在一个服务器池中,根据需要,可以对其他池配置服务器

rac-stack-15

 

服务器根据其属性不同作为category来分类

  • Oracle Clusterware 12c 中导入了新的category (Server Category)
  • 根据通过Oracle Clusterware来管理的服务器属性来分类 (Server Attribute)

–CPU 数、CPU clock数、内存尺寸等物理属性

–通过Oracle Clusterware自动获得

–通过将category与服务器池关联,可以在又特定属性的服务器中,构造服务器池

–服务器池的属性中重新追加了SERVER_CATEGORY

  • Category中,基于服务器属性的値,可以任意定义固有属性(Expression)

服务器的category

category以及相关属性

 

rac-stack-16

 

  • 设定的属性值可以通过 crsctl status server 命令来查看
$ crsctl status server <ServerName> -f

$ crsctl status server node01 -f
NAME=node01
MEMORY_SIZE=4006
CPU_COUNT=4
CPU_CLOCK_RATE=10390
CPU_HYPERTHREADING=0
CPU_EQUIVALENCY=1000
DEPLOYMENT=other
...

  • 新建category
$ crsctl add category <catName> -attr "<attrName>=<value>[,...]"
$ crsctl add category small_server -attr "EXPRESSION='(CPU_COUNT < 4)'"
  • 制作完成category的修正
$ crsctl modify category <catName> -attr "<attrName>=<value>[,...]"
$ crsctl modify category small_server -attr "ACTIVE_CSS_ROLE='hub'"
  • 查看category
$ crsctl status category <catName>
$ crsctl status category small_server
NAME=small_server
 ACL=owner:root:rwx,pgrp:root:r-x,other::r--
ACTIVE_CSS_ROLE=hub
EXPRESSION=(CPU_COUNT < 4)

 

What-If 命令评价

rac-stack-17

 

 

可以预测结构复杂的cluster的管理操作

  • 评价Oracle RAC 12c
    What-If 命令
  • 在构成时的技术支持以及验证设定完成的对策时有效
  • 对终止时制定对策有效
    • 事先分析Impact
    • 建立灵活的cluster操作
  • 通过What-If 命令评价可以实现以下项目:
    • 制定有效的对策
    • 服务器池、服务器、资源的变更工作
      • 例) 追加、重新配置、删除
      • 发生故障时查看操作

 

What-If 命令评价

  • 执行cluster管理操作时,为了回顾,提供命令

–实际操作之前,可以查看到底会产生怎样的影响

 

受支持的event

  • 资源 (start/stop/relocate/add/modify/fail)
  • 服务器池 (add/modify/delete)
  • 服务器 (add/relocate/delete)
  • 对策 (activate policy)

 

What-If 命令评价

cluster管理者的视图

通过crsctl 评价

  • 使用crsctl eval 命令的执行例
 $ crsctl eval {start|stop|relocate|modify|add|fail} resource

 $ crsctl eval start resoruce my_resource –n my_server
  STAGE_GROUP 1:
 --------------------------------------------------------------------------------
 STAGE_NUMBER    REQUIRED        ACTION
 --------------------------------------------------------------------------------
      1             Y          资源‘my_dep_res1’ (1/1) 为状態[ONLINE]
                               (服务器变成[my_server])
   N          资源 ‘my_dep_res2’ (1/1) 为状態[ONLINE|INTERMEDIATE]
                               (服务器变成[my_server])

        2            Y           资源‘ my_resource’  (1/1) 为状態[ONLINE|INTERMEDIATE]
                               (服务器变成[my_server])
 --------------------------------------------------------------------------------

 

DBA 的视图

通过srvctl 评价

  • 使用srvctl -eval 命令的执行例

$ srvctl {start|stop|modify|relocate} database … -eval

$ srvctl start database -db orcl -eval

将LISTENER_SCAN1在节点node01上启动

将LISTENER_SCAN2在节点node02上启动

将LISTENER_SCAN3在节点node03上启动

将数据库orcl在节点node01,node02,node03上启动

$

 

 

Oracle Flex Cluster

提供灵活性以及高可用性的新cluster链接类型

  • Oracle Flex Cluster:

–Oracle Clusterware 的新cluster结构

  • 灵活使用2 类的cluster节点:

–Hub节点

  • 与网络、存储紧密相关的节点群中、为了执行集中产生I/O 的负载的节点
  • 执行数据库实例

–Leaf节点

  • 少量stack的新类型节点
  • 不直接访问存储
  • 执行以processing处理为中心的负载(应用)

rac-stack-18

 

  • Oracle Flex Cluster:

–通过两层结构,可以实现高可用性以及便利的资源管理性

  • leaf节点中,运行少量的cluster stack,将独立的heartbeat设定与故障隔离
  • 在Leaf节点上运行的应用,可以作为cluster资源来管理。

–应用标准化管理

  • global资源的配置以及依存关系

rac-stack-19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hub节点以及leaf节点的连接

  • Flex Cluster 环境中节点通过role(hub/leaf)来管理
  • leaf节点连接到任何一个Hub节点,执行网络heartbeat,使用独立的hearbeat值,执行Hub节点以及疏通确认

–leaf节点之间,不会产生网络heartbeat

–仅限leaf节点才能在cluster中存在

–Hub节点的 CSSD 明确终止时,连接的leaf节点就会切换到cluster内的其他Hub节点切换运行

 

rac-stack-20

 

 

ASM 结构以及cluster结构的配合与变更

 

  • Oracle ASM 12c : 两种的类型

–标准的 ASM 结构(本地ASM)、Oracle Flex ASM

  • Oracle Clusterware 12c : 两种的类型

–标准cluster、Oracle Flex Cluster

  • 可以构成的组合
标准cluster Oracle Flex Cluster
本地ASM ×
Oracle Flex ASM
  • 标准cluster变更成 Oracle Flex Cluster 的结构

–不能从Oracle Flex Cluster 变更为标准cluster

rac-stack-21

Cluster Health Monitor 功能扩展

  • 可以作为Cluster Health Monitor (CHM) 的数据储存地址,在cluster内中制成 Grid Infrastructure 管理repository
  • 作为管理repository、使用单独实例的 Oracle Database EE
  • 作为Oracle Clusterware 的资源追加以下两类

 

$ crsctl stat res -t -w "(NAME co mgmt) OR (NAME co MGMT)"
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.MGMTLSNR
      1        ONLINE  ONLINE       node01                   192.168.100.254,STAB
                                                             LE
ora.mgmtdb
      1        ONLINE  ONLINE       node01                   Open,STABLE
--------------------------------------------------------------------------------

 

 

mgmtdb / MGMTLSNR

  • mgmtdb

–DB Name = “_MGMTDB”

–SID = “-MGMTDB”

–资源名 : ora.mgmtdb

–EE 的单独实例

–仅限使用OS认证的本地SYSDBA 中才可以登录

  • MGMTLSNR

–mgmtdb 用的listener

–资源名 : ora.MGMTLSNR

–在mgmtdb 以及同一节点上运行

–监听私人网络上的HAIP

 

  • Grid Infrastructure 安装是,选择是否制成mgmtdb

–安装之后不可以构造mgmtdb/MGMTLSNR

 

cluster环境的共享 GNS

  • 传统的版本的GNS,需要对Oracle Grid Infrastructure 都构成专用的 GNS
  • Oracle Clusterware 12c 中,在多个cluster中,可以共享 GNS 服务器来使用

–名字管理的简单化

  • 通过GNS 资格证明数据,可以设定GNS服务的客户端——cluster、服务器的cluster之间的关系

 

rac-stack-22

 

网络相关的功能扩展

  • 支持多个sub net中的扫描

–cluster上可以进行多个扫描

–可以区分的sub net中,仅限一个

 

  • 支持基于IPv6 的IP地址

–可以使用IPv4或者IPv6 来构造cluster

–构成cluster之后,可以从IPv4迁移到IPv6(反之也可行)

 

  • 通过检查无效节点,可以限制listener的服务登录

–可以指定接受SCAN  listener登录的节点以及sub net

 

 

Oracle Clusterware 管理功能的扩展

  • 可以选择是否输出cluster启动处理以及处理結果的的信息

-wait   : 输出CRSD + OHASD资源的启动处理以及处理结果

-waithas   : 输出OHASD 资源的启动处理以及处理结果

-noautostart   : 仅仅输出OHASD 的启动结果

rac-stack-23

 

  • 理解SRVCTL utility的选项进行变更
$ srvctl start scan -help

启动指定的扫描VIP。

使用方法: srvctl start scan [-scannumber <ordinal_number>] [-node <node_name>]
 -netnum <net_num> 网络编号(默认编号为1)
 -scannumber <scan_ordinal_number> IP地址的讯号
 -node <node_name> 节点名
 -help 展示使用方法


–传统的版本的 1 个字符的选项也可以继续使用

 

安装时的自动执行构成脚本

  • Oracle Grid Infrastructure 12c安装时,可以设定为自动执行构成脚本(root.sh)
  • 选择执行方法

–自动执行

  • 使用root 用户的资格证明
  • sudo 的使用

–手动执行

  • 与传统方法相同
  • 需要确认自动执行处理

 

Oracle Grid Infrastructure Bundled Agents (XAG)

  • 将下列应用作为 Oracle Clusterware 的资源来管理提供HA framework的Oracle Grid Infrastructure 组件

–Apache Tomcat

–Apache Webserver

–Oracle GoldenGate

–Oracle Siebel Gateway

–Oracle Siebel Server

  • 在应用资源名中
    赋予XAG进行识别
  • 事先定义依存关系,可以简单地登录cluster的资源
  • 11g R2 环境中也可以通过 OTN 来下载安装

rac-stack-24

 

Oracle Grid Infrastructure Bundled Agents

  • 使用agctl 的srvctl 相同的Utility Tools可以登录、管理应用

# Usage: agctl <verb> <object> [<options>]

verbs:add | check | config | disable | enable | modify |
relocate | remove | start | status |stop

objects:apache_tomcat | apache_webserver | goldengate |
siebel_gateway | siebel_server

 

  • Oracle GoldenGate 向cluster登录的例子

# agctl add goldengate <name>
–gg_home /u01/app/gg –oracle_home /u01/app/11.2.0/db
–db_services <list of services> –vip_name <exiting VIP>
–filesystems ora.ggh.acfs,ora.ggtr.acfs
–monitor_extracts <extracts list> –monitor_replicats <replicats list>

 

应用的管理方法 <启动、停止、确认、重新配置、删除>

  • Oracle GoldenGate 的启动

# agctl start goldengate <name>

  • Oracle GoldenGate 的停止

# agctl stop goldengate <name>

  • 确认Oracle GoldenGate 的status

# agctl status goldengate <name>

 

  • 重新配置Oracle GoldenGate

# agctl relocate goldengate <name>

  • Oracle GoldenGate 的删除

# agctl remove goldengate <name>

 

泛用性的应用

  • 资源类型 : generic_application 通过Oracle Clusterware 12c 追加
  • 因为高可用性是必须的,所以制成操作脚本是,可以将不需要的应用模型化来使用
  • 启动、终止、clean up应用时,包括选项,指定将要进行的操作,登录到oracle Clusterware 中

–START_PROGRAM / STOP_PROGRAM / CLEAN_PROGRAM

  • <例> 指定generic_application 类型,登录Samba 服务器的情况

 

$ crsctl add resource samba1 -type generic_application -attr
  "START_PROGRAM='/etc/init.d/smb start',
   STOP_PROGRAM='/etc/init.d/smb stop',
   CLEAN_PROGRAM='/etc/init.d/smb stop',
   PID_FILES='/var/run/smbd.pid,/var/run/nmbd.pid'"

 

Oracle Real Application Clusters (RAC) 12c :Multi-tenant architecture

处理Multi-tenant architecture

包括Pluggable数据库,提供数据库整体的可用性

  • 对策管理或者管理者管理类型的 RAC 数据库中也可以处理Multi-tenant architecture
  • 提供将传统的数据库服务于PDB相联系,可以提高RAC环境中的管理性
  • 推荐使用了服务器管理 (SRVCTL) utility的服务器管理

–对策管理 RAC 数据库上,与PDB相联系,制成服务的情况

 

$ srvctl add service -db <DBNAME> -service <SERVICE_NAME> pdb <PDB_NAME> -g <>

 

Oracle RAC:处理Multi-tenant architecture

  1. 单独实例 / non-CDB

rac-stack-25

 

  1. RAC 的变更 / non-CDB

rac-stack-26

  1. 变更为CDB

rac-stack-27

  1. 在cluster上灵活扩展Consolidation model

rac-stack-28

 

  1. 在RAC 环境中灵活合并PDB

rac-stack-29

 

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号