# Compaq OpenVMS
Extended File Specifications の手引き

前へ | 次へ | 目次 | 索引

# 2.2 OpenVMS Alpha システム上で Extended File Specifications を有効にする方法

2.2.1 ， 2.2.2 ，および 2.2.3 の各項では，OpenVMS システム上でを活用する方法について説明します。

注意 バージョン 7.2 以前の OpenVMS Alpha を実行しているシステムでは，Extended File Specifications を使用することができません。これらのシステムでは，ODS-5 ボリュームをマウントすることができず，OpenVMS ファイル・システムの拡張ファイル名を利用することができません。

## 2.2.1 RMS の省略時の Extended File Specifications 機能の使用

RMS では，8 レベルを超える深さのディレクトリを使用することができるほか， ODS-2 および ODS-5 ボリュームの両方で，新しい RMS API 拡張機能を使用することができます。ただし，拡張ファイル名を作成できるのは，ODS-5 ボリューム上に限られます。 第 2.2.2 項 には，新しい ODS-5 ボリュームを作成したり，ODS-2 ボリュームを ODS-5 ボリュームに変換するための手順が示されています。

ODS-5 ボリューム上では，拡張ファイル名を使ったファイルを作成することができます。ただし，省略時の設定では，DCL (および一部のアプリケーション) は，必ずしもすべての拡張ファイル名を受け付けるとは限らず，コマンド行に入力された小文字によるファイル名を大文字に変更します。DCL がすべての拡張ファイル名を受け付けるようにするには， 第 3.4.1 項 で説明しているように，DCL に対して拡張解析スタイルを有効にしなければなりません。

付録 B.2 節 には，RMS の Extended File Specifications 機能に関する詳しい情報が示されています。

## 2.2.2 ODS-5 ボリュームを有効にする方法

ODS-5 ボリュームを OpenVMS Alpha システム上に作成するには，システム管理者は次のいずれかを実行しなければなりません。

- 新しいボリュームを ODS-5 として初期化する。

- 既存のボリュームを ODS-2 から ODS-5 に変換する

ODS-5 ボリュームを作成すると， Advanced Server for OpenVMS 7.2 (以前の PATHWORKS) クライアントで ODS-5 の属性を利用できるようになります。これらの属性は， OpenVMS で表示し，管理することができます。

第 2.2.2.1 項 には，新しい OSD_5 ボリュームの初期化の手順が示されています。 第 2.2.2.2 項 には，既存のボリュームを ODS-5 に変換する手順が示されています。

注意 ボリューム・セットに新しいボリュームを追加する予定がある場合は，新しいボリュームの構造レベルがボリューム・セットの構造レベルと一致している必要があります。これらが一致していないと，Mount ユーティリティは次のエラー・メッセージを表示します。
     Structure level on device ... is inconsistent with volume set

### 2.2.2.1 新しい ODS-5 ボリュームの初期化

INITIALIZE コマンドを次の形式で実行することによって，新しいボリュームを ODS-5 ボリュームとして初期化することができます。ボリュームを初期化すると，そのボリューム内の現在の内容は消去されることに注意してください。

    $ INITIALIZE /STRUCTURE_LEVEL=5 device-name volume-label

次に例を示します。

    $ INITIALIZE /STRUCTURE_LEVEL=5 DKA300: DISK1
    $ MOUNT DKA300: DISK1 /SYSTEM
    %MOUNT-I-MOUNTED, DISK1 mounted on _STAR$DKA300:

最初のコマンドは，DKA300: デバイスを ODS-5 ボリュームとして初期化し，ボリューム・ラベル DISK1 を割り当てます。2 番目のコマンドは，この DISK1 ボリュームを公用ボリュームとしてマウントします。

ボリュームが ODS-5 ボリュームとして初期化されたことをチェックするには，次のようなコマンドを実行し，結果を表示します。

    $ WRITE SYS$OUTPUT F$GETDVI ("DKA300:","ACPTYPE")
    F11V5

F11V5 は，このボリュームが ODS-5 であることを示しています。

### 2.2.2.2 既存のボリュームの ODS-5 への変換

既存のボリュームを ODS-5 に変換するには，次の手順を実行します。

1. ボリュームをクラスタ全体からディスマウントします。次に例を示します。

       $ DISMOUNT /CLUSTER DKA300:

2. このボリュームをプライベート・ボリュームとしてマウントします。次に例を示します。

       $ MOUNT DKA300: DISK1
       %MOUNT-I-MOUNTED, DISK1 mounted on _STAR$DKA300:

   /SYSTEM 修飾子を指定しないことにより，システムはこのボリュームを公用ボリュームとしてではなくプライベート・ボリュームとしてマウントします。

3. 次のようなコマンドを実行し，結果を表示すると，ボリュームが ODS-2 ボリュームであることを確認することができます。

       $ WRITE SYS$OUTPUT F$GETDVI ("DKA300:","ACPTYPE")
       F11V2

   F11V2 は，このボリュームが ODS-2 であることを示しています。

4. このボリュームをバックアップしておくことをお勧めします。 第 2.2.3 項 で説明されているように，ボリュームを ODS-5 に変更すると，バックアップ・ボリュームをリストアする以外の方法では ODS-2 形式に戻すことができなくなります。次に例を示します。

       $ BACKUP /IMAGE DKA300: SAV.BCK /SAVE_SET

5. 次の形式でコマンドを使用して，ボリュームの特性を設定します。

       $ SET VOLUME /STRUCTURE_LEVEL=5  device-name

   次に例を示します。

       $ SET VOLUME /STRUCTURE_LEVEL=5 DKA300:

   注意 SET VOLUME コマンドを使用してボリュームを ODS-5 から ODS-2 に変更することはできません。ボリュームを ODS-2 に戻す方法については， 第 2.2.3 項 の手順を参照してください。 SET VOLUME/STRUCTURE_LEVEL コマンドを実行した後で障害が発生した場合は，手順 5 以降の説明を参照してください。

   SET VOLUME コマンドを実行すると，システムは次のテストを行って，このボリュームを変換できるかどうかをチェックします。

   - デバイスはディスクでなければならず，そのディスク上の構造は ODS-2 または ODS-5 でなければならない。
     ボリュームがこれらのテストに失敗すると，システムは次のようなメッセージを表示する。

         %SET-E-NOTMOD, DKA300: not modified
         -SET-E-NOTDISK, device must be a Files-ll format disk

         %SET-E-NOTMOD, DKA300: not modified
         -SET-W-INVODSLVL, Invalid on-disk structure level

   - ディスクはプライベート・ディスクとして所有されていなければならず，所有者のプロセス識別番号 (PID) は，SET VOLUME コマンドを実行したプロセスのものと同一でなければならない。
     ボリュームがこれらのテストに失敗すると，システムは次のようなメッセージを表示する。

         %SET-E-NOTMOD, DKA300: not modified
         -SET-W-NOTPRIVATE, device must be mounted privately

   - マウント・カウントは，このデバイスがマウントされたのはただ 1 回だけであることを示していなければならない。これにより，このデバイスがクラスタにマウントされることを防ぐことができる。
     ボリュームがこれらのテストに失敗すると，システムは次のようなメッセージを表示する。

         %SET-E-NOTMOD, DKA300: not modified
         -SET-W-NOTONEACCR, device must be mounted with only one accessor

6. 次のようなコマンドを実行してプライベート・ボリューム DKA300: をディスマウントし，公用ボリュームとして再マウントします。

       $ DISMOUNT DKA300:
       $ MOUNT /CLUSTER DKA300: DISK1
       %MOUNT-I-MOUNTED, DISK1 mounted on _STAR$DKA300:

   ボリュームが ODS-5 に変換されたことをチェックするには，次のようなコマンドを実行し，結果を表示します。

       $ WRITE SYS$OUTPUT F$GETDVI ("DKA300:","ACPTYPE")
       F11V5

   F11V5 は，このボリュームが ODS-5 であることを示しています。

障害が起こった場合...

SET VOLUME/STRUCTURE_LEVEL コマンドを入力した後で，しかもコマンドが実行される前に入出力エラーのような障害やシステムのクラッシュが発生した場合は，ボリュームの一部だけが更新されている可能性があります。この場合は，MOUNT コマンドを入力すると，Mount ユーティリティは次のいずれかのエラー・メッセージを表示します。

         Inconsistent file structure level on device ...

         Structure level on device ... is inconsistent with volume set

どちらかの条件があてはまる場合には，/NOSHARE 修飾子を使ってのみ (あるいは， /NOSHARE は省略時の修飾子であるため，修飾子なしで) MOUNT コマンドを実行できます。これにより，システムは同じエラー・メッセージを，今度は警告として表示します。

エラー状態から復旧するには，SET VOLUME/STRUCTURE_LEVEL=5 コマンドを再実行します。次に，ディスクをディスマウントし，再マウントします。他に方法がない場合には，以前に作成したバックアップ・ボリュームをリストアすることもできます。

## 2.2.3 ODS-5 から ODS-2 への変換

ファイルおよびマージという 2 種類の BACKUP 操作は，ODS-5 ファイル・イメージから ODS-2 ファイル・イメージへの変換をサポートしています (ファイルおよびマージ操作については，『OpenVMS システム管理者マニュアル』のバックアップの章で説明しています。)。

この後の説明の例では，セーブ・セットとの間で変換を実行すると，変換されたファイルについて， "created as" または "copied as" メッセージが表示されることに注意してください。

- イメージ操作中の変換

  - ODS-5 イメージのセーブ・セットを ODS-2 ディスクにリストアする

    この方式は，ODS-5 ディスクのイメージ・バックアップがあり，それを ODS-2 ディスクにリストアする場合に使用できます。

    次の例のコマンド行では，IMAGE.BCK が ODS-5 セーブ・セット， DKA200: が ODS-2 ディスクです。この変換方式を使用するには，出力ディスクを ODS-2 にあらかじめ初期化しておき，コマンド行に /NOINIT 修飾子を含めなければなりません。

        $ BACKUP/LOG/IMAGE/CONVERT DKA500:[000000]IMAGE.BCK/SAVE -
        _$ DKA200:/NOINIT

        %BACKUP-I-ODS5CONV, structure level 5 files will be converted to structure
                level 2 on DKA200:
        -BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
                file attributes
        %BACKUP-S-CREATED, created DKA200:[000000]000000.DIR;1
        %BACKUP-S-CREATED, created DKA200:[000000]BACKUP.SYS;1
        %BACKUP-S-CREATED, created DKA200:[000000]CONTIN.SYS;1
        %BACKUP-S-CREATED, created DKA200:[000000]CORIMG.SYS;1
        %BACKUP-S-CREATED, created DKA200:[000000]SECURITY.SYS;1
        %BACKUP-S-CREATED, created MDA2:[000000]TEST_FILES.DIR;1
        %BACKUP-S-CREATEDAS, created DKA200:[TEST_FILES]SUB^_^{DIR^}.DIR;1 as
                DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
        %BACKUP-S-CREATEDAS, created
                DKA200:[TEST_FILES.SUB^_^{DIR^}]SUB^&_~_FILE_~.DAT;1 as
                DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
        %BACKUP-S-CREATEDAS, created
                DKA200:[TEST_FILES]THIS^_IS^_A^_TEST^{_FILE_^}.DAT;1 as
                DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
        %BACKUP-S-CREATED, created DKA200:[000000]VOLSET.SYS;1

  - ODS-5 ディスクを ODS-2 イメージのセーブ・セットに保存する

    この方式は，バージョン 7.2 以前の OpenVMS のバージョンを実行しているシステムで読み込むことのできる ODS-5 ディスクを，ODS-2 ディスクに保存する場合に使用できます。

    次の例では，DKA500: が ODS-5 ディスク，IMAGE.BCK が DKA200: 上の ODS-2 セーブ・セットです。

        $ BACKUP/LOG/CONVERT/IMAGE DKA500: DKA200:[000000]IMAGE.BCK/SAVE

        %BACKUP-I-ODS5CONV, structure level 5 files will be converted to
                structure level 2 on DKA200:
        -BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
                file attributes
        %BACKUP-S-COPIED, copied DKA200:[000000]000000.DIR;1
        %BACKUP-S-COPIED, copied DKA200:[000000]BACKUP.SYS;1
        %BACKUP-S-HEADCOPIED, copied DKA200:[000000]BADBLK.SYS;1 header
        %BACKUP-S-HEADCOPIED, copied DKA200:[000000]BADLOG.SYS;1 header
        %BACKUP-S-HEADCOPIED, copied DKA200:[000000]BITMAP.SYS;1 header
        %BACKUP-S-COPIED, copied DKA200:[000000]CONTIN.SYS;1
        %BACKUP-S-COPIED, copied DKA200:[000000]CORIMG.SYS;1
        %BACKUP-S-HEADCOPIED, copied DKA200:[000000]INDEXF.SYS;1 header
        %BACKUP-S-COPIED, copied DKA200:[000000]SECURITY.SYS;1
        %BACKUP-S-COPIED, copied DKA200:[000000]TEST_FILES.DIR;1
        %BACKUP-S-COPIEDAS, copied DKA200:[TEST_FILES]Sub^_^{Dir^}.DIR;1 as
                DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
        %BACKUP-S-COPIEDAS, copied
                DKA200:[TEST_FILES.Sub^_^{Dir^}]Sub^&_~_File_~.Dat;1 as
                DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
        %BACKUP-S-COPIEDAS, copied
                DKA200:[TEST_FILES]This^_is^_a^_Test^{_File_^}.Dat;1 as
                DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
        %BACKUP-S-COPIED, copied DKA200:[000000]VOLSET.SYS;1

  - ディスクの内容を ODS-2 ディスクに "コピー" する

    この方式は，中間セーブ・セットを作成せずに ODS-5 ディスクから ODS-2 ディスクを作成する場合に使用できます。

    この変換方式を使用するには，出力ディスクを ODS-2 にあらかじめ初期化しておき，コマンド行に /NOINIT 修飾子を含めなければなりません。次の例のコマンド行では，DKA500: が ODS-5 ディスク， DKA200: が ODS-2 ディスクです。

        $ BACKUP/LOG/CONVERT/IMAGE DKA500: DKA200:/NOINIT

        %BACKUP-I-ODS5CONV, structure level 5 files will be converted to
         structure level 2 on DKA200:
        -BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
         file attributes
        %BACKUP-S-CREATED, created DKA200:[000000]000000.DIR;1
        %BACKUP-S-CREATED, created DKA200:[000000]BACKUP.SYS;1
        %BACKUP-S-CREATED, created DKA200:[000000]CONTIN.SYS;1
        %BACKUP-S-CREATED, created DKA200:[000000]CORIMG.SYS;1
        %BACKUP-S-CREATED, created DKA200:[000000]SECURITY.SYS;1
        %BACKUP-S-CREATED, created DKA200:[000000]TEST_FILES.DIR;1
        %BACKUP-S-CREATED, created DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
        %BACKUP-S-CREATED, created DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1
        %BACKUP-S-CREATED, created DKA200:[000000]VOLSET.SYS;1

- ファイル操作中の変換

  - 個別の ODS-5 ファイルを ODS-2 ディスクに "コピー" する

    この変換方式を使用すると，ODS-5 ディスクと ODS-2 ディスクとの間でファイルを変換することができます。たとえば，"コピー" 操作の対象となるディレクトリを，ディスク・ツー・ディスクで選択することができます。

    次の例では，DKA500 が ODS-5 ディスク，DKA200 が ODS-2 ディスクです。

        $ BACKUP/LOG/CONVERT DKA500:[*...]*.*;* DKA200:[*...]*.*;*

        %BACKUP-I-ODS5CONV, structure level 5 files will be converted to
                structure level 2 on DKA200:
        -BACKUP-I-ODS5LOSS, conversion may result in loss of structure level 5
                file attributes
        %BACKUP-S-CREDIR, created directory DKA200:[TEST_FILES.SUB$$DIR$]
        %BACKUP-S-CREATED, created DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1

  - 個別の ODS-5 ファイルを ODS-2 セーブ・セットに保存する

    この方式は，ODS-5 ディスクのファイルを，バージョン 7.2 以前の OpenVMS のバージョンを実行しているシステムで読み込むことのできるセーブ・セットに保存する場合に使用できます。

    次の例では，DKA500 が ODS-5 ディスク，DKA200 が ODS-2 ディスクです。 FILES.BCK は ODS-2 セーブ・セットです。

        $ BACKUP/LOG/CONVERT DKA500:[*...]*.*;* DKA200:FILES.BCK/SAVE

        %BACKUP-I-ODS5CONV, structure level 5 files will be converted to
                structure level 2 on DKA200:
        -BACKUP-I-ODS5LOSS, conversion may result in loss of structure level
                5 file attributes
        %BACKUP-S-COPIED, copied DKA200:[000000]000000.DIR;1
        %BACKUP-S-COPIED, copied DKA200:[000000]TEST_FILES.DIR;1
        %BACKUP-S-COPIEDAS, copied DKA200:[TEST_FILES]Sub^_^{Dir^}.DIR;1 as
                DKA200:[TEST_FILES]SUB$$DIR$.DIR;1
        %BACKUP-S-COPIEDAS, copied
                DKA200:[TEST_FILES.Sub^_^{Dir^}]Sub^&_~_File_~.Dat;1 as
                DKA200:[TEST_FILES.SUB$$DIR$]SUB$_$_FILE_$.DAT;1
        %BACKUP-S-COPIEDAS, copied
                DKA200:[TEST_FILES]This^_is^_a^_Test^{_File_^}.Dat;1 as
                DKA200:[TEST_FILES]THIS$IS$A$TEST$_FILE_$.DAT;1

既存のディレクトリ内でファイル名を変換できない場合には，BACKUP はそのファイル名を変換し，リンクされていない状態のまま残します。これにより，後で ANALYZE /DISK /REPAIR を使って [SYSLOST] ディレクトリに復旧することができます。 [SYSLOST] では，ファイルには ODS-2 準拠の名前がつけられます。さらに BACKUP によって，次のようなメッセージが表示されます。

    %BACKUP-I-RECOVCNT, 5 files could not be converted into a directory on DKA100
    -BACKUP-I-RECOVCMD, use the Analyze/Disk_Structure/Repair command to recover
         files

この場合には，ファイルを [SYSLOST] から適切なディレクトリに移動する必要があります。"created as" ログ・メッセージを参照し，ファイルが論理的に配置されるべき場所を確認し，そこにファイルを手動で格納します。

# 2.3 ODS-5 ボリュームへのアクセスの制御

システム管理者は，次の制約の一方または両方を設定する場合があります。

- VAX 上のユーザが ODS-5 ボリューム上のファイルにアクセスすることを禁止する。

- テストされていないアプリケーションから ODS-5 ディスク上のファイルにアクセスすることを禁止する(特定のユーザが ODS-5 ボリューム上でのこのアクセス制御を無効にできるように，設定することも可能)。

システム管理者は，通常の OpenVMS の個別制御を使用して，これらの制約を設定することができます。詳細については，『OpenVMS Guide to System Security』を参照してください。

2.3.1 および 2.3.2 の項では，ODS-5 ボリュームへのアクセスの制約の例を示しています。

前へ | 次へ | 目次 | 索引