日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
CREATE/NAME_TABLE |
新しい論理名テーブルを作成します。/NAME_TABLE 修飾子は省略できません。
CREATE/NAME_TABLE テーブル名
テーブル名
作成する論理名テーブルの名前を指定します。テーブル名は 1 文字から 31 文字までの長さで,使用できる文字は,英数字,ドル記号 ($),およびアンダースコア (_) です。テーブル名は大文字でなくてはなりません。小文字を使用した名前を指定すると,すべて大文字に変換されます。このテーブル名は,プロセス・ディレクトリ論理名テーブル (LNM$PROCESS_DIRECTORY) とシステム・ディレクトリ論理名テーブル (LNM$SYSTEM_DIRECTORY) のどちらかに,論理名として登録されます。
CREATE/NAME_TABLE コマンドは新しい論理名テーブルを作成します。そのテーブルがプロセス固有のものであれば,テーブル名は LNM$PROCESS_DIRECTORY ディレクトリ・テーブルに格納されます。共有可能なのもである場合には, LNM$SYSTEM_DIRECTORY ディレクトリ・テーブルに格納されます。すべての新テーブルは親テーブルを持ち,親テーブルによって新テーブルがプロセス固有のものか共有可能なものかが決まります。プロセス固有のテーブルを作成するには,/PARENT_TABLE 修飾子を使用してプロセス固有テーブル ( プロセス・ディレクトリ・テーブル ) の名前を指定します。共有可能なテーブルを作成するには,親テーブルを共有可能テーブルとして指定します。
親テーブルを明示的に指定しない場合には,CREATE/NAME_TABLE コマンドは,親テーブルが LNM$PROCESS_DIRECTORY であるプロセス固有テーブルを作成します。つまり,テーブル名はプロセス・ディレクトリに入れられます。
すべてのテーブルにはサイズ・クォータがあります。このクォータは,テーブルの潜在的な成長を押さえるか,またはテーブルのサイズが仮想的には無制限であることを示すことがあります。/QUOTA 修飾子についての記述で,クォータの指定方法が説明されています。
作成するテーブルのアクセス・モードの指定には,/USER_MODE, /SUPERVISOR_MODE,または /EXECUTIVE_MODE 修飾子を使用します。これらの修飾子を 1 つ以上指定した場合には,最後に指定した修飾子だけが有効です。アクセス・モードを指定しない場合には,スーパバイザ・モードのテーブルが作成されます。
論理名テーブルの削除には,DEASSIGN コマンドを使用します。この時,削除するテーブルの名前を指定し,/TABLE 修飾子にテーブルの名前が入れられたディレクトリ・テーブルを指定します。
論理名テーブルについての詳細は,『OpenVMS システム管理者マニュアル』を参照してください。
/ATTRIBUTES[=(キーワード[,...])]
論理名テーブルの属性を指定します。キーワードを 1 つだけ指定する場合には,括弧を省略できます。/ATTRIBUTES 修飾子を指定しない場合には,属性は設定されません。属性に対しては,次のキーワードを指定できます。
CONFINE テーブルに含まれているテーブル名と論理名が,生成されたサブプロセスにコピーされないことを指定します。このキーワードは,プロセス固有の論理名テーブルを作成している場合にだけ使用できます。 CONFINE 属性を持つテーブルが作成されると,そのテーブルに登録される名前はすべて, CONFINE 属性を持ちます。 NO_ALIAS より特権の低いアクセス・モードでは,現在のディレクトリに同じ名前(論理名または論理名テーブルの名前)を登録できないことを指定します。 NO_ALIAS 属性を指定しなければ,そのテーブルには,より特権の低いアクセス・モードを持つ同じ名前を,「別名」としてつけることができます。 NO_ALIAS 属性を持つテーブルの作成時に,同じモード,またはより特権の低いモードで,同じ名前がその論理名ディレクトリ・テーブルにすでに存在する場合には,この属性によって,この名前は削除されます。 SUPERSEDE 既存のテーブルと同じ名前,同じアクセス・モード,および同じディレクトリ・テーブルの新しいテーブルを指定する場合には,既存のテーブルを削除し,新しいテーブルを作成することを指定します。同じ名前のテーブルがすでに存在するかどうかとは無関係に,新しいテーブルは必ず作成されます(SUPERSEDE属性を指定しない場合には,既存のテーブルが存在すれば,新しいテーブルは作成されません)。この属性は,クラスタ・ワイド論理名テーブル以外のすべてのタイプの論理名テーブルに適用されます。 SUPERSEDE を指定したかどうかに関わらず,次の条件が適用されます。
- 既存のクラスタ・ワイド論理名テーブルと同じ名前およびアクセス・モードの,新しいクラスタ・ワイド論理名テーブルは,既存のテーブルを削除するまでは作成できません。
- 既存の ローカル論理名テーブルと同じ名前およびアクセス・モードの,新しいクラスタ・ワイド論理名テーブルを指定した場合,新しいクラスタ・ワイド論理名テーブルが作成され,ローカル・テーブルとその論理名は削除されます。
/LOG 修飾子を指定した場合や,/LOG 修飾子に対する省略時の設定を使用した場合には,結果を示すメッセージが表示されます。
/EXECUTIVE_MODE
SYSNAM(システム理論名)特権が必要です。エグゼクティブ・モードの論理名テーブルを作成します。エグゼクティブ・モードの論理名テーブル作成時に SYSNAM 特権を持たない場合には,スーパバイザ・モードの論理名テーブルが作成されます。
/LOG (省略時の設定)
/NOLOG
SUPERSEDE 属性が指定されている場合や,同じテーブルがすでに存在していても SUPERSEDE 属性が指定されていない場合に,コマンドの結果を示す情報メッセージを表示するかどうかを制御します。省略時の設定は /LOG で,つまり情報メッセージが表示されます。/PARENT_TABLE=テーブル
親テーブルに対する作成 (C) アクセス権とシステム・ディレクトリへの書き込み (W) アクセス権か,または SYSPRV 特権が必要です。親テーブルの名前を指定します。親テーブルは,作成するテーブルが固有のものなのか共有可能なものなのかを決定します。親テーブルを指定しない場合には,省略時のテーブルとして LNM$PROCESS_DIRECTORY が使用されます。共用可能テーブルの親テーブルは,LNM$SYSTEM_DIRECTORY です。親テーブルは,作成するテーブルと同じかそれよりも高いアクセス・モードでなければなりません。
/PROTECTION=(所有区分[:アクセス・コード][,...])
共有可能テーブルに適用される保護を定義します。
- 所有区分は,システム (S),所有者 (O),グループ (G) またはワールド (W) から指定します。
- アクセス・コードは,読み込み (R),書込み (W),作成(C) または削除 (D) から指定します。
保護コードの指定についての詳細は,『OpenVMS システム・セキュリティ・ガイド』を参照してください。
/PROTECTION 修飾子は,共有可能論理名テーブルに対してだけ適用されます。プロセス固有の論理名テーブルには,適用されません。
/QUOTA=バイト数
論理名テーブルの上限サイズをバイト数で指定します。新しいテーブルに登録される各論理名のサイズは,この上限値から計算されます。新しいテーブルのクォータは,親テーブルのクオータ・ホルダから静的に減算されます。親テーブルのクォータ・ホルダは,テーブル階層を上向きにたどった際に出会う最初の論理名テーブルであり,クォータの明示値とクォータ・ホルダを持っています。 /QUOTA 修飾子を指定しない場合や,/QUOTA=0 を指定する場合には,親テーブルのクォータ・ホルダが作成するテーブルのクォータ・ホルダとなり,新しいテーブルに論理名が登録されるたびに,動的に領域が減らされます。論理名からは空白文字が取り除かれます。/QUOTA 修飾子を指定しない場合や, /QUOTA=0 を指定する場合には,テーブルは無制限のクォータを持ちます。/SUPERVISOR_MODE (省略時の設定)
スーパバイザ・モードの論理名テーブルを作成します。モードを指定しない場合には,スーパバイザ・モードの論理名テーブルが作成されます。/USER_MODE
ユーザ・モードの論理名テーブルを作成します。モードを指定しない場合には,スーパバイザ・モードの論理名テーブルが作成されます。
注意
コマンド・プロシージャを起動し終了すると,ユーザ・モード論理名は自動的に削除されます。
#1 |
---|
$ CREATE/NAME_TABLE TEST_TAB $ SHOW LOGICAL TEST_TAB %SHOW-S-NOTRAN, no translation for logical name TEST_TAB $ SHOW LOGICAL/TABLE=LNM$PROCESS_DIRECTORY TEST_TAB |
この CREATE/NAME_TABLE コマンドは,TEST_TAB という新しいテーブルを作成します。何も指定されていないので,テーブル名は省略時の設定によって,プロセス・ディレクトリに登録されます。最初の SHOW LOGICAL コマンドは省略時の設定によって,プロセス・ディレクトリ・テーブルを検索しないため,TEST_TAB という名前を見つけることができません。したがって,プロセス・ディレクトリを検索するために /TABLE 修飾子を使用します。
#2 |
---|
$ CREATE/NAME_TABLE/ATTRIBUTES=CONFINE EXTRA $ DEFINE/TABLE=EXTRA MYDISK DISK4: $ DEFINE/TABLE=LNM$PROCESS_DIRECTORY LNM$FILE_DEV - _$ EXTRA, LNM$PROCESS, LNM$JOB, LNM$GROUP, LNM$SYSTEM $ TYPE MYDISK:[COHEN]EXAMPLE1.LIS |
この例は,EXTRA という新しい論理名テーブルを CONFINE 属性で作成しています。EXTRA テーブルとその中の論理名は,サブプロセスに引き継がれません。
次に,論理名 MYDISK がテーブル EXTRA に登録されています。MYDISK をファイル指定に使用するには,テーブル EXTRA が RMS によるファイル解析時に検索されなければなりません。このため,EXTRA を等価名の 1 つとして持つプロセス固有の論理名 LNM$FILE_DEV を定義しています ( システムは,装置とファイル指定の論理名展開に LNM$FILE_DEV を検索すべきテーブルへのポインタとして使用し,プロセス固有の LNM$FILE_DEV が定義されていれば,システムのそれに優先して使用します )。 LNM$FILE_DEV の定義後は,EXTRA,プロセス・テーブル,ジョブ・テーブル,グループ・テーブル,システム・テーブルの順に検索され,MYDISK を DISK4 に展開される等価名としてファイル指定に使用できます。
目次 | 索引 |
|