Oracle ASM File Template 详解
Oracle ASM File Template 详解
适用版本:Oracle Database 10g / 11g / 12c / 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
ASM File Template 定义文件属性[1]:
详细见:Oracle ASM 架构与 AU 详解、Oracle ASM File Extent 与 Mirroring 详解。
2. 模板作用
2.1 属性
- 冗余(Redundancy)
- 条带(Striping)
- 默认
2.2 文件类型
- CONTROLFILE
- DATAFILE
- ONLINELOG
- ARCHIVELOG
- PARAMETERFILE
- BACKUPSET
- 等
3. 系统模板
3.1 默认
- TEMPLATE <type>
- 冗余:与 Disk Group 一致
- 条带:COARSE/FINE
3.2 查看
SELECT group_number, name, redundancy, stripe, system
FROM v$asm_template;
3.3 示例
- CONTROLFILE:FINE
- DATAFILE:COARSE
- ONLINELOG:COARSE
- ARCHIVELOG:COARSE
4. 冗余
4.1 MIRROR
- 2-way mirror
- 默认(normal redundancy)
4.2 HIGH
- 3-way mirror
- high redundancy
4.3 UNPROTECT
- 无 mirror
- external redundancy
5. 条带
5.1 COARSE
- 1MB 条带
- 适合大文件
- DATAFILE
5.2 FINE
- 128K 条带
- 适合小文件
- CONTROLFILE
- ONLINELOG
6. 自定义模板
6.1 创建
ALTER DISKGROUP data ADD TEMPLATE critical_file
ATTRIBUTES (UNPROTECTED COARSE);
ALTER DISKGROUP data ADD TEMPLATE high_file
ATTRIBUTES (HIGH FINE);
6.2 修改
ALTER DISKGROUP data ALTER TEMPLATE critical_file
ATTRIBUTES (MIRROR FINE);
6.3 删除
ALTER DISKGROUP data DROP TEMPLATE critical_file;
7. 使用
7.1 文件别名
CREATE TABLESPACE critical_ts
DATAFILE '+data(critical_file)/critical01.dbf' SIZE 10G;
7.2 默认
- 不指定:使用系统模板
- 指定:使用自定义
8. 查看
8.1 模板
SELECT group_number, name, redundancy, stripe, system
FROM v$asm_template
WHERE group_number = 1;
8.2 文件
SELECT group_number, file_number, name, type, bytes, space
FROM v$asm_file
WHERE group_number = 1;
8.3 别名
SELECT group_number, file_number, name, alias_directory
FROM v$asm_alias;
9. 应用场景
9.1 关键文件
- CONTROLFILE:FINE
- ONLINELOG:FINE
- MIRROR
9.2 大数据文件
- DATAFILE:COARSE
- 节省 I/O
9.3 备份
- BACKUPSET:COARSE
- UNPROTECT(外部冗余)
10. Disk Group 与模板
10.1 Normal Redundancy
- 默认 2-way
- 模板可改 3-way(HIGH)
- 不能 UNPROTECT
10.2 High Redundancy
- 默认 3-way
- 模板不能降
10.3 External Redundancy
- 默认 UNPROTECT
- 模板不能升
11. 性能
11.1 条带
- COARSE:大文件顺序
- FINE:小文件随机
11.2 选择
- 控制文件:FINE
- 日志:FINE
- 数据:COARSE
- 备份:COARSE
12. 管理
12.1 ASMCMD
asmcmd
ASMCMD> lstmpl
ASMCMD> lstpl
ASMCMD> mktpl critical_file --redundancy mirror --stripe fine
ASMCMD> rmtpl critical_file
12.2 SQL
ALTER DISKGROUP data ADD TEMPLATE ...;
13. 常见问题
13.1 模板不存在
- 检查
- 创建
13.2 冗余不匹配
- Disk Group 类型
- 检查
13.3 性能
- 条带选择
- 优化
14. 最佳实践
- 关键文件:MIRROR FINE
- 数据文件:默认 COARSE
- 自定义:场景
- 命名:清晰
- 监控:使用
- 测试:性能
- 文档:配置
- 演练:定期
- 外部冗余:谨慎
- 备份:模板
15. 参考资料
[1] Oracle Automatic Storage Management Administrator’s Guide 19c https://docs.oracle.com/en/database/oracle/oracle-database/19/ostmg/