目的

-------

在 Oracle Database 10g 中,通过自动存储管理 (ASM), 支持高效部署超大型数据库(10TB 到 PB 范围)。

 

 

范围和应用

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

此过程适用于所有平台(包括 RAC 和单实例环境)上的 ASM 配置。此过程适用于创建容量预计会增长到超过 10TB 的大型数据库。

 

挑战

---------

大于 10TB 的数据库的 ASM 元数据存储要求可能非常高,从而导致打开 ASM 文件效率低下

 

溶液

--------

Oracle 数据库 10g 中的 ASM 功能将分配单元 (AU) 定义为磁盘组中分配的基本单位。默认情况下,ASM 分配单元大小设置为 1MB。

 

ASM 数据扩展数据块是用于保存 ASM 文件内容的原始存储。在 Oracle 数据库 10g 中,每个数据扩展数据块都是一个分配单元。由于这种将扩展数据块大小与 AU 的一对一映射,ASM 文件扩展数据块映射在非常大的数据库中可能会增长到 GB,从而导致内存使用率和文件打开性能效率低下。

 

ASM 提供了两个隐藏的初始化参数,允许您创建 AU 大小为 16 MB 的磁盘组和 1MB(而不是 128KB)的精细粒度条带化。AU 参数只能在创建磁盘组时使用。

 

您必须重置以下 ASM 隐藏参数才能更改 AU

大小(以及数据扩展数据块)从 1MB 到 16MB,ASM 实例必须关闭,_asm_ausize,_asm_stripesize参数必须在 ASM 实例 init.ora 参数文件和 ASM 中重置

实例再次重新启动以继承新值。

 

_asm_ausize=16777216

_asm_stripesize=1048576

 

您还必须修改 ASM 文件模板,并将所有文件类型的条带类型设置为“FINE”,以实现 1MB 条带化。这必须在创建磁盘组后完成。

 

必须重新启动 ASM 实例才能使新参数生效。设置下划线参数并重新启动 ASM 实例后,创建的任何磁盘组都将具有新的 AU 大小和 FINE 条带大小。要创建正常 1MB AU 大小和 128KB FINE 条带大小的磁盘组,需要删除下划线参数并重新启动 ASM 实例。

 

例:

以下示例创建一个具有 16MB 分配单元(数据扩展数据块)的磁盘组,并允许对所有数据文件进行 1MB FINE 条带化:

 

1. 关闭 ASM 实例

 

2. 编辑 ASM init.ora 参数文件并添加:

_asm_ausize=16777216

_asm_stripesize=1048576

 

3. 重新启动 ASM 实例

 

4. 创建磁盘组

创建 DISKGROUP diskgroup_name磁盘 '/devices/diska1','/devices/diska2';

 

5. 将所有 ASM 文件模板更改为细粒度:

更改磁盘组diskgroup_name更改模板<tmpl>属性(精细);

对所有 ASM 文件类型重复此命令。下面列出了属性类型:

CONTROLFILE, DATAFILE, ONLINELOG, ARCHIVELOG, TEMPFILE, BACKUPSET,PARAMETERFILE, DATAGUARDCONFIG, FLASHBACK, CHANGETRACKING, DUMPSET, XTRANSPORT, AUTOBACKUP

 

1MB AU 设置和 1MB 细粒度条带化继续提供高效的 1MB 数据条带化,并大大降低 ASM 文件扩展盘开销。这

配置提供更快的 ASM 文件打开速度,并更有效地支持 10TB 到 PB 容量范围的 ASM 数据库。

 

 

 

注意:

应用 10.2.0.4 中 Bug 5100163的修复

 

如果已创建 AU 大小大于 1MB 且用户文件少于 3585 个的 ASM 磁盘组,则应应用此修补程序。

 

应用修补程序后,必须在每个磁盘组上运行以下命令:

更改磁盘组<DG_NAME>检查所有修复

 

引用

----------

不适用