ヘッダーをスキップ
Oracle Secure Backupリファレンス
リリース10.1
B28441-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

D データセット言語

この付録では、データセット・ファイルで使用される言語について説明します。データセット・ファイルとは、Oracle Secure Backupのバックアップ対象となるデータを記述するテキスト・ファイルです。

この章では、次のトピックについて説明します。


関連項目:


データセット言語の概要

Oracle Secure Backupデータセット言語は、Oracle Secure Backupでバックアップするファイル・システム・データを定義するための簡単なテキストベースの方法を提供します。この言語の特徴は次のとおりです。

例D-1は、brhost2上の各ディレクトリをバックアップするように記述したデータセット・ファイルのサンプルです。

例D-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 /usr1/home/peter    # but skip directories peter and dinesh
        exclude path /usr1/home/dinesh
    }
    include path /usr2/home              # also back up /usr2/home, including
}                                        # peter and dinesh if they exist

データセット文

データセットの記述には、次のタイプの文を指定できます。


関連項目:

これらの文を使用して記述するファイルの例については、「データセット・ファイルの例」を参照してください。

after backup

after backup文を使用して、バックアップの完了後、マシン実行可能ファイルまたは翻訳済プログラムを実行するように、Oracle Secure Backupに指示します。before backup文を使用することで、バックアップを始める前に、after backupと同じか異なるプログラムを実行することもできます。これらの文は、データベース・サーバーをシャット・ダウンして再起動するときや、バックアップの開始または終了をユーザーに通知するときなどに役に立ちます。

デフォルトでは、指定した実行可能ファイルが存在しないか失敗した場合、つまりゼロ以外の終了コードが戻された場合に、Oracle Secure Backupではバックアップ・ジョブを停止し、ジョブが失敗したとみなします。

構文

after backup::=
after backup [ optional ] pathname

pathnameプレースホルダは、クライアント・ホスト上で実行するプログラムの名前を表します。NDMPデータ・サービスを使用するバックアップの場合、Oracle Secure Backupでは、管理サーバー上でプログラムを実行します。

optionalキーワードを使用すると、Oracle Secure Backupでは、起動したプログラムから戻された状態や、このプログラムを起動できないことが無視されます。

例D-2では、ディレクトリ/usr2のバックアップ後に、ホストbrhost2上のプログラム/etc/local/nfyに引数/usr2 is being savedを渡すように、Oracle Secure Backupに指示しています。

例D-2 after backup文

include host fserver {
      include path /usr2
      after backup "/etc/local/nfy '/usr2 backup complete'"
}

Oracle Secure Backupでは、任意の指定内容に次の引数を自動的に追加します。

  • トークンafter

  • クライアントの名前

  • バックアップするディレクトリまたはファイルの名前

つまり、Oracle Secure Backupでは、brhost2上のnfyプログラムが、例D-2にあるように自分で入力したように実行されます。

/usr/local/nfy '/usr2 is being saved' after brhost2 /usr2

before backup

before backup文を使用して、バックアップの開始前、マシン実行可能ファイルまたは翻訳済プログラムを実行するように、Oracle Secure Backupに指示します。この文は、after backup文と対応しています。

デフォルトでは、指定した実行可能ファイルが存在しないか失敗した場合、つまりゼロ以外の終了コードが戻された場合に、Oracle Secure Backupではバックアップ・ジョブを開始せず、ジョブが失敗したとみなします。

構文

before backup::=
before backup [ optional ] pathname

pathnameプレースホルダは、クライアント・ホスト上で実行するプログラムの名前を表します。NDMPデータ・サービスを使用するバックアップの場合、Oracle Secure Backupでは、管理サーバー上でプログラムを実行します。

optionalキーワードを使用すると、Oracle Secure Backupでは、起動したプログラムから戻された状態や、このプログラムを起動できないことが無視されます。

例D-3では、ディレクトリ/usr2のバックアップ前に、ホストbrhost2上のプログラム/etc/local/nfyに引数/usr2 is being savedを渡すように、Oracle Secure Backupに指示しています。

例D-3 before backup文

include host brhost2 {
      include path /usr2
      before backup "/etc/local/nfy '/usr2 is being saved'"
 }

Oracle Secure Backupでは、任意の指定内容に次の引数を自動的に追加します。

  • トークンbefore

  • クライアントの名前

  • バックアップするディレクトリまたはファイルの名前

つまり、Oracle Secure Backupでは、brhost2上のnfyプログラムが、例D-3にあるように自分で入力したように実行されます。

/usr/local/nfy '/usr2 is being saved' before brhost2 /usr2

cross all mountpoints

cross all mountpoints文を使用して、ローカル・マウント・ポイントおよびリモート・マウント・ポイントにアクセスします。ローカル・マウント・ポイントは、ローカル・ファイル・システムをマウントするものです。リモート・マウント・ポイントは、ネットワークを介してアクセスされるファイル・システムのローカル・マウントです。デフォルトでは、ファイル・システムのバックアップではマウント・ポイントにアクセスしません。

/home/usr1/loc_dataでローカル・ファイル・システムをマウントし、/home/usr1/rem_dataがネットワーク・ホスト上のファイル・システムのNFSマウント・ポイントであると仮定します。cross all mountpointsを使用して、/home/usr1のバックアップによって、このディレクトリ内のすべてのファイルがローカル、マウントの区別なくバックアップされるように指定できます。

構文

cross all mountpoints::=
cross all mountpoints

例D-4は、ホストbrhost1およびbrhost2の上にあるすべてのローカル・マウント・ポイントおよびリモート・マウント・ポイントにアクセスしています。

例D-4 グローバル・ホストのインクルード

cross all mountpoints
include host brhost1 {
      include path /home/usr1
}
include host brhost2 {
      include path /home/usr2
}

例D-5では、brhost1のパスに含まれるローカルおよびリモートのすべてのマウント・ポイントにアクセスしています。ホストbrhost2のパスに関してはマウント・ポイントにはアクセスしていません。

例D-5 グローバル・パスのインクルード

include host brhost1 {
      cross all mountpoints
      include path /home/usr1
}
include host brhost2 {
      include path /home/usr2
}

例D-6では、ホストbrhost1/home/usr1のパスに含まれるローカルおよびリモートのすべてのマウント・ポイントにアクセスしています。/home/usr2パスに関してはマウント・ポイントにはアクセスしていません。

例D-6 ローカル・パスのインクルード

include host brhost1 {
      include path /home/usr1 {
            cross all mountpoints
      }
      include path /home/usr2
}

cross local mountpoints

cross local mountpoints文を使用して、ローカル(リモートではなく)のマウント・ポイントにアクセスします。

/home/usr1/loc_dataでローカル・ファイル・システムをマウントし、/home/usr1/rem_dataがネットワーク・ホスト上のファイル・システムのNFSマウント・ポイントであると仮定します。cross local mountpointsを使用して、/home/usr1のバックアップによって、/home/usr1/rem_data内のファイルが含まれずに、/home/usr1/loc_data内のファイルが含まれるように指定できます。

構文

cross local mountpoints::=
cross local mountpoints

例D-7では、ホストbrhost1およびbrhost2の各ファイル・システムのローカル・マウント・ポイントのみにアクセスしています。

例D-7 グローバル・ホストのインクルード

cross local mountpoints
include host brhost1 {
      include path /home/usr1
}
include host brhost2 {
      include path /home/usr2
}

例D-8では、ホストbrhost1/home/usr1パスに含まれるローカル・マウント・ポイントにアクセスしていますが、brhost2/home/usr2パスに含まれるマウント・ポイントにはアクセスしていません。

例D-8 グローバル・パスのインクルード

include host brhost1 {
      cross local mountpoints
      include path /home/usr1
}
include host brhost2 {
      include path /home/usr2
}

例D-9では、ホストbrhost1/home/usr2パスに含まれるマウント・ポイントにはアクセスせず、/home/usr1パスに含まれるローカル・マウント・ポイントにアクセスしています。

例D-9 ローカル・パスのインクルード

include host brhost1 {
      include path /home/usr1 {
            cross local mountpoints
      }
      include path /home/usr2
}

cross remote mountpoints

cross remote mountpoints文を使用して、リモート(ローカルではなく)のマウント・ポイントにアクセスします。

/home/usr1/loc_dataはローカル・ファイル・システムのマウント・ポイントで、/home/usr1/rem_dataはネットワーク・ホスト上のファイル・システムのNFSマウント・ポイントであると仮定します。cross remote mountpointsを使用して、/home/usr1のバックアップに、/home/usr1/loc_data内のファイルが含まれずに、/home/usr1/rem_data内のファイルが含まれるように指定できます。

構文

cross remote mountpoints::=
cross remote mountpoints

例D-10では、ホストbrhost1およびbrhost2のファイル・システムのリモート・マウント・ポイントのみにアクセスしています。

例D-10 グローバル・ホストのインクルード

cross remote mountpoints
include host brhost1 {
      include path /home/usr1
}
include host brhost2 {
      include path /home/usr2
}

例D-11では、brhost1/home/usr1パスに含まれるリモート・マウント・ポイントのみにアクセスしています。

例D-11 グローバル・パスのインクルード

include host brhost1 {
      cross remote mountpoints brhost3
      include path /home/usr1
}
include host brhost2 {
      include path /home/usr2
}

例D-12では、/home/usr1パスに含まれるリモート・マウント・ポイントのみと/home/usr2パスに含まれるローカル・マウント・ポイントのみにアクセスしています。

例D-12 ローカル・パスのインクルード

include host brhost1 {
      include path /home/usr1 {
            cross remote mountpoints
      }
      include path /home/usr2 {
            cross local mountpoints
      }
}

exclude name

exclude name文を使用して、ファイル・システム・オブジェクトのうち、右端にあるリーフ名というコンポーネント名をバックアップから除外するように指定します。

構文

exclude name::=
exclude name leafname

Oracle Secure Backupでは、各ファイル・システム・オブジェクトのコンポーネント名を、指定したleafnameと比較し、名前が一致する場合は、そのファイル・システム・オブジェクトをバックアップしません。そのオブジェクトがディレクトリの場合は、Oracle Secure Backupでは、そのディレクトリのコンテンツをバックアップしません。

Oracle Secure Backupでは、*?[または]の特殊文字がエスケープされずにleafnameに含まれている場合は、リーフ名を、UNIX様式のワイルドカード表現として解釈します。leafnameにこれらの文字が使用されている場合は、Oracle Secure Backupでは、名前が一致するかどうかを判断するために、文字列比較を行わずにワイルドカード比較を行います。

例D-13で示すデータセット文では、coreという名前のファイルおよび.backupで終わる名前のファイルを除外します。

例D-13 exclude name文

exclude name *.backup
exclude name core

exclude oracle database files

exclude oracle database files文を使用して、通常はRMANによってバックアップされるOracleデータベース関連のファイル、またはバックアップが推奨されないファイルをすべて除外します。Oracle Secure Backupでは、除外されるファイルが既存のRMANバックアップ計画に含まれているかどうかに関係なく、そのファイルを除外します。

Oracle Secure Backupで除外するファイルのタイプは次のとおりです。

  • データファイル(本番ファイルおよび本番ファイルのイメージ・コピー)

  • 制御ファイル

  • オンラインREDOログおよびアーカイブ済REDOログ

  • フラッシュバック・ログ

  • 変更トラッキング・ファイル

  • バックアップ・ピース

  • tempfile


注意:

RMANを使用したデータベースのバックアップをスケジュールするには、Oracle Enterprise Managerジョブ・スケジューラを使用します。Oracle Secure Backupジョブ・スケジューラは、ファイル・システムのバックアップをスケジュールするために使用します。つまり、Oracleデータベース・ホストをOracle Secure Backupでバックアップするには、Enterprise ManagerとOracle Secure Backupの両方でスケジュールを設定する必要があります。Oracle Secure Backupのスケジュールでexclude oracle files文を使用すると、Oracleデータベース関連のファイルが2回バックアップされることがなくなります。

構文

exclude oracle database files::=
exclude oracle database files

例D-14に示すデータセット・ファイルでは、ホストbrhost2のバックアップからOracleデータベース関連のファイルを除外しています。

例D-14 exclude oracle database files文

exclude name *.backup
exclude name *~
include host brhost2 {
      exclude oracle database files
      exclude path /usr1/home
}

exclude path

exclude path文を使用して、バックアップから除外するファイル・システム・オブジェクトのパス名を指定します。

構文

exclude path::=
exclude path pathname

例D-15に示すデータセット文では、ホストbrhost3D:\Publicディレクトリのバックアップを指定していますが、2つのサブディレクトリはスキップしています。

例D-15 exclude path文

include host brhost3 {
      include path D:\Public {
            exclude path D:\Public\TempJournals
            exclude path D:\Public\TempErrors
      }
}

include dataset

include dataset文を使用して、別のデータセット・ファイルを読み取り、include dataset文を論理的にそのコンテンツに置換するように、Oracle Secure Backupに指示します。この文は、ほとんどのプログラミング言語に見られるinclude文に似ています。

構文

include dataset::=
include dataset dataset_file_name

dataset_file_nameプレースホルダは、1つのデータセット・ファイルまたはデータセット・ディレクトリの名前を表します。データセット・ディレクトリの名前を指定すると、そのディレクトリの各メンバーがOracle Secure Backupによってインクルードされます。

例D-16では、admin/default_rulesディレクトリのすべてのデータセット・ファイルがインクルードされています。

例D-16 include dataset文

include dataset admin/default_rules

include host

include host文を使用して、バックアップするクライアント・ホストの名前を指定します。include host文は、データセット・ファイル内の任意の場所に指定できます。

データセット・ファイルが使用可能であるためには、データセット・ファイル自体かまたはそれにインクルードされるデータセット・ファイルの中に、最低1つのhost文が存在する必要があります。

構文

include host文は、次のいずれかの形式を取ります。

構文1

include host::=
include host hostname

構文2

include host::=
include host hostname {
 statements_that_apply_to_hostname
}

hostnameプレースホルダは、Webツールのインタフェースかあるいはmkhostコマンドまたはrenhostコマンドのいずれかを使用して以前に定義したクライアントの名前を表します。

次のサンプル文は、ホストbrhost2をインクルードしています。

include host brhost2

include path

include path文を使用して、バックアップするファイル・システム・オブジェクトの名前を指定します。


注意:

バックアップ・パスは、バックアップするファイル・システムのパスの最大長を超えて指定することはできません。また、どのような場合でも1023文字を超えることはできません。

構文

include path::=
include path absolute-pathname

absolute-pathnameプレースホルダは、バックアップするファイル・システム・オブジェクトの、ファイル・システムのルートから始まるパス名を表します。スペースを含むパス名は、単一引用符または二重引用符で囲みます。

例D-17に、Windowsシステムに対するinclude path文を示します。パスは、スペースを含んでいるため、二重引用符で囲まれています。

例D-17 Windowsに対するinclude path文

include path "C:\Documents and Settings"

LinuxおよびUnixシステムの場合は、include path文にドライブ指定文字や引用符を使用することはできません。例D-18に、LinuxまたはUNIXシステムに対するinclude path文を示します。

例D-18 Linux/UNIXに対するinclude path文

include path /space        { # include the local root directory
    exclude name core        # but no core files (for UNIX)
    exclude name *~          # and no emacs backup files
}
include path /etc

include host文の中にinclude path文をネストできます。例D-19に示すデータセット文を参照してください。

例D-19 include host文

include host brhost2
include host brhost3
include path /home
include path /project

Oracle Secure Backupでは、データセット・ファイル内の各include path文を解釈して各include host文に適用します。つまり、Oracle Secure Backupでは、brhost2およびbrhost3のホストごとに/homeディレクトリおよび/projectディレクトリをバックアップします。

例D-19の文は、例D-20の文と同じ結果になります。

例D-20 include host文およびinclude path文が記述されたデータセット・ファイル

include host brhost2 {
      include path /home
      include path /project
}
include host brhost3 {
      include path /home
      include path /project
}

例D-21では、ホストbrhost2/homeとホストbrhost3/projectをバックアップしています。

例D-21 include host文およびinclude path文が記述されたデータセット・ファイル

include host brhost2 {
      include path /home
}
include host brhost3 {
      include path /project
}

複数のホストまたはパスを常に一緒にバックアップする場合にのみ、データセット・ファイルに複数のホストまたはパスを記述してください。Oracle Secure Backupのスケジューラおよびオンデマンド・バックアップ機能では、各バックアップ・ジョブを定義する際、パス名ではなくデータセット・ファイル名を使用します。

データセット・ファイルの例

この項では、データセット・ファイルの例を示します。次のトピックについて説明します。

複数ホスト上の複数パスのバックアップ

例D-22に、バックアップする4つのホスト・システムを記述した複合データセット・ファイルを示します。/home/usrおよび/usr2ディレクトリ内のすべてのファイルとそれらのディレクトリ内のサブディレクトリのすべてのファイルがバックアップされるように指定されています。

/usr/tmpディレクトリのファイルはすべてデータセットから除外されます。coreという名前のファイルと .bakで終わる名前のファイルも、その存在する場所に関係なく、データセットから除外されます。

例D-22 複数ホスト上の複数パスのバックアップ

include host brhost1
include host brhost2
include host brhost3
include host brhost4

include path /home
include path /usr
include path /usr/usr2

exclude path /usr/tmp
exclude name core
exclude name *.bak

データセット・ファイル内にデータセット・ファイルを含める

データセット・ファイルには、別のデータセット・ファイルのコンテンツを論理的に含めることができます。include dataset文を使用すると、参照によって別のデータセット・ファイルのコンテンツを含めることができます。

例D-23に示すcommon-exclusions.dsという名前のデータセット・ファイルのサンプルについて考えてみます。

例D-23 common-exclusions.ds

exclude name core
exclude name *~
exclude name *.tmp
exclude name *.temp

これらの除外を別のデータセット・ファイル内で使用するには、例D-24に示す文を使用します。

例D-24 データセット・ファイルを含める

include dataset common-exclusions.ds

これらの除外を特定のパスのみに適用するには、例D-25に示すようにinclude datasetディレクティブを中カッコで囲んで指定します。

例D-25 除外のパスへの適用

include path /home/root            # do not exclude here
include path /home/frank {         # do exclude here
      include dataset common-exclusions.ds
}

バックアップの有効範囲の定義

バックアップの有効範囲を定義するには、インクルードのルールに使用する中カッコを使用できます。例D-26では、すべてのサーバーのパス/usr1/usr2と、brhost3のみの/usr3/usr4をOracle Secure Backupでバックアップします。なお、中カッコ内のルール間の順序は、ルールに影響しません。

例D-26 中カッコを使用した有効範囲の制限

# 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
}

追加の中カッコを使用して、ルールの有効範囲をさらに詳細に指定できます。例D-27では、brhost3/usr4のみから.junkで終わるファイルを除外するように、例D-26を変更しています。

例D-27 ルール・セットの有効範囲の詳細指定

# 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
      }
 }