この章では、データベース・ファイルの作成、データベースの特性の変更、データベースのバックアップおよびリストア、ルーチンの整合性チェック、データの抽出またはロード、およびパフォーマンスの最適化などの一般的なデータベース管理操作について説明します。
GT.Mは、GT.Mデータベース管理、データベースジャーナリング、および論理マルチサイトレプリケーション(LMS)にMペリフェラルインターチェンジプログラム(MUPIP)を使用します。この章では、GT.Mデータベース管理に関するMUPIPコマンドを要約し、ジャーナリングとLMSについて説明したより高度なGT.M機能の基礎となります。
データベースジャーナリングに関するMUPIPコマンドについては、第6章:“GT.M ジャーナリング” を参照してください。
マルチサイトデータベース複製に関するMUPIPコマンドについては、第7章: “データベース複製” を参照してください。
注意 | |
---|---|
2つのMUPIP操作 - INTRPTとSTOP - がプロセス管理機能を実行します。他のすべてのMUPIP操作は、データベースの操作に関連しています。 |
GT.Mのインストール手順は、$gtm_dist で指定されたディレクトリにMUPIPユーティリティプログラムを置きます。
シェルプロンプトで mupipプログラムを実行してMUPIPを起動します。もし、これでもうまくいかない場合は、システム管理者に相談してください(MUPIPでは、$gtm_distがMUPIP実行可能イメージを含むディレクトリを指し示す必要があります)。
$gtm_dist/mupip MUPIP>
MUPIP>プロンプトで、MUPIPはコマンドを要求します。ユーティリティを停止するには、MUPIP > プロンプトに、EXITコマンドを入力します。 MUPIPは一度に1つの操作を実行し、ほとんどの操作の後で自動的に終了します。
mupipプログラム名の後にコマンドラインで追加情報が表示されると、MUPIPはその追加情報をコマンドとして処理します。たとえば、次のようになります:
$gtm_dist/mupip stop 1158
これはMUPIPを開始し、プロセスID(PID)1158でプロセスを停止します。
いくつかのMUPIPコマンドは、グローバルディレクトリに含まれている情報を必要とします。したがって、プロセスはEXIT、INTRPT、JOURNAL、RESTORE、STOPおよびそのオプションを持つコマンドの-fileオプション以外のMUPIPコマンドを使用する前に、有効なグローバルディレクトリにアクセスできる必要があります。
環境変数 gtmgbldir は、アクティブなグローバルディレクトリを指定します。
mumps.gld の gtmgbldir の値は、現在のディレクトリのグローバルディレクトリファイルmumps.gldを探すようにMUPIPに指示します。 グローバル ディレクトリに関する情報については、 “グローバル ディレクトリ エディタ”の章を参照してください。
重要 | |
---|---|
FISは、GT.Mコンポーネントをrootとして実行することを推奨しています。rootとして実行すると、GT.Mコンポーネントはデータベースファイルの所有者とグループを、新しく作成されたジャーナルファイル、バックアップファイル、スナップショットファイル、共有メモリ、セマフォの所有者とグループとして使用します。 さらに、データベースファイルの所有者およびデータベースファイルグループのメンバーとして実行している場合と同様に、結果のファイル、共有メモリ、およびセマフォに対するアクセス権を設定します。 |
注意 | |
---|---|
読み込み専用でマウントされたファイルシステムに存在するGT.Mデータベースに対して読み込み操作を実行できます。ただし、以下の点に注意してください:
|
GT.Mプロセスがデータベースファイルにアクティブにアクセスしているときに、ほとんどのMUPIP操作を実行できますが、一部の操作ではスタンドアロンアクセスが必要です。スタンドアロンアクセスを使用する場合、他のプロセスはデータベースファイルにアクセスできません。同時アクセスを使用する場合、MUPIPがデータベースファイルにアクセスしている間に、他のプロセスがデータベースファイルを読み込んだり更新したりすることができます。いくつかの操作では、データベースファイルの読み込みには同時にアクセスできますが、更新はできません。すべてのMUPIP操作はスタンドアロンアクセスで実行できます。MUPIPがデータベースファイルを操作するときに別のプロセスがデータベースファイルにアクセスすることはけっしてありません。
ほとんどのMUPIP操作では、相互作用するデータベースファイルへの書き込みアクセスが必要です。INTRPTとSTOPは例外ですが、データベースへのアクセスは必要ありませんが、他の権限が必要な場合があります。 読み取りアクセスが必要なEXTRACT。 遭遇した状況とそれが呼び出された修飾子に応じて、書き込みアクセスを必要とする可能性のあるINTEGを使用します。次の表に、MUPIP操作とそのデータベースアクセス要件の一部を示します。
操作 |
MUPIP コマンド |
データベースアクセス要件 |
---|---|---|
バックアップ データベースファイル |
MUPIP BACKUP |
Backupはスタンドアロンアクセスを必要とせず、同時書き込みアクセスは - [NO] ONLINEによって制御されます。 |
データベースファイルの作成と初期化 |
MUPIP CREATE |
スタンドアロン アクセス |
データベースファイルをエンディアン形式から他の形式に変換します(BIGからLITTLEまたはLITTLEからBIGへ) |
MUPIP ENDIANCVT |
スタンドアロン アクセス |
データベースファイルの復旧(例えば、システムクラッシュ後など)、ジャーナルレコードの抽出 |
MUPIP JOURNAL |
スタンドアロン アクセス |
バイストリーム・バックアップファイルからデータベースを復元する |
MUPIP RESTORE |
スタンドアロン アクセス |
プロセスが異常終了した場合、データベースファイルを適切に閉じます。 |
MUPIP RUNDOWN |
スタンドアロン アクセス |
データベースおよびジャーナルファイルの特性を変更 |
MUPIP SET |
MUPIP SETコマンドで-ACCESS_METHOD、-GLOBAL_BUFFERS、-MUTEX_SLOTS、-LOCK_SPACEまたは-NOJOURNALが指定されている場合、または-JOURNALオプションENABLE、DISABLE、またはBUFFER_SIZEのいずれかが指定されている場合は、スタンドアロンアクセスが必要です。 |
バックアップ データベースファイル |
MUPIP BACKUP |
同時アクセス |
BGのデータベースファイルのサイズを増大させる。 |
MUPIP EXTEND |
同時アクセス |
データベースファイルからシーケンシャル(フラットな)ファイルまたはバイナリファイルへデータをエクスポート |
MUPIP EXTRACT |
MUPIP EXTRACTコマンドは同時アクセスで動作しますが、暗黙的にデータベースをフリーズして更新を防止します。したがって、アプリケーションの観点からは、MUPIP EXTRACT操作中にスタンドアロンアクセスを計画することができます。 |
データベースファイルの更新を防止する |
MUPIP FREEZE |
スタンドアロン アクセス |
GDSデータベースの完全性をチェックする |
MUPIP INTEG |
同時アクセスただし、MUPIP INTEGで -FILE が指定されている場合は、スタンドアロンアクセスが必要です |
データをデータベースにインポートする |
MUPIP LOAD |
MUPIP LOADは同時アクセスで動作しますが、データベースのアプリケーション状態が矛盾する可能性があるため、アプリケーションの実行中にMUPIP LOAD操作を実行する意義を常に評価する必要があります。 |
データベースファイルのフラグメンテーションを解消して(最適化)、パフォーマンスを向上させる |
MUPIP REORG |
同時アクセス |
非同期信号をGT.Mプロセスに送る |
MUPIP INTRPT |
非データベース アクセス |
relinkctl(再リンク制御)ファイルおよび関連する共用メモリー・セグメントに関連する情報をレポートします。 |
MUPIP RCTLDUMP |
非データベース アクセス |
GT.Mプロセスを停止 |
MUPIP STOP |
非データベース アクセス |
MUPIPコマンドの一般的なフォーマットは次のとおりです:
mupip command [-qualifier[...]] [object[,...]] [destination]
MUPIPは、コマンドおよび修飾子の略語を許可します。コマンドまたは修飾子を記述する各セクションでは、省略形も表示されます(例:B[ACKUP])。上記のBACKUPで、コマンドラインで使用可能なコマンドの略式バージョンはBです。将来の互換性の問題を回避し、可読性を向上させるには、スクリプトでMUPIPコマンドを使用するときには、少なくとも4文字を指定してください。
大文字と小文字の両方でコマンドを入力できますが(UNIX / Linuxではmupipプログラム名自体は小文字でなければなりません)、この章で使用される表記規則はすべてコマンドの小文字です。もう1つのコンベンションは、コマンド構文の提示です。もしコマンドのフルフォーマットが1行の印刷では長すぎる場合、プレゼンテーションは追加の行に折り返されます。
$ mupip backup -bytestream -transaction=1 accounts,history,tables,miscellaneous /var/production/backup/
MUPIPコマンドを入力すると、可変引数の1つがregion-list(領域のリスト)になります。region-list(領域のリスト)は、コマンドのターゲットを特定し、UNIXワイルドカード "?" と "*" が含まれます。UNIXワイルドカード文字を含むregion-list(領域のリスト)は、UNIXシェルによる不適切な拡張を防止するために、常に "*" などの引用符で囲む必要があります。同様に、ファイル名とディレクトリ名では、アンダーバー(_)以外の非図形文字や大部分の句読点を避けたい場合があります、これは、GT.Mの規則ではなく、UNIXシェルによる不適切な展開のためです。
MUPIP修飾子の値は、コマンド入力行の最大サイズによってのみ制限されます。これは、一部のシステムでは4KB、他のシステムでは64KBまでです。