前へ | 次へ | 目次 | 索引 |
本章では,ファイルの保護や操作,そしてデータ転送に関連する項目と作業について説明します。
本章では,次の作業について説明します。
作業 | 参照箇所 |
---|---|
Extended File Specifications 機能とは | 第 10.1 節 |
ODS-5 ボリュームに対するアクセスの制御 | 第 10.2 節 |
ファイル情報の取得 | 第 10.4 節 |
ディスク・ファイルの保護 | 第 10.5.3 項 |
ディスク・ディレクトリの保護 | 第 10.5.4 項 |
磁気テープ・ファイルの保護 | 第 10.5.5 項 |
ディスク・ファイルへのアクセス | 第 10.6 節 |
テープ・ファイルへのアクセス | 第 10.7 節 |
ファイルのコピーおよび転送 | 第 10.8 節 |
さらに,次の項目について説明します。
項目 | 参照箇所 |
---|---|
Extended File Specifications 機能 | 第 10.1 節 |
DCL コマンドとファイル | 第 10.3 節 |
ファイルの保護 | 第 10.5.1 項 |
テープ・ファイル名 | 第 10.7.1 項 |
10.1 Extended File Specifications 機能とは
OpenVMS バージョン 7.2 から,Extended File Specifications が, OpenVMS にこれまであったファイルの命名に関する多くの制限を取り払い,ここで説明するファイル命名機能を完全にサポートするようになりました。さらにこの機能により Compaq Advanced Server for OpenVMS 環境において OpenVMS と Windows NT の双方にまたがる一貫性のあるファイル処理を提供できるようになります。
機能 | 説明 |
---|---|
新オン・ディスク構造 | Extended File Specifications は最新のボリューム・オン・ディスク構造 (ODS): レベル 5 (ODS-5) をサポートする。このディスク構造は拡張ファイル名を使用したファイルの作成と格納の基準を提示する。 |
追加文字セットのサポート | ファイル名の命名に使用できる広範な文字セットをOpenVMS 上で使用することができる。 Extended File Specifications は 8-bit ISO Latin-1 文字 16-bit Unicode (UCS-2) 文字セットを提供する。 |
拡張ファイル命名 | ファイル名は旧来の <39文字>.<39文字> という制限を越え,最大 236 バイトまで。 |
大文字小文字の区別の保存 | Extended File Specifications は, ODS-5 属性で作成されたファイル指定の大文字小文字の区別を保存する。 |
深いディレクトリ階層 | 深いディレクトリ階層のサポートのため最大 512 文字までディレクトリ指定が拡張された。 |
それぞれの機能について詳しくは,『Compaq OpenVMS Extended File Specifications の手引き』を参照してください。
10.1.1 Extended File Specifications 機能の使用
OpenVMS バージョン7.2 から, RMS で ODS-2 と ODS-5 ボリュームの両方で新しい RMS API 拡張の他に, 8 レベル以上の階層のディレクトリを省略値で使用できるようになりました。ただし,拡張ファイル名を作成できるのは,ODS-5 ボリューム上だけです。 第 9.3.3 項 と 第 9.5.5.1 項 では,それぞれ,新しい ODS-5 ボリュームの作成方法と,ODS-2 ボリュームの ODS-5 ボリュームへの変換方法を説明しています。
一旦 ODS-5 に変更すると,プログラムは拡張ファイル名を作成,あるいは読むことができるようになります。ただし,省略時の設定では, DCL (およびアプリケーションのいくつか) はすべての拡張ファイル名を サポートしているわけではありません。 1 DCL は,コマンド行プロンプトに対して小文字で入力されたファイル名を大文字に変更します。 2
1 従来の解析スタイルでも,DCLは一部で ODS-5 ファイル名を受け付けることができた。例えば,DCL は x.x.x という形式を受け付けることができた。2 一部のアプリケーションでは,アプリケーションのプロンプトに対してユーザがタイプしたファイル名を読むために内部的に DCL を使用している。 |
Extended File Specifications 解析機能の有効化
DCLがすべての拡張ファイル名を受け付られるように, Extended File Specifications のファイル名解析機能を有効にしておく必要があります。 OpenVMS Alpha システムでは,次のDCL コマンドを入力してプロセス単位で ODS-5 ファイル名を受け付けさせることができます。
$ SET PROCESS/PARSE_STYLE=EXTENDED |
ユーザがコマンドを入力すると,DCL は次のようなファイル名を受け付けるようになります。
$ CREATE MY^[FILE |
解析スタイルについて詳しくは,『Compaq OpenVMS DCL ディクショナリ』を参照してください。『OpenVMS Record Management Services Reference Manual』には, RMS の省略時の Extended File Specifications 機能について追加情報があります。
10.1.2 Extended File Specifications に対するユーザの期待の設定
ODS-2 と ODS-5 ファイル名の違いについて,システム管理者があらかじめ説明しておくと, ユーザは Extended File Specifications を理解しやすくなるでしょう。ファイル名の違いは,ODS-2 から ODS-5 方式に変更した場合にとくに顕著に現れます。
使用法に関してのガイド書を配布しておくとユーザに便利です。ガイド書の内容は,次のカテゴリにわけて作成します。
10.1.2.1 新しい Extended File Specifications の特徴
ここでは,新しい Extended File Specifications の特徴に関して,ユーザにあまり知られていない項目について説明します。
ODS-5 ファイルを ODS-5 ボリューム上に配置するためには, ディスクが ODS-2 ボリュームなのか ODS-5 ボリュームなのかを確認する必要があります。
次のようなコマンドを入力すると,ボリュームのタイプが表示されます。
$ SHOW DEVICE DKA500:/FULL Disk AABOUT$DKA500:, device type DZ25 Disk, is online, allocated, deallocate on dismount, mounted, file-oriented device, shareable. Error count 0 Operations completed 155 . . . Volume Status: ODS-5, subject to mount verification, file high-water marking, write-back caching enabled. $ SHOW DEVICE DKA200:/FULL Disk AABOUT$DSA200:, device type RZ25 Disk, is online, allocated, deallocate on dismount, mounted, file-oriented device, shareable. Error count 0 Operations completed 232 . . . Volume Status: ODS-2, subject to mount verification, file high-water marking, write-back caching enabled. |
それぞれのコマンドを実行すると, Volume Status: と表示された項目がありますが,これはボリュームが ODS-5 か ODS-2 かを表示しています。
ODS-2 ボリューム上で ODS-5 拡張ファイル名を使用したファイル名 を持つファイルは作成できません。
次の例の DKA200: は ODS-2 ボリュームで,解析スタイルは EXTENDEDです。このため RMS はエラー・メッセージを返します。
$ SET DEFAULT DKA200:[TEST] $ CREATE x.x.x.x %CREATE-E-OPENOUT, error opening DKA200:[TEST]X^.X^.X.X; as output -RMS-E-CRE, ACP file create failed -SYSTEM-W-BADFILEVER, bad file version number |
ODS-5 ボリュームでは, 1つのファイルのすべてのバージョンについて,大文字小文字の区別は統一されます。大小文字の区別は最初にファイルが作成された際のファイル名で格納されます。
次の例で,このディスクは ODS-5 です。
$ SET DEFAULT DKA500:[TEST] $ SET PROCESS /PARSE_STYLE=EXTENDED $ CREATE myfile.txt [Ctrl/Z] $ CREATE MYFILE.TXT [Ctrl/Z] $ DIRECTORY Directory DKA500:[TEST] myfile.txt;2 myfile.txt;1 |
大文字小文字の区別の保存と,Extended File Specifications での無視に注意
ODS-5 ディスクは,最初に入力された形でファイル名を格納するが,しかしファイルを検索する際にはこの大文字小文字の区別を無視するという点に注意する必要があります。同様に,比較をする際には例えば,DCL コマンド・プロシージャ内で DCL の文字列操作機能である .EQS.や F$LOCATEを使用する場合に注意を要します。
次の例は,DCLによってファイル名の大文字小文字の区別を無視した検索が行われたもので,非常に重要な例です。このプログラムでは,大文字小文字を区別する検索を指示する引数は指定しておらず,逆に大文字小文字の区別を無視する検索を指示する引数を指定していることに注意してください。
このプログラムは F$SEARCHを使ってファイル・タイプ .TXTを持つすべてのファイルを検索しようとしています。 RMS は (および,そのために F$SEARCHも) 大文字小文字の区別を無視した検索を行うので, F$SEARCHは .txtをファイル・タイプに持つファイルも同様に検索してしまいます。そこで F$SEARCHは, F$LOCATEを使い,ファイル名 TESTを持つファイルを検索します。 F$LOCATEは大文字小文字を区別した比較を行うため,最初にファイル名の文字列すべてを大文字に変換しない限りこの検索は意図通りに行なわれません。
$ case_blind = 0 $ if p1 .nes. "" then case_blind = 1 (1) $loop: $ file = f$search("*.TXT;") (2) $ if file .eqs. "" then goto not_found $ write sys$output "Search returns " + file $ if case_blind .eq. 1 then file = f$edit(file,"UPCASE") (3) $ if (f$locate("TEST",file) .ne. f$length(file)) then goto found (4) $ goto loop $found: $ write sys$output "Found a file matching TEST" $ exit $not_found: $ write sys$output "Did not find file matching TEST" $ exit |
次の例は,プログラムを実行した際の出力です。
$ @test Search returns DKA300:[FISHER]test.txt;1 Did not find file matching TEST $ @test case-blind Search returns DKA300:[FISHER]test.txt;1 Found a file matching TEST |
CONDENCED ファイル名で別個にリストされる短縮ディレクトリ名と完全ディレクトリ名
一部のシステム・ユーティリティと DCL コマンド,たとえば DIRECTORY コマンドでは,ファイル名をどのように表示するかを切り替えるスイッチを持っています。
次の例は 1 つの CONDENSED ディレクトリ名を示します。DIRECTORY コマンドは, DID で短縮されたディレクトリ名と短縮されていないディレクトリ名を違うものとみなすので,短縮が発生したときには,別個にヘッダを生成します。
$ DIR/STYLE=CONDENSED Directory DKA300:[DEEPER.aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii._ten.aaaa. bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii._ten.aaaa.bbbb.cccc.dddd.eeee.ffff.gggg. hhhh.iiii._ten.aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii._ten](1) aaaa.txt;1 Total of 1 file. Directory DKA300:[528,7036,0](2) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.txt;1 Total of 1 file. Grand total of 2 directories, 2 files.(3) |
DIRECTORY コマンドについて詳しくは,『Compaq OpenVMS DCL ディクショナリ』を参照してください。
10.1.2.2 ODS-2 と ODS-5 の混在使用
この節では,クラスタ内で ODS-2 と ODS-5 を同時に使用する場合の注意点について説明します。
ODS-2 と ODS-5 の両方のボリューム上での ODS-2 と ODS-5 ファイル名の非互換の問題を避けるため,また 以前のバージョンの OpenVMS との下位互換性を保証するため, 従来の ODS-2 ファイル名だけを使用してください。
解析スタイルの違いによってユーザに表示されるエラーが変化する場合があります。従来 DCL レベルで処理されてきた構文エラーは,例えば解析スタイルが EXTENDEDの場合,現在では RMS と XQP に送られます。 この結果,ファイルの構文エラーの発生に対してユーザが受け取るメッセージは解析スタイルとボリューム構造によって多少異なることがあります。
次の例はエラー・メッセージが異なる場合の例です。
$ SHOW DEVICE DKA500:/FULL Disk AABOUT$DKA500:, device type RZ25 Disk, is online, allocated, deallocate on dismount, mounted, file-oriented device, shareable. Error count 0 Operations completed 155 . . . Volume Status: ODS-5, (1) subject to mount verification, file high-water marking, write-back caching enabled. $ SET PROCESS /PARSE_STYLE=TRADITIONAL (2) $ OPEN /WRITE FILE z.z.z.z %DCL-W-PARMDEL, invalid parameter delimiter - check use of special characters \.Z\ (3) $ SET PROCESS /PARSE_STYLE=EXTENDED (4) $ OPEN /WRITE FILE z.z.z.z $ (5) |
Disk AABOUT$DKA200:, device type RZ25 Disk, is online, allocated, deallocate on dismount, mounted, file-oriented device, shareable. Error count 0 Operations completed 232 . . . Volume Status: ODS-2, (1) subject to mount verification, file high-water marking, write-back caching enabled. $ SET PROCESS /PARSE_STYLE=TRADITIONAL (2) $ OPEN /WRITE FILE z.z.z.z %DCL-W-PARMDEL, invalid parameter delimiter - check use of special characters \.Z\ (3) $ SET PROCESS /PARSE_STYLE=EXTENDED (4) $ OPEN /WRITE FILE z.z.z.z %DCL-E-OPENIN, error opening -RMS-E-CRE, ACP file create failed (5) -SYSTEM-W-BADFILEVER, bad file version number |
$ SHOW DEVICE DKA500:/FULL Disk AABOUT$DKA500:, device type RZ25 Disk, is online, allocated, deallocate on dismount, mounted, file-oriented device, shareable. Error count 0 Operations completed 155 . . . Volume Status: ODS-5, (1) subject to mount verification, file high-water marking, write-back caching enabled. $ SET PROCESS /PARSE_STYLE=TRADITIONAL (2) $ CREATE a^<b.c %DCL-W-PARMDEL, invalid parameter delimiter - check use of special characters \^\ (3) $ SET PROCESS /PARSE_STYLE=EXTENDED (4) $ CREATE a^<b.c %CREATE-E-OPENOUT, error opening a^<b.c as output -RMS-F-SYN, file specification syntax error (5) |
前へ | 次へ | 目次 | 索引 |