ASMディスクグループに表領域を作成し、asmcmdで確認する方法

ASM

~OMF(Oracle Managed Files)の自動管理を詳しく解説~

Oracle ASM(Automatic Storage Management)は、Oracleデータベースに最適なストレージ管理方式です。
ASMに表領域やデータファイルを作成する際は、OMF(Oracle Managed Files)という仕組みにより、ファイル名やパスを指定せずとも自動的に管理されます。

本記事では、ASMディスクグループ「ARCH」に表領域を作成し、その内容をasmcmdで確認する手順に加えて、OMFによる自動ファイル管理の仕組みを詳しく解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


■ 前提環境

  • ASMディスクグループ「ARCH」が作成済みでMOUNT状態
  • Oracleデータベース(例:ORCL)が起動中
  • Oracle Grid Infrastructureが導入済み(Restart構成 or RAC)
  • oracle ユーザーでSQL操作、grid ユーザーでasmcmd操作が可能

■ 1. ASMディスクグループ「ARCH」の確認(SQL)

SQL> SELECT name, state, type, total_mb, free_mb
2 FROM v$asm_diskgroup
3 WHERE name = 'ARCH';

■ 2. 表領域の作成(OMFによる自動管理)

✅ ASMでファイルを作成する場合はOMF(Oracle Managed Files)が自動的に適用されます

■ OMFとは?

OMF(Oracle Managed Files)とは、Oracleがファイル名・格納場所を自動的に決定・管理する機能です。以下のような特徴があります:

項目内容
ファイル名の指定不要+ARCH のようにディスクグループ名だけ指定すればOK
自動命名Oracleが重複しない一意なファイル名を自動で生成(例:ARCH_TBS.256.xxxx)
自動配置ディスクグループ内の適切な場所(例:+ARCH/ORCL/DATAFILE/)に保存
手動管理の手間軽減管理者がファイル名やパスを気にする必要がない

ASMを使用する環境では、OMFはデフォルトで有効です(db_create_file_dest が設定されていなくてもASMに指定することで自動管理されます)。


◾ 表領域を「+ARCH」に作成

SQL> CREATE TABLESPACE arch_tbs
2 DATAFILE '+ARCH'
3 SIZE 100M
4 AUTOEXTEND ON
5 EXTENT MANAGEMENT LOCAL;

✅ ファイル名やパスを指定する必要はありません。Oracleが内部的に次のようなパスを生成します:

+ARCH/ORCL/DATAFILE/ARCH_TBS.256.123456789

■ 3. 表領域の作成結果を確認(SQL)

SQL> SELECT tablespace_name, file_name, bytes/1024/1024 AS size_mb
2 FROM dba_data_files
3 WHERE tablespace_name = 'ARCH_TBS';

出力例:

TABLESPACE_NAME  FILE_NAME                                      SIZE_MB
---------------- ------------------------------------------------ -------
ARCH_TBS +ARCH/ORCL/DATAFILE/ARCH_TBS.256.123456789 100

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


■ 4. asmcmdでASM上のファイルを確認する

◾ gridユーザーでasmcmdを起動

$ su - grid
$ asmcmd

◾ 自動生成されたデータファイルを確認

ASMCMD> cd +ARCH/ORCL/DATAFILE
ASMCMD> ls

出力例:

ARCH_TBS.256.123456789

OracleによってOMFで自動生成されたファイルが確認できます。

SQL> set lin 1000 pages 1000
SQL> col name for a20
SQL> col state for a20
SQL> SELECT name, state, type, total_mb, free_mb
2 FROM v$asm_diskgroup;

NAME STATE TYPE TOTAL_MB FREE_MB
-------------------- -------------------- ------------------ ---------- ----------
DATA CONNECTED EXTERN 30716 28132
ARCH MOUNTED NORMAL 10240 10134

SQL> CREATE TABLESPACE arch_tbs ★表領域を ARCH ディスクグループに作成
2 DATAFILE '+ARCH'
3 SIZE 100M
4 AUTOEXTEND ON
5 EXTENT MANAGEMENT LOCAL;

表領域が作成されました。

SQL> col tablespace_name for a20
SQL> col file_name for a50
SQL> SELECT tablespace_name, file_name, bytes/1024/1024 AS size_mb
2 FROM dba_data_files
3 WHERE tablespace_name = 'ARCH_TBS';

TABLESPACE_NAME FILE_NAME SIZE_MB
-------------------- -------------------------------------------------- ----------
ARCH_TBS +ARCH/V19/DATAFILE/arch_tbs.256.1202475139 100

SQL> exit
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0との接続が切断されました。
[oracle@restart ~]$ su - grid
Password:
Last login: Fri May 30 12:00:00 JST 2025 on pts/0
[grid@restart ~]$ asmcmd
ASMCMD> cd +ARCH/V19/DATAFILE
ASMCMD> ls -l
Type Redund Striped Time Sys Name
DATAFILE MIRROR COARSE MAY 30 12:00:00 Y ARCH_TBS.256.1202475139

■ 5. 既存の表領域にデータファイルを追加する(OMF適用)

SQL> ALTER TABLESPACE users 
2 ADD DATAFILE '+ARCH' SIZE 200M AUTOEXTEND ON;

この場合も、Oracleが以下のようなファイルを自動生成して追加します:

+ARCH/ORCL/DATAFILE/USERS.257.123456790

■ テキスト図:OMFによるASMファイル構造

+ASMディスクグループ: ARCH
└── ORCL/
└── DATAFILE/
├── ARCH_TBS.256.123456789
└── USERS.257.123456790

■ 補足:OMFに関する設定と動作

設定項目内容
db_create_file_dest非ASM環境ではOMFの出力先として設定必須。ASMでは不要。
db_create_online_log_dest_nREDOログのOMF用ディレクトリ。ASMでは +ARCH など指定でOK
control_filesOMFで指定可能(例:+ARCH
ASM + OMF の組み合わせOracle推奨構成。自動配置・自動命名・自動管理が行われる

■ 注意点

内容解説
ASMではパス指定不可/u01/... のようなOSパスは使えない。必ず +ARCH の形式で指定。
表領域作成時はファイル名省略が原則ASM + OMF環境では名前を明示せず、ディスクグループ名だけ指定する。
asmcmdはgridユーザーで使用oracleユーザーからは asmcmd は使えません(権限不足エラーになります)

■ まとめ:ASM + OMFを活用したファイル管理手順

操作内容コマンド例
表領域作成(ASM上)CREATE TABLESPACE arch_tbs DATAFILE '+ARCH' ...
データファイル追加ALTER TABLESPACE users ADD DATAFILE '+ARCH' ...
SQLでファイル確認SELECT * FROM dba_data_files
asmcmdでファイル確認cd +ARCH/ORCL/DATAFILEls
自動命名・自動配置の根拠Oracle Managed Files(OMF)による管理機能


[参考]
Clusterware管理およびデプロイメント・ガイド

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました