1

「データベースリンクの作成」を使用して別のデータベースに接続し、データをコピーする SQL スクリプトがあります。

使い終わったら、このデータベースのベース リンクをドロップまたはクローズする必要がありますか? (おそらく、二度と必要ないと仮定して)。

ベストプラクティスは何ですか?

私のチームでは相反する答えがいくつか聞こえてきます。

閉じる必要がある場合、呼び出したときにリンクが確実に閉じられるようにするにはどうすればよいですか。

drop database link somelink;

(接続が開いているというエラーが表示されますが、非同期操作/ジョブを実行していないため、これは奇妙です)。

4

1 に答える 1

6

ベスト プラクティスの観点からは、スクリプトで動的にデータベース リンクを作成することには非常に慎重です。データベース リンクは、他のオブジェクトと同様に、一度作成して複数回参照する必要があります。これが本当に 1 回限りのイベントであり、別のデータベースが廃止される前にデータを抽出している場合、リンクを作成して削除することは理にかなっています。それ以外の場合は、リンクを作成し、それを削除するやむを得ない必要がない限り、次にそれを必要とする可能性のある人のために残します (つまり、短期間リンクを作成するためにセキュリティ グループから例外を受け取っている場合)。時間の)。

コマンドでデータベースリンクを閉じることができます

ALTER SESSION CLOSE DATABASE LINK <<dblink name>>

これは、使い終わってドロップする前に行うのがおそらく良いことです。これにより、リンクをドロップしたときに発生するエラーが解消されます。

于 2010-11-05T21:23:41.827 に答える