Oracle HSM では、指定されたファイルシステムのすべてのファイルの現在のメタデータ情報を格納する、オプションのレポートデータベースがサポートされています。このサイドバンドデータベースは、ファイルやファイルシステムのアクティビティーの管理とレポートに非常に役立つ場合があります。
Oracle HSM サイドバンドデータベースの実装は簡単です。samdb
コマンドを使用して、提供されるデータベーススキーマ (または代替のカスタムデータベーススキーマ) および samfsdump
コマンドによって生成される回復ポイントファイルによって、MySQL データベースを作成および構成します。Oracle HSM デーモンプロセスは、対応するファイルシステムが変更されると、データベースを自動的に更新します。追加の samdb
コマンドを使用すると、データベースのクエリーや管理を実行できます。コマンドやオプションの完全な詳細については、samdb
および samdb.conf
のマニュアルページを参照してください。
サイドバンドデータベース機能を使用するには、次のタスクを実行します。
samdb
のレポート機能を有効にするには、MySQL データベースをインストールして構成する必要があります。次のように進めます。
http://dev.mysql.com/doc/
から『MySQL Reference Manual』をダウンロードします。
samdb
のレポートを有効にする際に必要な MySQL タスクを特定するには、次の手順を使用します。ただし、次の手順はもともと完全ではなく、正式なものでもありません。これらは、『MySQL Reference Manual』を参照する際のガイドとして使用してください。
MySQL サーバーをホストするシステムに root
としてログインします。
MySQL サーバーは、Oracle HSM メタデータサーバーホストにインストールすることも、独立した Solaris または Linux ホストにインストールすることもできます。
この例では、Solaris ホスト samsql
に MySQL をインストールします。
[samsql]root@solaris:~#
『MySQL Reference Manual』の指示に従って、MySQL サーバーソフトウェアをダウンロードしてインストールします。自動起動を有効にします。
mysql
クライアントと root
ユーザーアカウントを使用して MySQL サーバーに接続します。コマンド mysql
--user=
root
-p
を使用します。プロンプトが表示されたら、インストール中に root
ユーザーに割り当てたパスワードを入力します。
mysql
コマンドシェルが起動します。
[samsql]root@solaris:~# mysql --user=root -p Enter Password: mysql>
Oracle HSM MySQL ユーザーを作成します。コマンド CREATE USER
'
user_name
'
@
'
host_name
'
IDENTIFIED BY
'
user-password
'
を使用します。ここでは:
user_name
は Oracle HSM MySQL ユーザーの名前です
MySQL を Oracle HSM メタデータサーバーホストにインストールした場合、host_name
は localhost
です。それ以外の場合は、メタデータサーバーのホスト名または 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>
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>
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:~#
Oracle HSM メタデータサーバーホストに root
としてログインします。
この例では、ホスト samqfs1mds
にログインします。
[samqfs1mds]root@solaris:~#
すでに最新の回復ポイントファイルがある場合は、回復ポイントファイルの内容からデータベースロードファイルを生成します。コマンド 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
最新の回復ポイントファイルがない場合は、データベースロードファイルをここで作成します。Oracle HSM ファイルシステムのルートディレクトリに移動します。次に、コマンド samfsdump
-SZ
output-path-name
を使用します。
詳細については、samfsdump
のマニュアルページを参照してください。この例では、/hsmqfs1
ディレクトリに移動します。データベースロードファイル /root/hsmqfs1dataload
に出力を送信します。
[samqfs1mds]root@solaris:~# cd /hsmqfs1 [samqfs1mds]root@solaris:~# samfsdump -SZ /root/hsmqfs1dataload
MySQL サーバーのホストに root
としてログインします。
この例では、MySQL サーバーは Solaris ホスト samqfs1mds
上にホストされています。
[samqfs1mds]root@solaris:~#
テキストエディタでファイル /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
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:
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:
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:
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:
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:
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:
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:
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:~#
新しいデータベースと関連するテーブルを作成します。コマンド 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
前の手順で作成したデータベースロードファイルに含まれるデータを、データベースに移入します。コマンド 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
データベースの整合性をチェックします。コマンド samdb check
family_set
を使用します。ここで family_set
は、/etc/opt/SUNWsamfs/mcf
ファイルでファイルシステムに指定されたファミリセット名です。
samdb check
コマンドは、データベースのエントリをファイルシステムの現在のメタデータと比較します。これは、ロード処理時に発生した不整合があれば指摘し、可能な場合は修正します。
この例では、データベースロードファイル /root/hsmqfs1dataload
を使用してファイルシステムファミリセット samqfs1
のデータベースをロードします。
[samqfs1mds]root@solaris:~# samdb check samqfs1
Oracle HSM メタデータサーバーホストに root
としてログインします。
[samqfs1mds]root@solaris:~#
/etc/vfstab
ファイルをバックアップします。
[samqfs1mds]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
テキストエディタで /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
/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:~#
Oracle HSM アーカイブファイルシステムをマウントします。
sam_db
オプションを使用してファイルシステムをマウントすると、Oracle HSM software は、サイドバンドデータベースを更新するプロセスを起動します。
この例では、ファイルシステム /hsmqfs1
をマウントします。
[samqfs1mds]root@solaris:~# mount /hsmqfs1
次に、通知とロギングの構成に進みます。