メモリーからのデータベースのアンロード
TimesTen Scaleoutでは、データベースは作成時にメモリーに自動的にロードされます。データベースは、メモリーにロードされると、明示的にアンロードされるまでメモリー内に残ります。データベースへのすべての接続を閉じても、データベースがメモリーから自動的にアンロードされることはありません。
データベースのアンロードが必要な場合がある1つの理由は、PermSize
属性の値を増加するなど、初期接続属性の値を変更するためです。
メモリーからデータベースをアンロードするには、次のタスクを実行します。
-
データベースにキャッシュ・グループが含まれている場合は、すべてのデータ・インスタンスでキャッシュ・エージェントを停止します。
ttGridAdmin dbCacheStop
により、すべてのデータ・インスタンスまたは指定したデータ・インスタンスでキャッシュ・エージェントを停止します。 -
ユーザー接続に対してデータベースを閉じます。
ttGridAdmin dbClose
コマンドにより、データベースへの新しいユーザー接続を無効にします。 -
すべてのアプリケーションをデータベースから切断します。
ttGridAdmin dbDisconnect
コマンドは、データベースへのすべてのユーザー接続を終了します。 -
データベースをメモリーからアンロードします。
ttGridAdmin dbUnload
コマンドにより、それぞれのホストのメモリーからデータベースの各要素をアンロードします。
database1
データベースのすべてのデータ・インスタンスでキャッシュ・エージェントを停止します。
% ttGridAdmin dbCacheStop database1 -wait
Database database1 : Stopping cache agents.
ユーザー接続からdatabase1
データベースをクローズします。
% ttGridAdmin dbClose database1
Database database1 close started
ノート:
ttGridAdmin dbClose
コマンドでは、データベースへの既存の接続は閉じられず、かわりに、新しいユーザー接続の作成が禁止されます。開かれているすべての接続を個別に終了する必要があります。データベースのクローズは、要素ごとにそのデータ・インスタンスによって個別に実行される非同期操作です。
また、インスタンス管理者は、データベースがクローズされているかどうか関係なく、データベースへの新しい接続をいつでも作成できます。
database1
データベースのすべての要素がユーザー接続に対してクローズされていることを確認します。
% ttGridAdmin dbStatus database1 -element
Database database1 element level status as of Tue Nov 27 13:35:45 PST 2018
Host Instance Elem Status CA Status Date/Time of Event Message
----- --------- ---- ------ –-------- ------------------- -------
host3 instance1 1 loaded stopped 2018-11-27 13:35:43
host4 instance1 2 loaded stopped 2018-11-27 13:35:43
host5 instance1 3 loaded stopped 2018-11-27 13:35:43
host6 instance1 4 loaded stopped 2018-11-27 13:35:43
host7 instance1 5 loaded stopped 2018-11-27 13:35:43
host8 instance1 6 loaded stopped 2018-11-27 13:35:43
ノート:
ttGridAdmin dbStatus
ユーティリティでは、要素のステータスは、要素がユーザー接続に対してクローズされるとオープン済
ではなくロード済
として表示されます。
すべてのアプリケーションをdatabase1
データベースから切断します。ワークロードを停止し、データベースからすべてのアプリケーションを正常に切断する必要があります。データベースからすべてのアプリケーションを個別に切断できない場合は、ttGridAdmin dbDisconnect
コマンドを使用して、データベースからすべてのユーザー接続を切断します。
% ttGridAdmin dbDisconnect database1 -transactional
Database database1 dbDisconnect started
ノート:
-transactional
オプションを指定した場合は、すべてのオープン・トランザクションがコミットまたはロールバックされると、database1
データベースからすべてのユーザー接続が切断されます。-transactional
オプションが失敗したか時間がかかりすぎる場合は、ttGridAdmin dbDisconnect
コマンドの-immediate
オプションを使用することで、すべてのオープン・トランザクションでロールバックを強制的に実行し、アプリケーションを切断します。また、-immediate
オプションですべての接続をクローズできない場合は、-abort
オプションを使用できます。このオプションでは、すべてのアプリケーションを正常に切断することはできないため、データが失われる可能性があります。
ttGridAdmin dbDisconnectStatus
コマンドを使用して切断プロセスのステータスを確認します。
% ttGridAdmin dbDisconnectStatus database1
Database Host Instance Elem State Started
--------- ----- --------- ---- ------------ ------------------------
database1 Complete 2018-11-27T13:38:43.000Z
host3 instance1 1 Disconnected
host4 instance1 2 Disconnected
host5 instance1 3 Disconnected
host6 instance1 4 Disconnected
host7 instance1 5 Disconnected
host8 instance1 6 Disconnected
次に、ttGridAdmin dbStatus
コマンドの-connections
オプションを使用して、データベースへの接続がないことを確認します。
% ttGridAdmin dbStatus database1 -connections
Host Instance ConnId Name Pid Type CHost CAddr CPid
---- -------- ------ ---- --- ---- ----- ----- ----
database1
データベースをアンロードします。
% ttGridAdmin dbUnload database1
Database database1 unload started
データベースのアンロードは、各データ・インスタンスによって個別に実行される非同期的な操作です。データベースへの開かれたユーザー接続がある場合、この操作ではエラーが返されます。
ノート:
ttGridAdmin dbDisconnect -abort
コマンドを使用した場合は、一部の要素が無効化されてttGridAdmin dbUnload
が失敗する可能性があります。ttGridAdmin dbUnload
コマンドの-force
オプションを使用して、アンロードを続行できるようにします。このオプションでは、データが失われる可能性があります。
ttGridAdmin dbStatus
コマンドを使用して、データベース・アンロード・プロセスのステータスを確認できます。次の例のレポートではデータベースのすべての要素がクローズ済およびアンロード済として示されていることに注目してください。
% ttGridAdmin dbStatus database1
Database database1 summary status as of Tue Nov 27 13:41:18 PST 2018
created,unloaded,closed
Completely created elements: 6 (of 6)
Completely loaded elements: 0 (of 6)
Completely created replica sets: 2 (of 2)
Completely loaded replica sets: 0 (of 2)
Open elements: 0 (of 6)
前述のコマンドの詳細は、次を参照してください。
-
『Oracle TimesTen In-Memory Databaseリファレンス』のキャッシュ・エージェントの停止(dbCacheStop)
-
『Oracle TimesTen In-Memory Databaseリファレンス』のデータベースのクローズ(dbClose)
-
『Oracle TimesTen In-Memory Databaseリファレンス』のすべての接続を強制的に切断(dbDisconnect)
-
『Oracle TimesTen In-Memory Databaseリファレンス』のデータベースのアンロード(dbUnload)
-
『Oracle TimesTen In-Memory Databaseリファレンス』のデータベースのステータスのモニター(dbStatus)
-
『Oracle TimesTen In-Memory Databaseリファレンス』の強制切断のステータスの確認(dbDisconnectStatus)