リポジトリの使用
リポジトリには複数のコレクションが含められます。コレクションは、データベース、データベース・エクスポート、または保存された一連のデーモン・ログと構成ファイルのバックアップになります。コレクションは、基本的には、コレクションの名前を使用するサブディレクトリとなり、リポジトリ内に格納されます。各コレクションには、ファイルとサブコレクションの組合せを含めることができます。
データベースのバックアップ、データベースのエクスポートおよびログと構成ファイルのコレクションを格納できる十分なファイル・システム領域があるリポジトリを作成してください。
データベースのバックアップやエクスポートまたはデーモン・ログ・コレクションの作成前に、グリッドのリポジトリを作成する必要があります。
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)を参照してください。