Oracle Flashback Drop機能について
お世話になっております。
データベースにて、Oracleを利用しております。
その時、MAGIC側の内部処理で、
一時ファイルとして、TEMP_?????のテーブルが作成され、
DROPの命令が実行されたりしているかと思います。(MAGIC内部動作仮定)
その際、Dropが処理されると、OracleのFlashbackDrop機能が働き、
recyclebin(ごみ箱)に退避され、領域が増加していくと思います。
皆様は、FlashbackDrop機能は、OFFで利用しておりますでしょうか。
OFFの場合、動作に影響ないでしょうか。
または、定期的に削除されておりますでしょうか。
その際、どのような方法をとられておりますでしょうか。
環境(参考):
WindowsServer2019 Standard
Oracle 12.2.0.1.0
参考情報として教えて頂けたらと思い、投稿させて頂きました。
よろしくお願いします。
-
Oracleのゲートウェイは何を使っておられますか?Magic添付の純正ゲートウェイですか、それともOracle添付のものか何かですか?
-
tanda様 お世話になります。
Magic添付の純正ゲートウェイです。
特殊な設定は、行っていないつもりです。
Oracleのデータベース作成の際も、デフォルトで作成しております。
また、クライアント側もOracleClientをデフォルトのままインストールしております。
-
> また、クライアント側もOracleClientをデフォルトのままインストールしております。
最近はOracleの検証はあまりやっておりませんが、MagicだけならたしかOracleClientは不要だったはずですよ。
-
tanda様 お世話になります。
>最近はOracleの検証はあまりやっておりませんが、MagicだけならたしかOracleClientは不要だったはずですよ。
以前、VBなどの開発から、OracleClientは、当たり前のようにインストールしております。
不要という発想は、ありませんでした。検証してみます。
-
ISHIJIMA様 お世話になります。
Oracleの機能ですが、このごみ箱の容量が、
表領域の肥大化につながっています。
OFFにすればよいと思いますが、OFFにする前に
このごみ箱の中をクリアする必要があります。
全クリアする勇気もなく、数回に分けて、順次削除が必要と考えております。
ごみ箱機能がONの場合、プログラムでDROPしていなくても、
MAGIC側で内部的にDROPしていると、ごみ箱がたまっていくと思いますが、
仕方ないことと考えるべきでしょうか。
-
ISHIJIMA様 お世話になります。
OFFの方向で、すすめようと思っております。
1件1件削除(1件1件の命令をまとめて)しても、
時間がかからないことが分かりましたで、
順番に削除していこうと思います。
削除した後に、OFFに変更する方向で検討しています。
今回のプログラムは、メモリを利用していないプログラムです・・・。
ご返答ありがとうございました。
-
ISHIJIMA様 お世話になります。
動作環境のソート/一時用データベースの設定は、
メモリになっていません。意識しておりませんでした。
メモリにして、試してみます。
ありがとうございます。
-
ISHIJIMA様 お世話になります。
動作環境のソート/一時用データベースの設定をMemoryに変更しても
recyclebin(ごみ箱)に、TEMP_?????が増えました。
やはり、OFFにする方向で行います。
ありがとうございます。
-
ISHIJIMA様 お世話になります。
伝票の更新(集計)関係ですが、
DELETE文を発行し、INSERT文を発行している処理です。
複数のテーブル(データ)の集計値を1つのSQL文として、
発行しています。
複雑なSQL文の関係と考えております。
-
ISHIJIMA様 お世話になります。
Oracleデータベース上に、TEMP_?????テーブル作成される場合がありますが、
作成される場合と作成されない場合の違いを把握しておりません。
-
ISHIJIMA様 お世話になります。
結果データベースは、Oracleになっています。
-
ISHIJIMA様 お世話になります。
結果データベースをメモリに変更して試してみました。
先程ご返答させて頂きましたDELETE文やINSERT文と思っていましたが、
画面表示(テーブル表示)の際、SELECT文(複数データテーブル??)を利用していると、
TEMP_?????テーブルが作成されるようです。
画面表示のプログラムの、結果データベースをMEMORYに変更したところ、
TEMP_?????テーブルが作成されなくなりました。
また、やはりMEMORYの方が、画面表示が早いようです。
改めて検証して、プログラムの変更をおこないたいと思っております。
ありがとうございます。
-
ISHIJIMA様 お世話になります。
私もそう考えておりました。
OFFもいいのですが、MAGIC側だけで完結したいとも思っておりましたので、
ご指摘頂いた方法で、検証したいと思います。
いろいろとありがとうございました。
-
OracleClient 無しの環境での検証はされましたか?その辺りが重要なポイントになると思います。
-
tanda様 お世話になります。
ご返答ありがとうございます。
OracleClientなしの環境では、MGORACLE.DLLが、読みこめませんでした。
MGORACLE.DLLの中では、OCI.DLLが必要と思われましたので、
OCI.DLLをコピーして試しましたが、うまくいきませんでした。
以前から、OracleClient有りの環境で、行っておりますので、
現在、OracleClient有りの環境で、検証しております。
OracleClient無しの環境で、動作する設定をご教授いただければ幸いです。
-
こんばんわ Nishiさま、
流れに乗ってない感じでもうしわけないのですが
うちでもOracleのデータベースを使っておりまして、10gくらいからそんな感じになりました
ちなみにrecyclebinは領域が不足すると勝手にパージされていると認識していましたが、
もしや残っていて、なにか問題が起きているのでしょうか?
対策した方がよいのか参考までご教授いただければ幸いです
また、DB権限があって無理やりでもかまわないのであれば、
sqlコマンドでパージしてしまうという手も・・?
begin
execute immediate 'purge recyclebin';
end;うちでは夜のシャットダウン時にバックアップのバッチ処理に紛れてpurgeしていることが多いですね
-
vg様 お世話になります。
ISHIJIMA様 お世話になります。
皆様、ご返答ありがとうございます。
実は、ごみ箱に数万件のデータが作成されておりまして、
show recyclebin;
より、一覧を表示させ、
purge table "BIN$・・・・";
1件1件の命令を纏め、業務に差し支えないよう数回に分けて、削除することにしました。
ちなみに、vg様がおっしゃるとおり、未領域がたくさんあるにも関わらず、
領域(微弱ながら)も増え続け、動作も重くなる場合があるようでした。
削除の目処もようやく立ちましたので、
前回、ISHIJIMA様より頂いたアドバイスをもとに、プログラムも変更し、
ごみ箱の増える量を確認してから、OFFにするか、夜間バッチで削除するか、
検討しようと思っておりました。
サインインしてコメントを残してください。
コメント
17件のコメント