イントロダクション

この章では、データベース・ファイルの作成、データベースの特性の変更、データベースのバックアップおよびリストア、ルーチンの整合性チェック、データの抽出またはロード、およびパフォーマンスの最適化などの一般的なデータベース管理操作について説明します。

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プロセスでデータベースファイルが開かれている間に、読み取り専用ファイルシステムが読み書き可能に切り替えられ、他のプロセスがそれらのデータベースを更新すると、読み取り専用プロセスは不正確または破損したデータを読み取る可能性があります。

  • ファイルシステムが読み取り専用の場合、通常は複数のプロセス間で共有される共有メモリリソースが各プロセスに対してプライベートになるため、同時プロセスが追加されるたびにメモリリソースの使用量が増加します。

  • 読み取り専用ファイルシステム上のデータベースファイルにマップされる領域にマップされた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コマンドの一般的なフォーマットは次のとおりです:

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までです。

inserted by FC2 system