2016-06-23 4 views
0

私は2つの質問を受けました まず、サーバーと1台のクライアントでALTER SYSTEM FLUSH SHARED_POOLコマンドを実行するのはかなり違いますか?私の会社では、彼らは私がコマンドをサーバで直接実行しなければならないと私に教えていますが、私はネットワークのための命令であり、フラッシュされるメッセージだと思います。大量のデータがあると、約5分ぐらいの時間をフラッシュするシステムがありますalter system flush shared_pool oracle

もう1つ、インスタンスを別のインスタンスからどのようにフラッシュできますか?

+2

このコマンドを実行するようにすると、定期的に行うことになります。しかし、あなた(または実際にはDBA)は実際には非常に極端な状況下でのみそのコマンドを実行するべきです。私は本当にあなたが生産でそれをやっていないことを願っています、それは基本的にパフォーマンスのキラーです。 – sstan

答えて

2

ALTER SYSTEM FLUSH SHARED_POOL;はどこからでも実行できますが、問題はありません。

データベースに接続するDBAの数は、おそらくサーバーから実行するように教えてくれるかもしれません。そのコマンドは通常は DBAによって実行され、多くのDBA は通常であり、サーバからすべてを実行します。

私は部分的に@sstanに反対 - 共有プールをフラッシュすることは生産に稀である必要があり、それは開発に比較的共通していてもよいです。共有プールとバッファー・キャッシュをフラッシュすると、実行中のクエリが「寒い」のを模倣するのに役立ちます。

私はあなたの2番目の質問を理解していません。リモートでコマンドを実行する方法を尋ねていますか?その場合、データベースリンクを介して実行することができます。

begin 
    [email protected]_link('alter system flush shared_pool'); 
end; 
/
+0

私はジュニアDBAですが、私たちはクライアントからいくつかのタスクを実行しますが、サーバーからのそのタスクは、実際に大きな違いがあるかどうかをどのようにテストできますか?二回目の湧き出るような答えを見ていたのですが、同じコマンドでALTER KILL SESSION '130,620、@ 2'のようなものでした。 –

+0

2回目にコマンドを実行すると、はるかに高速になるため、テストするのは難しいでしょう。 1日に1回、クライアントとサーバー上での実行を交互に実行し、それをX回繰り返してから、実行時間の平均を取る必要があります。しかし、私はそれをテストしても気にしないだろう - 私は*そのコマンドが実行される場所によって時間がかかる*理由*を想像することはできません。私は、クライアントがデータを転送していない限り、遅く実行されるコマンドを見たことがない。このコマンドはデータを転送しない。 –

+0

私は、共有バッファをずっと速く等しく毎回ロードする方法を見ていきます。そして、それらがパラメータをフラッシュするのがより難しくなるように変更するかどうかを確認します –