リポジトリの使用

グリッドで、リポジトリは、データベース、データベース・エクスポート、ログ・ファイルと構成ファイルのコレクションのバックアップを格納するために使用されます。TimesTen Scaleoutでは、リポジトリを、各ホストにNFSを使用してマウントされるディレクトリ・パスとして、または各ホストに直接マウントされないディレクトリ・パスとして定義できます。複数のグリッドで1つのリポジトリを使用できます。

リポジトリには複数のコレクションが含められます。コレクションは、データベース、データベース・エクスポート、または保存された一連のデーモン・ログと構成ファイルのバックアップになります。コレクションは、基本的には、コレクションの名前を使用するサブディレクトリとなり、リポジトリ内に格納されます。各コレクションには、ファイルとサブコレクションの組合せを含めることができます。

データベースのバックアップ、データベースのエクスポートおよびログと構成ファイルのコレクションを格納できる十分なファイル・システム領域があるリポジトリを作成してください。

データベースのバックアップやエクスポートまたはデーモン・ログ・コレクションの作成前に、グリッドのリポジトリを作成する必要があります。

TimesTen Scaleoutでは、リポジトリに関する次の手順を実行できます。

リポジトリの作成

データベースのバックアップやエクスポートまたはデーモン・ログ・コレクションの作成前に、グリッドのリポジトリを構成する必要があります。ttGridAdmin repositoryCreateコマンドでは、-methodパラメータの値に応じて、リポジトリを、各ホストにNFSを使用してマウントされるディレクトリ・パスとして、またはSSHやSCPを使用して各ホスト上でアクセス可能なディレクトリ・パスとして作成します。

ノート:

リポジトリに有効な名前の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』グリッド・オブジェクトおよびオブジェクトの命名を参照してください。

すべてのインスタンスが同じネットワーク上にあり、すべてのインスタンスで同じNFSを使用する必要がある場合は、マウント(NFS)方式のみを使用できます。SCP方式はどのシステムでも使用できますが、グリッドの規模が大きくなると、遅くなる場合があります。

ttGridAdmin repositoryCreateコマンドの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』リポジトリの作成(repositoryCreate)を参照してください。

各ホストにNFSを使用してマウントされるディレクトリ・パスとしてのリポジトリの作成

この例では、グリッドの各ホストにNFSを使用してマウントされるディレクトリ・パスとしてリポジトリを作成します。-pathパラメータで指定されたディレクトリが存在し、各要素でインスタンス管理者によってアクセス可能であることを確認してください。このディレクトリでは、すべての要素のマウント・パスが同じであることが必要です。たとえば、ディレクトリ・パスがある要素で/repositoriesにマウントされている場合は、すべての要素で/repositoriesにマウントされている必要があります。

% ttGridAdmin repositoryCreate repo1 -path /repositories -method mount
Repository repo1 created

SSHまたはSCPを使用した各ホスト上でアクセス可能なディレクトリ・パスとしてのリポジトリの作成

この例では、グリッドの各ホストに直接マウントされないディレクトリ・パスとしてリポジトリを作成します。-pathパラメータで指定されたパス値が-addressパラメータで指定されたホストに存在することを確認してください。addressパラメータは、リポジトリが存在するホストの完全修飾ドメイン名です。また、各ホストでscpコマンドを使用して、-pathパラメータで指定されたパス値のファイルにアクセスできることを確認してください。ttGridAdmin gridSshConfigコマンドを使用して、ホストがSSHを介して相互に通信できることを確認できます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』SSHの構成(gridSshConfig)を参照してください。

% ttGridAdmin repositoryCreate repo2 -path /repositories -method scp -address host1.example.com
Repository repo2 created

リポジトリのアタッチ

1つのリポジトリを複数のグリッドで使用できますが、各グリッドがそのリポジトリに関連付けられていることが条件となります。既存のリポジトリがある場合、グリッドの各ホストがリポジトリのパスにアクセスできるかぎり、別のグリッドにアタッチできます。-methodパラメータの値に応じて、リポジトリを、各ホストにNFSを使用してマウントされるディレクトリ・パスとして、またはSSHやSCPを使用して各ホスト上でアクセス可能なディレクトリ・パスとしてアタッチできます。ただし、リポジトリは、作成に使用されたものと同じ-methodでのみアタッチできます。たとえば、-method mountでリポジトリを作成した場合は、-method mountでのみリポジトリを別のグリッドにアタッチできます。

ttGridAdmin repositoryAttachコマンドの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』リポジトリのアタッチ(repositoryAttach)を参照してください。

各ホストにNFSを使用してマウントされるディレクトリ・パスとしてのリポジトリのアタッチ

この例では、グリッドの各ホストにNFSを使用してマウントされるディレクトリ・パスとしてリポジトリをアタッチします。-pathパラメータで指定されたパス値が存在し、グリッドの各ホストでインスタンス管理者によってアクセス可能であることを確認してください。

リポジトリの名前は、リポジトリをアタッチする各グリッドで同じにする必要があります。

% ttGridAdmin repositoryAttach repo1 -path /repositories -method mount
Repository repo1 attached

SSHまたはSCPを使用した各ホスト上でアクセス可能なディレクトリ・パスとしてのリポジトリのアタッチ

この例では、グリッドの各ホストに直接マウントされないディレクトリ・パスとしてリポジトリをアタッチします。各ホストでscpコマンドを使用して、-pathパラメータで指定されたパス値のファイルにアクセスできることを確認してください。addressパラメータは、リポジトリが存在するホストの完全修飾ドメイン名です。

リポジトリの名前は、リポジトリをアタッチする各グリッドで同じにする必要があります。

% ttGridAdmin repositoryAttach repo2 -path /repositories -method scp -address host1.example.com
Repository repo2 attached

リポジトリのデタッチ

TimesTen Scaleoutでは、グリッドで使用する必要がなくなったリポジトリをグリッドから破棄するのではなくデタッチできます。

グリッドからリポジトリをデタッチするには、グリッドからデタッチするリポジトリの名前を指定します。

% ttGridAdmin repositoryDetach repo1
Repository repo1 detached

グリッドからリポジトリをデタッチしても、ディレクトリまたはそのリポジトリのコンテンツは削除されません。

ttGridAdmin repositoryDetachコマンドの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』リポジトリのデタッチ(repositoryDetach)を参照してください。

リポジトリおよびコレクションのリスト

TimesTen Scaleoutでは、グリッドにアタッチされているすべてのリポジトリおよびリポジトリ内のすべてのコレクションのリストを表示できます。

グリッドにアタッチされているすべてのリポジトリのリストを表示するには、次の手順を実行します。

% ttGridAdmin repositoryList
Repository Method Location            Address
---------- ------ ------------------- --------
repo1      mount  /repositories/repo1

グリッドにアタッチされている各リポジトリに含まれているすべてのコレクションのリストを表示するには、次の手順を実行します。

% ttGridAdmin repositoryList -contents
Repository Collection      Type           Date                     Details
---------- -------------   ------------- ------------------------  ------------------
repo1      B20170222145544 Backup         2017-02-22T14:55:48.000Z Database database1
repo1      B20170615142115 Backup         2017-06-15T14:21:20.000Z Database database1
repo2      L20170615143145 gridLogCollect 2017-06-15T14:31:48.000Z
repo2      L20170616102242 gridLogCollect 2017-06-16T10:22:50.000Z

ノート:

リポジトリの名前を追加して、特定のリポジトリに含まれているコレクションのみを表示できます。たとえば、ttGridAdmin repositoryList repo1 -contentsを実行すると、repo1リポジトリのすべてのコレクションが表示されます。

ttGridAdmin repositoryListコマンドの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』リポジトリのリスト(repositoryList)を参照してください。