この章では、データセット・ファイルで使用される言語について説明します。データセット・ファイルとは、Oracle Secure Backupのバックアップ対象となるデータを記述するテキスト・ファイルです。
この章では、次のトピックについて説明します。
Oracle Secure Backupのデータセット言語により、バックアップするファイルシステム・データを定義するための簡単なテキストベースの手段が提供されます。この言語の特徴は次のとおりです。
コメントは、シャープ記号(#)に続けてどこにでも指定できる。
データセット文は、次の構文を使用する。
statement-name [ statement-argument ]
statement-nameプレースホルダは、1つのデータセット文を表します。データセット文については、「データセット文」を参照してください。
文によっては、ネストしたブロックを始めることができる。ブロック内の文は、ブロックを始めた文に対してのみ適用されます。ネストしたブロックの文は、次の形式になります。
statement-name [ statement-argument ] { statement-name [ statement-argument ] ... }
エスケープ文字は、バックスラッシュ(\)で表され、どこにでも指定でき、この次の文字に特別な意味を持たせないようにできる。
空白行を無視する。
例5-1は、brhost2上の各ディレクトリをバックアップするように記述したデータセット・ファイルのサンプルです。
例5-1 データセットのサンプル
#
# A sample dataset file
#
exclude name *.backup # never back up directories or files
exclude name *~ # matching *.backup and *~
include host brhost2 { # back up host brhost2
include path /usr1/home { # back up /usr1/home on brhost2,
exclude path peter # skip subdirectory peter (relative path)
exclude path /usr1/home/dinesh # also skip subdir dinesh (absolute path)
}
include path /usr2/home # also back up /usr2/home, including
} # all subdirectories
次のトピックについて説明します。
例5-2に、バックアップする4つのホスト・システムを記述した複合データセット・ファイルを示します。/home、/usr、および/usr2ディレクトリ内のすべてのファイルとそれらのディレクトリ内のサブディレクトリのすべてのファイルがバックアップされるように指定しています。
/usr/tmpディレクトリのファイルはすべてデータセットから除外されます。coreという名前のファイルと.bakで終わる名前のファイルも、その存在する場所に関係なく、データセットから除外されます。
データセット・ファイルには、別のデータセット・ファイルのコンテンツを論理的にインクルードできます。include dataset文を使用すると、参照によって別のデータセット・ファイルのコンテンツをインクルードできます。
例5-3に示すcommon-exclusions.dsという名前のデータセット・ファイルのサンプルについて考えてみます。
これらの除外をデータセット・ファイルで使用するには、例5-4に示す文を使用します。
これらの除外を特定のパスのみに適用するには、例5-5に示すようにinclude datasetディレクティブを中カッコで囲んで指定します。
バックアップの有効範囲を定義するには、インクルードのルールに使用する中カッコを使用できます。例5-6では、すべてのサーバーのパス/usr1および/usr2と、brhost3のみの/usr3および/usr4がバックアップされます。なお、中カッコ内のルール間の順序は、ルールに影響しません。
例5-6 中カッコを使用した有効範囲の制限
# Common trees backed up on all servers:
include path /usr1
include path /usr2
# Servers to back up; on brhost3, we also back up usr3 & usr4, too:
include host brhost1
include host brhost2
include host brhost3 {
include path /usr3
include path /usr4
}
追加の中カッコを使用して、ルールの有効範囲をさらに詳細に指定できます。例5-7では、brhost3のみの/usr4から.junkで終わるファイルを除外するように、例5-6を変更しています。
例5-7 ルール・セットの有効範囲の絞込み
# Common trees backed up on all servers:
include path /usr1
include path /usr2
# Servers to back up; on brhost3, back up /usr3 and /usr4, but exclude *.junk
# files in /usr4 only:
include host brhost1
include host brhost2
include host brhost3 {
include path /usr3
include path /usr4 {
exclude name *.junk
}
}
ワイルドカード・パターンをexclude pathまたはexclude name文に指定すると、Oracle Secure Backupリリース10.3では、パス・セパレータを考慮しながらパターン・マッチングが試行されます。たとえば、パターンsrc/*.plを指定すると、src/a.plは除外されますが、src/tmp/b.plは除外されません。
旧リリースのOracle Secure Backupでの除外文のワイルドカード・パターン・マッチングでは、パス・セパレータは考慮されませんでした。たとえば、同じパターンsrc/*.plを指定すると、src/a.plもsrc/tmp/b.plも除外されます。
Oracle Secure Backupを旧リリースからリリース10.3にアップグレードした場合、既存のexclude pathおよびexclude name文は引き続き使用できます。旧リリースのOracle Secure Backupでバックアップから除外されたファイルおよびディレクトリの一部は、現在では除外されません。このため、バックアップ・ファイルは若干大きくなりますが、これまでどおりデータはすべてバックアップされます。