ASMを使用するデータベース

データベースインスタンス初期化パラメータ変更

  • LOG_ARCHIVE_DESTにディスク・グループが指定されている場合、LOG_ARCHIVE_FORMATは無視されます。
  • DB_BLOCK_SIZEは、標準のブロック・サイズ(2KB、4KB、8KB、16KBまたは32KB)である必要があります。
  • LARGE_POOL_SIZEは、1MB以上に設定する必要があります。
  • データベース・ファイルを作成する際にASMをデフォルトの保存先にする場合は、次の1つ以上の初期化パラメータに不完全ASMファイル名を指定する必要があります。
    • DB_CREATE_FILE_DEST
    • DB_CREATE_ONLINE_LOG_DEST_n
    • DB_RECOVERY_FILE_DEST
    • CONTROL_FILES
    • LOG_ARCHIVE_DEST_n
    • LOG_ARCHIVE_DEST
    • STANDBY_ARCHIVE_DEST
  • SHARED_POOL_SIZEに追加するメモリサイズを下記の公式で計算します(Oracle10g新機能 SG BOOKにより)。
    • 外部の冗長性:(DB_SPACE/100+2)MB
    • 通常の冗長性:(DB_SPACE/50+4)MB
    • 高い冗長性:(DB_SPACE/33+6)MB
    • DB_SPACEは下記の方法で計算できます。
SELECT 
 d+l+t DB_SPACE
FROM 
 (SELECT SUM(bytes)/(1024*1024*1024) d FROM v$datafile),
 (SELECT SUM(bytes)/(1024*1024*1024) l FROM v$logfile a, v$log b WHERE a.group#=b.group#),
 (SELECT SUM(bytes)/(1024*1024*1024) t FROM v$tempfile WHERE status='ONLINE');
  • PROCESSESは最低16以上に設定します。

データベースをASMに移行

Oracle Enterprise Manager(OEM):管理タブ→ASMに移行リンクによってGUIで移行を行えます。

手動でデータベースをASMに移行

OSインターフェースで直接にASMファイルにアクセスすることができないので、RMANは手動コピーASMファイルの唯一の方法です。

  • V$CONTROLFILEとV$LOGFILEから現行制御ファイル名とオンラインREDOログ名を取得します。
  • 正常にshutdownデータベース
  • ASM DiskGroupを使用するようにOMF初期化パラメータを修正し、CONTROL_FILESパラメータを削除します(自動に再作成される)。
  • RMAN起動し、下記のコマンドを実行します。
STARTUP NOMOUNT;
RESTORE CONTROLFILE FROM '/u1/c1.ctl';
ALTER DATABASE MOUNT;
BACKUP AS COPY DATABASE FORMAT '+dgroup1';
SWITCH DATABASE TO COPY;
# Repeat command for all online redo log members ...
SQL "ALTER DATABASE RENAME '/u1/log1' TO '+dgroup1' ";
ALTER DATABASE OPEN RESETLOGS;
# Repeat command for all temporary tablespaces
SQL "ALTER TABLESPACE temp ADD TEMPFILE";
SQL "ALTER DATABASE TEMPFILE '/u1/temp1' DROP";
  • 古いデータファイルを削除します。

ASMとTransportable Tablespace

  • ASMと通常ファイルシステムの間、Tablespaceのトランスファーは可能です。
  • DBMS_FILE_TRANSFERパッケージを実行すれば、変換なしにTablespaceをダイレクトにトランスファーができます。
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License