了解DB 11.2 Grid Infrastructure

Oracle RAC 概要

  • Oracle9i 开始提供的cluster技术
可用性 实现高速故障转移,使得系统故障时的downtime时间最小化
扩展 根据负荷量可以使得处理性能最优化
投資成本 可以导入最低限度的结构,减少初始成本

提供灵活使用资源,实现最优的投资成本

 

GI_CLUSTERWARE1

 

Oracle ASM 概要

  • Oracle 10g开始提供的数据库最优存储管理
  • Striping
  • 磁盘group中,用所有的disk进行Striping
    (不会发生hotspot)

Ø维持性能

  • 镜像
  • 根据文件类型,在oracle水平中进行镜像链接
    (2重化 / 3重化 / 没有镜像)

Ø可用性的担保

  • 动态rebalance
  • disk的追加 / 删除时自动重新配置数据

Ø扩展性

 

GI_CLUSTERWARE2

 

 

数据中心最合适的平台

GI_CLUSTERWARE3

 

 

 

 

RAC / ASM 进化历程

 

GI_CLUSTERWARE4

 

Oracle Grid Infrastructure 整体像

 

可以不考虑资源的物理位置将其作为服务来使用

 

GI_CLUSTERWARE5

 

 

传统的系统管理

  • 特定的服务器上,运行RAC 数据库以及应用
  • 在各个系统中,配置成本较高的专用服务器
  • 对每个系统都进行资源最优化

GI_CLUSTERWARE6

 

对策base管理

  • 排除专用服务器这种对策
  • Oracle Clusterware 可以整合所有服务器
  • 服务器的分配会自动管理Oracle Clusterware

GI_CLUSTERWARE7

 

 

通过服务器池服务器虚拟化

GI_CLUSTERWARE8

服务器池

  • 管理Oracle Clusterware 下的服务器的理论group
  • 可以在cluster中制成多个
  • 服务器池是排他的
  • 1个服务器可以仅仅只在指定的服务器池中进行配置
  • 通过不同的负载分离cluster

 

GI_CLUSTERWARE9

 

服务器池的种类

Grid Infrastructure 安装时的步骤

  • 用户定义服务器池
  • Generic 服务器池
  • Free 服务器池

 

 

üGeneric 服务器池

–通过固定RAC 数据库运行的服务器的传统方法来管理使用(管理者管理)

–通过以下的用途来使用的服务器池

  • 管理者管理 RAC 数据库
  • 下位版本(11g Release 1) 的数据库
  • 已经更新到11g Release 2 的数据库
  • 11g Release 2 单独实例
  • RAC One Node

Free 服务器池

–无论哪个服务器池都配置了无法分割的服务器

 

服务器池的属性

 

  • 用服务器池定义的属性(对策属性)

最小数(MIN_SIZE

  • 服务器池中包含的服务器的最小值 (默认为0)

最大值(MAX_SIZE

  • 服务器池中包含的服务器的最大值 (默认为0)

重要度(IMPORTANCE

  • 服务器池的重要度(範囲:0-1000) (默认为0)
  • 值越大越重要

 

  • Oracle Clusterware 基于上述对策属性,对于服务器池分配服务器池

 

服务器池的管理 (作成删除结构变更)

  • 使用Oracle Clusterware 来管理的对象
  • 通过服务器控制utility(SRVCTL) 操作
  • 可以通过Enterprise Manager 操作可能
  • 服务器池的作成

$ srvctl add srvpool -g <pool_name> [-l <min>] [-u <max>] [-i <importance>] [-n “<server_list>”] [-f]

实例

$ srvctl add srvpool -g pool1 -l 0 -u 2 -i 5

  • 服务器池的删除

$ srvctl remove srvpool -g <pool_name>

 

  • 服务器池的结构变更

$ srvctl modify srvpool -g <pool_name> [-l <min>] [-u <max>] [-i <importance>] [-n “<server_list>”] [-f]

 

 

服务器池的管理 (查看status结构)

表示服务器池的status(服务器的分割)

$ srvctl status srvpool [-g <pool_name>] [-a]

[执行例] $ srvctl status srvpool -g pool1 –a

服务器池名: pool1

活跃服务器数: 2

活跃的服务器名: node1,node2

NAME=node1 STATE=ONLINE

NAME=node2 STATE=ONLINE

 

 

表示服务器池的结构信息 (服务器池的属性)

$ srvctl config srvpool [-g <pool_name>]

[执行例] $ srvctl config srvpool -g pool1

服务器池名: pool1

重要度: 5、最小: 0、最大: 2

候补服务器名:

 

 

对策base管理与服务器池

  • 根据业务条件,定义提供服务的服务器数量以及重要程度
  • Oracle Clusterware 根据服务器池的对策要求,自动分割服务器
  • 不需要考虑配置服务的物理服务器
  • 空白服务器,可以作为用于修复故障、扩展来使用

 

RAC 数据库的结构类型

 

  • 管理者管理
    • 传统的类型
    • RAC将运行的服务器来固定
    • 在Generic 服务器池中配置
  • 对策管理
    • 对策base管理
    • RAC 运行的服务器以及实例都是动态的
    • 构成cluster的所有节点都是运行候补
    • 制成配置RAC的服务器池

 

对策管理 RAC 数据库

 

  • 范围base管理
    • 基于提供服务的范围的Capacity管理
  • 服务器池是配置RAC 数据库以及服务的infrastructure
  • 根据服务器池的扩展 / 减少,动态变更RAC实例以及服务配置
    • RAC 数据库的范围
      • 服务器池的最小数 / 最大值
  • 服务的范围
    • UNIFORM (服务器池的最小数 / 最大值)
    • SINGLETON (単一)

 

对策管理 RAC 数据库的作成

  • 在DBCA 中追加选择结构类型
    • 管理者管理
      • 选择构成RAC 的服务器
  • 对策管理
    • 指定构成RAC 的范围 (服务器数)
    • 范围反映了服务器池的最大值

 

对策管理 RAC 数据库的活用例

1.构成5 节点的cluster环境

2.制成配置RAC 数据库的服务器池

3.制成RAC 数据库、服务

故障时,从Free池中动态分配服务器

4.变更服务器池的设定

RAC 数据库以及服务都会自动扩展

GI_CLUSTERWARE11

 

 

Oracle Clusterware 组件

GI_CLUSTERWARE12

 

 

GI_CLUSTERWARE13

 

通过Agent监视进程与资源

 

GI_CLUSTERWARE14

 

资源modeling的強化

  • 为了在RAC 11g R2 中实现 (管理面、灵活性、泛用性)应用高效可用需要强化资源modeling

GI_CLUSTERWARE15

 

资源类型

  • 可以在资源类型中定义资源属性
  • 将共通的属性作为拥有资源的模板来使用
  • 定义拥有资源类型的阶层结构
  • 提高资源类型的可用性
  • 可以制成custom资源类型

GI_CLUSTERWARE16

 

资源的依存关系

  • 定义所有资源共通的依存关系
  • 通过资源属性 START_DEPENDENCIES / STOP_DEPENDENCIES 定义
  • 控制资源的启动順序以及停止順序
  • 开始的依存性 (START_DEPENDENCIES)

–強依存性 (hard)

–弱依存性 (weak)

–集中依存性 (attraction)

–Pull up依存性 (pullup)

–分散依存性 (dispersion)

  • 停止的依存性 (STOP_DEPENDENCIES)

–強依存性 (hard)

 

 

Oracle Clusterware 资源的依存关系
开始的依存关系

 

GI_CLUSTERWARE17

 

 

停止的依存关系

 

GI_CLUSTERWARE19

 

通过Agent进行资源监視

  • 对所有资源都提供共通的,有高可用性的framework
  • 作为提供资源以及应用的高可用性服务的常驻进程导入Agent
  • 通过agent管理所有资源

GI_CLUSTERWARE20

 

Oracle Clusterware 资源的监視间隔

种类 资源 资源名 监視 CRS Agent 监視间隔(秒) 11g R2 监視间隔(秒) 11g R1
节点应用 GSD (*2) ora.gsd oraagent 60 600
ONS ora.ons oraagent 60 60
VIP ora.hostname.vip orarootagent 1 15
网络 ora.netnum.network orarootagent 1 没有
数据库 数据库 ora.dbname.db oraagent 1 300 (常时)
服务 ora.dbname.srvname.svc oraagent 600 没有
listener ora.listenername.lsnr oraagent 60 600
Oracle ASM Oracle ASM ora.asm oraagent 60 (常时)(*1) 300 (常时)
diskgroup ora.diskgroupname.dg oraagent 300 没有
Oracle ACFS Registry ora.registry.acfs orarootagent 30 没有
SCAN SCAN VIP ora.scan_name.vip orarootagent 1 没有
SCAN listener ora.scan_listenername.lsnr oraagent 60 没有
其他 OC4J (*2) ora.oc4j scriptagent 60 没有

 

  • CRSCTL (应用用)
  • 在配置应用服务器池以及、管理资源时使用

 

  • SRVCTL (Oracle 用)
  • 在管理配置RAC 数据库的服务器池以及、CRS 资源
    (有「ora」 Joint speech的服务器池以及资源)时使用

GI_CLUSTERWARE21

 

11g R2 ASM 的组件

GI_CLUSTERWARE22

 

 

ASM 动态volume管理 (ADVM)
概要

  • 可以动态加载的vendor的 OS VFS 驱动

–与Linux 的 Kernel 完所有整合

  • 对于ACFS 以及其他文件系统

提供标准的disk Device interface

  • 提供动态volume管理服务

–新追加的 ASM 文件类型:

  • ASMVOL (ASM Volume File)
  • ASMVDRL(ASM Volume Dirty Region Logging)

–制成ASM volume文件时自动制成 OS 的device文件

  • /dev/asm/vol1 (Linux)
  • asm_dga_vol1 (Windows)

 

GI_CLUSTERWARE23

 

 

ADVM
ADVM 驱动的加载

  • 被加载的三种驱动

#lsmod |head -4

Module                  Size  Used by

oracleacfs            787588  2

oracleadvm            177792  6

oracleoks             226784  2 oracleacfs,oracleadvm

 

–Oracle ACFS 驱动

–Oracle ADVM 驱动

–Oracle Kernel Service 驱动(OKS 驱动)

  • 通过ora.asm(init) 管理 ADVM 驱动

–开始资源的话就会加载ASM驱动

–停止资源的话就会卸载ASM 驱动

 

  • 加载驱动的话
    • 在/sbin下配置 ACFS 与 ADVM相关的命令
    • 在/lib/modules下安装驱动
  • Oracle Kernel Service 驱动 (OKS驱动) – oracleoks.ko
    • 内存管理
    • 锁定以及cluster的同步
  • ADVM 驱动 – oracleadvm.ko
    • 从Volume device中对动态volume映射I/O需求
    • 文件系统的volume管理驱动interface
  • ACFS 驱动 – oracleacfs.ko
    • 支持所有的 ACFS 的文件操作

 

  • ASM 文件与 ASM volume文件的Extent map的操作

GI_CLUSTERWARE24

 

 

  • ADVM 驱动可以比ASM 的 AU(allocation unit) 単位Striping做到粒度更细致的Striping
  • 可以更加灵活的设定volume文件的Striping粒度

–默认的Striping単位是 128k(4k ~ 1M)

–在以volume文件単位作成时定义

 

 

GI_CLUSTERWARE25

 

 

  • 制成ADVM volume

–将尺寸设定为10GB,对 ASM diskgroup以 volume1 的名字来制成

ASMCMD> volcreate -G advm -s 1G volume1

–查看ADVM volume

ASMCMD> volinfo -G advm volume1
Volume Name: VOLUME1
Volume Device: \\.\asm-volume1-279
State: ENABLED
Size (MB): 1024
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage:
Mountpath:

 

 

  • Mount ADVM volume

–将制作完成的 ADVM volume对 Z: 驱动进行mount,登录到系统Registry中

C:\> advmutil mount Z: asm-volume1-279 /register

ASMvolumeasm-volume1-279被Z:mount了

驱动字符Z:被asm-volume1-279分配了

–查看mount

C:\> advmutil list /registry

驱动字符    ASMvolume

=============================================

Z:           asm-volume1-279

 

  • 制成文件系统

–Z: 驱动中以 advm 的volume标签制成NTFS 文件系统

 

C:\> format Z: /fs:ntfs /v:advm /q
文件系统的种类是 RAW。
新文件系统是NTFS。

警告: 硬盘的驱动 Z: 的数据丢失。
是否格式化(Y/N)? y
正在快速格式化1024M byte
制成文件系统结构。
格式化完成。
1048572 KB : 所有disk区域
1041044 KB : 可以使用的disk区域

 

ASM cluster文件系统(ACFS)

  • 适合整合、grid、或者客户端

数据中心的潮流是专注于存储整合

–通过与ASM同时使用,可以整合结构化数据与非结构化数据

  • 支持数据库以及应用的泛用文件数据

追踪文件、警报日志、应用报告、二进制文件、

结构文件 、画像、音声、text等

  • 利用NFS 或者 CIFS,实现从远程客户端的访问
  • 通过与cluster ware进行整合,作为cluster ware资源来管理

GI_CLUSTERWARE26

 

  • 性能

–通过ASM Striping技术排除瓶颈

–文件系统区域中可以设定更加高度的Striping

  • 高可用性

–通过ASM 镜像链接技术实现高可用性

–可以承受整体框架故障的结构

–块水平的故障可以自动修复

–通过使用Oracle Clusterware 可以保障高可用性

  • 扩展性

–继承ASM 的scale out型的架构

–通过自动rebalance功能,可以缩小文件系统区域的online、迁移、扩展、缩小

  • 管理性

–通过在多平台中应用,实现管理的标准化

–通过一元管理数据库区域与减少管理成本

 

  • 平衡的分散配置
  • 所有 ASM volume文件都灵活使用ASM extent的分散配置,在diskgroup中均匀分散

GI_CLUSTERWARE27

 

 

  • ACFS 内的文件可以是 ASM 的冗长结构(镜像链接)
  • 镜像链接属性有以下三种
  • 2 重化/3 重化/没有镜像

GI_CLUSTERWARE28

 

 

  • ACFS 会灵活使用ASM 的文件调整功能

$ /sbin/acfsutil size +50G /mnt/acfs

 

  • ACFS 会使用以下两种高速缓存

ØACFS 上的用户数据

  • 一般与 Linux/UNIX/Windows 的文件系统相同

将OS 页面缓存作为文件高速缓存来使用

ØACFS 自身的元数据

  • 将物理内存的一部分用于分割元数据高速缓存

 

GI_CLUSTERWARE29

 

可以配置ACFS 文件与Use Case

  • 可以配置ACFS 的文件

–Oracle home、trace文件、警报日志、应用文件、结构文件、视频、图片 etc

–【New】 RMAN 备份文件(11.2.0.3 ~)

–【New】 归档文件(11.2.0.3 ~)

–【New】 Data Pump damp set文件 (11.2.0.3 ~)

  • Use case

–[SAN 型]

  • 在构成ACFS 的服务器中直接使用
  • 作为Oracle Database 以及其他产品的(FM、Apps 等)的共享repository来使用

–[NAS 型]

  • 可以通过NFS/CIFS 来访问的共享文件系统
  • 作为cluster应用的共享repository来使用

 

  • ACFS 对客户端提供两种访问形式

 

GI_CLUSTERWARE30

 

  • ACFS

–无法储存数据库文件

–对ACFS 不进行dismount,也不使用SHUTDOWN ABORT 命令.

–Oracle ACFS Registry资源不支持Oracle Restart 结构,仅仅支持Oracle Grid Infrastructure cluster结构

  • ADVM

–无法因为Bootstrap或者循环文件系统来使用

–无法将ADVM作为ASMLIB disk来使用

–对RAW 进行映射,无法作为 RAM volume device来使用

–无法制成分区( fdisk 命令)4

 

ACFS 的活用 其一
Database Home on ACFS

 

  • 提供在ACFS上设置Oracle Database 的二进制,实现
    共享oracle home环境
  • 安装、构成的简单化
  • 灵活使用ASM 的镜像链接以及、rebalancing的功能
  • 提高对策base管理的 RAC 的亲和性

–通过ASMCA 制成 Oracle Database 用的 ACFS

  • 注意

–如果在ACFS上配置Oracle Database 的话,存在与共享 ORACLE_HOME 环境相同的缺点

–不可进行Rolling更新以及rolling批量

–可能会变成単一故障point

  • 需要讨论是否使用ACFS snapshot以及 ASM 的镜像链接を

 

  • 与一般的文件系统相同将ACFS 输出,

可以通过NFS 以及 CIFS 来远程访问

 

GI_CLUSTERWARE31

 

 

  • snapshot
    • ACFS 的point In-time copy
    • 仅仅捕获有更新的文件块 (Copy On Write)
    • 可以读写的snapshot (11.2.0.3 ~)
  • 复制(11.2.0.2~)
    • 可以通过ACFS的网络来复制
    • 通过配合Tagging使用,可以灵活指定复制对象
  • 安全性 (11.2.0.2~)
    • 控制OS 的访问时,可以进行控制更加细微的部分
    • 通过文件操作 (open/create/delete..)可以控制时间段等
  • 加密(11.2.0.2~)
    • 可以从应用开始对ACFS区域的数据进行加密
    • 指定文件単位、volume単位

 

 

  • 使用ACFS 新功能时,需要设定compatible.asm 以及 compatible.advm

– SQL*Plus

SQL> alter diskgroup <DG名> set attribute ‘compatible.asm’ = ‘11.2.0.2.0’;

SQL> alter diskgroup <DG名> set attribute ‘compatible.advm’ = ‘11.2.0.2.0’;

– ASMCMD

ASMCMD> setattr -G <DG名> compatible.asm 11.2.0.2
ASMCMD> setattr -G <DG名> compatible.advm 11.2.0.2
ASMCMD> lsattr -l -G <DG名> %compat*
Name Value
compatible.advm 11.2.0.2
compatible.asm 11.2.0.2.0
compatible.rdbms 10.1.0.0.0

功能名 compatible.asm compatible.rdbms compatible.advm
可変 AU >=11.1 >=11.1 n/a
v$asm_attribute 视图的表示 >=11.1 n/a n/a
高速镜像再同步 >=11.1 >=11.1 n/a
可変extent >=11.1 >=11.1 n/a
Exadata存储 >=11.1.0.7 >=11.1.0.7 n/a
Intelligent Data Placement(IDP) >=11.2 >=11.2 n/a
OCR、投票disk的 ASM 管理 >=11.2 n/a n/a
支持4k sector disk驱动 >=11.2 >=11.2 n/a
ASM SPFILE 的 ASM 管理 >=11.2 n/a n/a
ASM 文件访问控制 >=11.2 >=11.2 n/a
ASM volume文件(ACFS) >=11.2 n/a >=11.2
ACFS 复制、标记、安全性、加密 >=11.2.0.2 n/a >=11.2.0.2

 

ACFS snapshot
point In-time copy

  •  概要
  • 获得snapshot时仅限pointer的拷贝,并且可以进行高效的区域管理
  • ACFS 区域的online备份工具
    • Read Only 的snapshot作为报告与分析的源来活用
    • 在开发、测试环境中灵活使用可以读写snapshot
  • 已获得的snapshot保存在同一文件系统中的
    <mount point>/.ACFS/snaps 内
  • 每个1 ACFS最多可以保存63个
  • 管理方法
    • 从Enterprise Manager中获得

 

  • Copy-On-Write (COW) 是什么
  • 复制数据对实际数据构成pointer
    • 数据的备份时等等
    • 不会复制实际数据
  • 数据的更新时复制实际数据
  • 如果高效使用disk space的话,就可以高效复制
  • 使用文件系统的snapshot功能的技术

 

GI_CLUSTERWARE32

 

  • OS 命令行工具
    • /sbin/acfsutil snap create [/w|/r] <snap_name> <mountpoint>
    • /sbin/acfsutil snap delete <snap_name> <mountp oint>
  • 已获得的snapshot可以参考以下内容
    • 在< mountpoint >/.ACFS/snaps目录中制成
  • ACFS snapshot专用视图
    • v$asm_acfssnapshots
  • 管理方法
  • Enterprise Manager、SQL*Plus
  • ACFS 区域的online备份工具
    • Read Only 的snapshot作为报告以及分析的源来使用
    • 在开发以及测试环境中使用可以读写的snapshot

 

snapshot作成

C:\> acfsutil snap create /w test01_snap D:\mount\acfs_vol01
acfsutil snap create: snapshot的操作完成。

查看目录

C:\> dir D:\mount\acfs_vol01\.ACFS\snaps\TEST01_SNAP

2012/01/10 12:08 <DIR> lost+found
2011/01/11 21:09 0 test01.log.txt

 

查看SQL

SQL> select * from v$asm_acfssnapshots
FS_NAME VOL_DEVICE SNAP_NAME CREATE_T
———————- ——————— ————— ——–
D:\mount\acfs_vol01 \\.\asm-vol01-389 TEST01_SNAP 11-01-11

 

Oracle Cloud File System

  • 概念

–提供云环境中的数据库、 Middleware、应用中的存储池

–对于数据库以及文件,提供可以整合存储的网络访问

– 支持灵活迅速的online存储流程Provisioning

 

GI_CLUSTERWARE33

 

通过Cloud File System 管理数据整合

 

GI_CLUSTERWARE34

 

  • 为了使用Oracle Cloud File System 的功能的许可证定义

–参照:手册『Oracle Database 许可证信息 11g 2(11.2)』

http://download.oracle.com/docs/cd/E16338_01/license.112/b56284/options.htm#CJAEEFEG

 

Oracle Cloud File System

Oracle Cloud File System是需要独立许可证的产品。使用自动存储管理,提供用于存储的cluster文件系统,可以使用高效的数据管理功能以及安全性功能。Oracle Cloud File System 分为以下几个部分。

  • 自動存储管理(ASM)
  • ASM 动态volume管理(ADVM)
  • ASM cluster文件系统(ACFS)
  • 对ACFS 文件加上统计操作的标签
  • ACFS 的读取专用snapshot
  • ACFS 的持续复制
  • ACFS 的加密
  • ACFS 的roll base安全性
  • Oracle Clusterware(支持ASM以及ACFS)

 

  • Cloud FS是展示使用案例的Metalink Note (Doc ID 1322405.1)

https://support.us.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1322405.1&h=Y

 

  • A restricted use license to use Oracle Cloud File System (CloudFS) is included with all editions (EE or SE or SE One) of the database specifically for storing the following file types:
  • Oracle Database software binaries/homes and related configuration, administrative and diagnostics files needed to operate the software
  • Oracle middleware and application software binaries/homes (EBusiness Suite, PeopleSoft, My SQL, Golden Gate etc…) and related configuration, administrative and diagnostics files needed to operate the software

Storing any ‘user data’ in CloudFS i.e. database external files, documents, images, etc requires a CloudFS license. Oracle Cloud File System licensing is needed on all nodes of a cluster that installs the Grid Infrastructure. When upgrading from 11.2.0.1 to 11.2.0.2, CloudFS licensing is required if using any of the new features in 11.2.0.2. Otherwise, no new licensing is required.

 

  • 定义1:是否是Oracle 产品相关文件
  • 例:Oracle Database 的二进制、警报日志、trace文件

ØYes的情况

  • 有Oracle Database 的许可证的话,就可以有限制地免费使用

ØNo的情况

  • 需要Oracle Cloud File System 许可证

Ø不明的情况

  • 用定义2 判断

 

  • 定义2:是否是Oracle 产品输出的文件
  • 例: Oracle EBS 输出的账目、PL/SQL 输出的text文件

ØYes的情况

  • 有Oracle Database 的许可证的话,就可以有限制地免费使用

ØNo的情况

  • 需要Oracle Cloud File System 许可证

 

Platform Oracle DB
Version
ACFS Advanced Data Services
snapshot 复制 标记 安全性 加密
Linux 11.2.0.1 Read Only
11.2.0.2 Read Only
11.2.0.3 Read Write
Windows 11.2.0.1 Read Only
11.2.0.2 Read Only
11.2.0.3 Read Write
Solaris 11.2.0.1
11.2.0.2 Read Only
11.2.0.3 Read Write
AIX 11.2.0.1
11.2.0.2 Read Only
11.2.0.3 Read Write

 

 


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *