10 レポートデータベースの構成

Oracle HSM では、指定されたファイルシステムのすべてのファイルの現在のメタデータ情報を格納する、オプションのレポートデータベースがサポートされています。このサイドバンドデータベースは、ファイルやファイルシステムのアクティビティーの管理とレポートに非常に役立つ場合があります。

Oracle HSM サイドバンドデータベースの実装は簡単です。samdb コマンドを使用して、提供されるデータベーススキーマ (または代替のカスタムデータベーススキーマ) および samfsdump コマンドによって生成される回復ポイントファイルによって、MySQL データベースを作成および構成します。Oracle HSM デーモンプロセスは、対応するファイルシステムが変更されると、データベースを自動的に更新します。追加の samdb コマンドを使用すると、データベースのクエリーや管理を実行できます。コマンドやオプションの完全な詳細については、samdb および samdb.conf のマニュアルページを参照してください。

サイドバンドデータベース機能を使用するには、次のタスクを実行します。

MySQL サーバーソフトウェアのインストールおよび構成

samdb のレポート機能を有効にするには、MySQL データベースをインストールして構成する必要があります。次のように進めます。

  1. http://dev.mysql.com/doc/ から『MySQL Reference Manual』をダウンロードします。

    samdb のレポートを有効にする際に必要な MySQL タスクを特定するには、次の手順を使用します。ただし、次の手順はもともと完全ではなく、正式なものでもありません。これらは、『MySQL Reference Manual』を参照する際のガイドとして使用してください。

  2. MySQL サーバーをホストするシステムに root としてログインします。

    MySQL サーバーは、Oracle HSM メタデータサーバーホストにインストールすることも、独立した Solaris または Linux ホストにインストールすることもできます。

    この例では、Solaris ホスト samsql に MySQL をインストールします。

    [samsql]root@solaris:~# 
    
  3. MySQL Reference Manual』の指示に従って、MySQL サーバーソフトウェアをダウンロードしてインストールします。自動起動を有効にします。

  4. mysql クライアントと root ユーザーアカウントを使用して MySQL サーバーに接続します。コマンド mysql --user=root -p を使用します。プロンプトが表示されたら、インストール中に root ユーザーに割り当てたパスワードを入力します。

    mysql コマンドシェルが起動します。

    [samsql]root@solaris:~# mysql --user=root -p
    Enter Password:
    mysql>
    
  5. Oracle HSM MySQL ユーザーを作成します。コマンド CREATE USER 'user_name'@'host_name' IDENTIFIED BY 'user-password' を使用します。ここでは:

    • user_name は Oracle HSM MySQL ユーザーの名前です

    • MySQL を Oracle HSM メタデータサーバーホストにインストールした場合、host_namelocalhost です。それ以外の場合は、メタデータサーバーのホスト名または IP アドレスです。

    • user-password は、Oracle HSM MySQL ユーザーに割り当てるパスワードです。

    この例では、Oracle HSM メタデータサーバー samqfs1mds 上にユーザー samsql を作成します。設定するユーザーパスワード samsqluserpassw0rd はデモ用です (これは、本番データベース用としてはセキュアな選択肢ではありません)。

    [samsql]root@solaris:~# mysql --user=root
    Enter Password:
    mysql> CREATE USER 'samsql'@'samqfs1mds' IDENTIFIED BY 'samsqluserpassw0rd'
    mysql> 
    
  6. Oracle HSM ユーザーに必要な権限を付与します。コマンド GRANT CREATE,DROP,INDEX,SELECT,INSERT,UPDATE,DELETE ON host_name TO 'user_name'@'host_name' を使用します。

    この例では、メタデータサーバー samqfs1mds 上のユーザー samsql に権限を付与します。

    [samsql]root@solaris:~# mysql --user=root -p
    Enter Password:
    mysql> CREATE USER 'samsql'@'host_name' IDENTIFIED BY 'samsqluserpassw0rd'
    mysql> GRANT CREATE,DROP,INDEX,SELECT,INSERT,UPDATE,DELETE ON samqfs1mds TO \ 
    'samsql'@'samqfs1mds'
    mysql> 
    
  7. MySQL のコマンドインタフェースを閉じ、オペレーティングシステムのコマンドシェルに戻ります。MySQL コマンド QUIT を使用します。

    [samsql]root@solaris:~# mysql --user=root -p
    Enter Password:
    mysql> CREATE USER 'samsql'@'host_name' IDENTIFIED BY 'samsqluserpassw0rd'
    mysql> GRANT CREATE,DROP,INDEX,SELECT,INSERT,UPDATE,DELETE ON samqfs1mds TO \ 
    'samsql'@'samqfs1mds'
    mysql> QUIT
    Bye
    root@solaris:~# 
    
  8. 次に、データベースロードファイルを作成します

データベースロードファイルの作成

  1. Oracle HSM メタデータサーバーホストに root としてログインします。

    この例では、ホスト samqfs1mds にログインします。

    [samqfs1mds]root@solaris:~# 
    
  2. すでに最新の回復ポイントファイルがある場合は、回復ポイントファイルの内容からデータベースロードファイルを生成します。コマンド samfsrestore -SZ output-path-name -f recoverypoint-file を使用します。ここでは:

    • -f は、入力ファイルのパス名とファイル名として recoverypoint-file を指定します。

    • -SZ を指定した場合、コマンドは回復ポイントファイルをスキャンし、output-path-name に指定されたパス名とファイル名のあるデータベースロードファイルを出力します。

    詳細については、samfsdump のマニュアルページを参照してください。

    この例では、samqfs1 ファイルシステムの構成時にスケジュールした日次回復ポイントファイル /zfs1/hsmqfs1_recovery/140129 (ファイルシステムの保護の構成を参照) を使用します。データベースロードファイル /root/hsmqfs1dataload に出力を送信します (次のコマンドは 1 行で入力し、改行はバックスラッシュ文字でエスケープします)。

    [samqfs1mds]root@solaris:~# samfsrestore -SZ /root/hsmqfs1dataload -f \
    /zfs1/hsmqfs1_recovery/140129
    
  3. 最新の回復ポイントファイルがない場合は、データベースロードファイルをここで作成します。Oracle HSM ファイルシステムのルートディレクトリに移動します。次に、コマンド samfsdump -SZ output-path-name を使用します。

    詳細については、samfsdump のマニュアルページを参照してください。この例では、/hsmqfs1 ディレクトリに移動します。データベースロードファイル /root/hsmqfs1dataload に出力を送信します。

    [samqfs1mds]root@solaris:~# cd /hsmqfs1
    [samqfs1mds]root@solaris:~# samfsdump -SZ /root/hsmqfs1dataload 
    
  4. 次に、サイドバンドデータベースを作成します

サイドバンドデータベースの作成

  1. MySQL サーバーのホストに root としてログインします。

    この例では、MySQL サーバーは Solaris ホスト samqfs1mds 上にホストされています。

    [samqfs1mds]root@solaris:~# 
    
  2. テキストエディタでファイル /etc/opt/SUNWsamfs/samdb.conf を開きます。

    次の例では、vi エディタを使用します。まず、見出し行をコメントとして追加します。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    
  3. samdb.conf ファイルの最初の列にはファイルシステムのファミリセット名を入力し、そのあとに列区切り文字のコロン (:) を入力します。

    この例では、ファミリセット名 samqfs1 を入力します。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:
    
  4. 2 番目の列には MySQL データベースサーバーのホスト名を入力し、そのあとに列区切り文字のコロン (:) を入力します。

    この例では、Oracle HSM メタデータサーバーホスト samqfs1mds 上でデータベースサーバーを共同でホストしています。したがって、ホスト名 localhost を入力します。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:
    
  5. 3 番目の列には、Oracle HSM ソフトウェアが MySQL データベースへのアクセス時に使用するユーザー名を入力し、そのあとに列区切り文字のコロン (:) を入力します。

    この例では、データベースへのログイン用としてユーザー samqfs を作成しました。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:
    
  6. 4 番目の列には、Oracle HSM ソフトウェアが MySQL データベースへのアクセス時に使用するパスワードを入力し、そのあとに列区切り文字のコロン (:) を入力します。

    この例では、ダミーのパスワード Pˆssw0rd を使用します。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:
    
  7. 5 番目の列には MySQL データベースの名前を入力し、そのあとに列区切り文字のコロン (:) を入力します。

    この例では、データベースの名前を samqfs1db にします。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:samqfs1db:
    
  8. 6 番目の列にはデータベースサーバーの TCP/IP ポートを入力し、そのあとに列区切り文字のコロン (:) を入力します。

    この例では、0 (ゼロ) を入力します。リモートサーバーを使用している場合、ゼロ (または空) の値がデフォルトポート 3306 を指定します。しかし、ここでは localhost を使用しているので、このゼロは単なるプレースホルダーです。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:samqfs1db:0:
    
  9. 7 番目の列には MySQL クライアントフラグを入力し、そのあとに列区切り文字のコロン (:) を入力します。

    MySQL クライアントフラグは通常、0 (ゼロ) に設定されます。しかし、さまざまな組み合わせの値を設定することで、特定の MySQL 機能を有効にできます。詳細は、mysql_real_connect() 関数についての MySQL のドキュメントを参照してください。

    この例では、0 (ゼロ) を入力します。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:samqfs1db:0:0:
    
  10. 8 番目の最後の列には、Oracle HSM ファイルシステムのマウントポイントを入力します。ファイルを保存して、エディタを閉じます。

    この例では、ファイルシステムは /hsmqfs/hsmqfs1 にマウントされます。

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:samqfs1db:0:0:/hsmqfs/hsmqfs1
    :wq
    [samqfs1mds]root@solaris:~# 
    
  11. 新しいデータベースと関連するテーブルを作成します。コマンド samdb create family_set を使用します。ここで family_set は、/etc/opt/SUNWsamfs/mcf ファイルで Oracle HSM ファイルシステムに指定されたファミリセット名です。

    デフォルトのデータベーススキーマは /opt/SUNWsamfs/etc/samdb.schema です。別のものを指定するには、コマンドを samdb create family_set -s schema と入力できます。ここで、schema はスキーマファイルのパスと名前です。

    この例では、デフォルトのスキーマを使用してファイルシステムファミリセット samqfs1 のデータベースを作成します。

    [samqfs1mds]root@solaris:~# samdb create samqfs1 
    
  12. 前の手順で作成したデータベースロードファイルに含まれるデータを、データベースに移入します。コマンド samdb load family_set input_file を使用します。ここで、family_set/etc/opt/SUNWsamfs/mcf ファイルでファイルシステムに指定されたファミリセット名、input_file はデータベースロードファイルのパスと名前です。

    この例では、データベースロードファイル /root/hsmqfs1dataload を使用してファイルシステムファミリセット samqfs1 のデータベースをロードします。

    [samqfs1mds]root@solaris:~# samdb load samqfs1 /root/hsmqfs1dataload
    
  13. データベースの整合性をチェックします。コマンド samdb check family_set を使用します。ここで family_set は、/etc/opt/SUNWsamfs/mcf ファイルでファイルシステムに指定されたファミリセット名です。

    samdb check コマンドは、データベースのエントリをファイルシステムの現在のメタデータと比較します。これは、ロード処理時に発生した不整合があれば指摘し、可能な場合は修正します。

    この例では、データベースロードファイル /root/hsmqfs1dataload を使用してファイルシステムファミリセット samqfs1 のデータベースをロードします。

    [samqfs1mds]root@solaris:~# samdb check samqfs1
    
  14. 次に、データベースサポートが有効な Oracle HSM ファイルシステムをマウントします

データベースサポートが有効な Oracle HSM ファイルシステムのマウント

  1. Oracle HSM メタデータサーバーホストに root としてログインします。

    [samqfs1mds]root@solaris:~#  
    
  2. /etc/vfstab ファイルをバックアップします。

    [samqfs1mds]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    
  3. テキストエディタで /etc/vfstab ファイルを開き、データベースを作成したファイルシステムのエントリにスクロールダウンします。

    次の例では、vi エディタを使用します。samqfs1 ファイルシステムのエントリにスクロールダウンします。

    [samqfs1mds]root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    samqfs1    -        /hsmqfs1  samfs   -     yes      ... ,partial=64
    
  4. /etc/vfstab ファイルの最後の列で、ファイルシステムのマウントオプションリストに sam_db を追加します。その後、ファイルを保存してエディタを閉じます。

    この例では、samqfs1 ファイルシステムのサイドバンドデータベースを有効にします。

    [samqfs1mds]root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    samqfs1    -        /hsmqfs1  samfs   -     yes      ... ,partial=64,sam_db
    :wq
    root@solaris:~# 
    
  5. Oracle HSM アーカイブファイルシステムをマウントします。

    sam_db オプションを使用してファイルシステムをマウントすると、Oracle HSM software は、サイドバンドデータベースを更新するプロセスを起動します。

    この例では、ファイルシステム /hsmqfs1 をマウントします。

    [samqfs1mds]root@solaris:~# mount /hsmqfs1
    
  6. 次に、通知とロギングの構成に進みます。