メインコンテンツへスキップ

Oracle Flashback Drop機能について

コメント

27件のコメント

  • tanda

    Oracleのゲートウェイは何を使っておられますか?Magic添付の純正ゲートウェイですか、それともOracle添付のものか何かですか?

  • Nishi

    tanda様 お世話になります。

     

    Magic添付の純正ゲートウェイです。

    特殊な設定は、行っていないつもりです。

    Oracleのデータベース作成の際も、デフォルトで作成しております。

    また、クライアント側もOracleClientをデフォルトのままインストールしております。

     

  • tanda

    > また、クライアント側もOracleClientをデフォルトのままインストールしております。

    最近はOracleの検証はあまりやっておりませんが、MagicだけならたしかOracleClientは不要だったはずですよ。

  • Nishi

    tanda様 お世話になります。

    >最近はOracleの検証はあまりやっておりませんが、MagicだけならたしかOracleClientは不要だったはずですよ。

    以前、VBなどの開発から、OracleClientは、当たり前のようにインストールしております。

    不要という発想は、ありませんでした。検証してみます。

     

  • ISHIJIMA

    Oracle Flashback Drop機能はMAGICとは関係ないOracleの機能だと思います。

    ゴミ箱的な機能だと思います。

    誤ってテーブルを削除したとかに復元するみたいな感じですね

    使った事がないのでよくわかりませんがあまり使用しないのかなと・・・

  • Nishi

    ISHIJIMA様 お世話になります。

     

    Oracleの機能ですが、このごみ箱の容量が、

    表領域の肥大化につながっています。

    OFFにすればよいと思いますが、OFFにする前に

    このごみ箱の中をクリアする必要があります。

    全クリアする勇気もなく、数回に分けて、順次削除が必要と考えております。

     

    ごみ箱機能がONの場合、プログラムでDROPしていなくても、

    MAGIC側で内部的にDROPしていると、ごみ箱がたまっていくと思いますが、

    仕方ないことと考えるべきでしょうか。

     

  • ISHIJIMA

    この機能を使用するメリット及びデメリットがあるはずです。

    この機能を利用したことがないのでわかりませんが私だったらOFFにすると思います。

    そのテーブルだけ復元されても整合性があると思いますのでどのような時に利用するのかな・・・

    すべて記述するソフトと違ってMAGICの良いところだと思っています。

    仕方がないのかなと・・・

  • ISHIJIMA

    ただ一時ファイルはメモリにできたような・・・・

     

  • Nishi

    ISHIJIMA様 お世話になります。

     

    OFFの方向で、すすめようと思っております。

    1件1件削除(1件1件の命令をまとめて)しても、

    時間がかからないことが分かりましたで、

    順番に削除していこうと思います。

    削除した後に、OFFに変更する方向で検討しています。

     

    今回のプログラムは、メモリを利用していないプログラムです・・・。

     

    ご返答ありがとうございました。

     

  • ISHIJIMA

    動作環境のソート/一時用データベースの設定がメモリではなくDBになっているのかなと思いました。

    メモリにすれば作成されないのかな?

  • Nishi

    ISHIJIMA様 お世話になります。

     

    動作環境のソート/一時用データベースの設定は、

    メモリになっていません。意識しておりませんでした。

     

    メモリにして、試してみます。

    ありがとうございます。

     

  • Nishi

    ISHIJIMA様 お世話になります。

     

    動作環境のソート/一時用データベースの設定をMemoryに変更しても

    recyclebin(ごみ箱)に、TEMP_?????が増えました。

     

    やはり、OFFにする方向で行います。

    ありがとうございます。

     

  • ISHIJIMA

    どんなプログラムを起動すると発生するのか確認できていますか?

     

  • Nishi

    ISHIJIMA様 お世話になります。

     

    伝票の更新(集計)関係ですが、

    DELETE文を発行し、INSERT文を発行している処理です。

    複数のテーブル(データ)の集計値を1つのSQL文として、

    発行しています。

    複雑なSQL文の関係と考えております。

     

  • ISHIJIMA

    SQL文を使用されているのですね・・・

    SQL文はほとんど使用しませんのでわかりませんね・・・

  • Nishi

    ISHIJIMA様 お世話になります。

     

    Oracleデータベース上に、TEMP_?????テーブル作成される場合がありますが、

    作成される場合と作成されない場合の違いを把握しておりません。

     

     

  • ISHIJIMA

    SQLコマンドの結果データベースはどうなっていますか?

  • Nishi

    ISHIJIMA様 お世話になります。

     

    結果データベースは、Oracleになっています。

     

  • ISHIJIMA

    SQLコマンドをあまり使用しないので違うかもしれませんが

    結果データベースをメモリにするとどうなりますか?

  • Nishi

    ISHIJIMA様 お世話になります。

     

    結果データベースをメモリに変更して試してみました。

    先程ご返答させて頂きましたDELETE文やINSERT文と思っていましたが、

    画面表示(テーブル表示)の際、SELECT文(複数データテーブル??)を利用していると、

    TEMP_?????テーブルが作成されるようです。

    画面表示のプログラムの、結果データベースをMEMORYに変更したところ、

    TEMP_?????テーブルが作成されなくなりました。

    また、やはりMEMORYの方が、画面表示が早いようです。

    改めて検証して、プログラムの変更をおこないたいと思っております。

    ありがとうございます。

     

  • ISHIJIMA

    結果データベースをメモリと動作環境のソート/一時用データベースの設定をMemoryを

    設定すれば問題なくなるのではないでしょうか

  • Nishi

    ISHIJIMA様 お世話になります。

     

    私もそう考えておりました。

    OFFもいいのですが、MAGIC側だけで完結したいとも思っておりましたので、

    ご指摘頂いた方法で、検証したいと思います。

    いろいろとありがとうございました。

     

  • tanda

    OracleClient 無しの環境での検証はされましたか?その辺りが重要なポイントになると思います。

  • Nishi

    tanda様 お世話になります。

     

    ご返答ありがとうございます。

     

    OracleClientなしの環境では、MGORACLE.DLLが、読みこめませんでした。

    MGORACLE.DLLの中では、OCI.DLLが必要と思われましたので、

    OCI.DLLをコピーして試しましたが、うまくいきませんでした。

     

    以前から、OracleClient有りの環境で、行っておりますので、

    現在、OracleClient有りの環境で、検証しております。

     

    OracleClient無しの環境で、動作する設定をご教授いただければ幸いです。

     

  • vg

    こんばんわ Nishiさま、

    流れに乗ってない感じでもうしわけないのですが

    うちでもOracleのデータベースを使っておりまして、10gくらいからそんな感じになりました

    ちなみにrecyclebinは領域が不足すると勝手にパージされていると認識していましたが、

    もしや残っていて、なにか問題が起きているのでしょうか?

    対策した方がよいのか参考までご教授いただければ幸いです

     

    また、DB権限があって無理やりでもかまわないのであれば、

    sqlコマンドでパージしてしまうという手も・・?

    begin
    execute immediate 'purge recyclebin';
    end;

     

    うちでは夜のシャットダウン時にバックアップのバッチ処理に紛れてpurgeしていることが多いですね

  • ISHIJIMA

    下記内容が参考になりませんか?

    Oracle RECYCLEBIN(ごみ箱)を確認して削除や復旧する方法 | ホームページ制作のサカエン Developer's Blog (saka-en.com)

    11gを使用したことがありますがデフォルトの設定で何も問題なかったので

    そのような機能自身がある事を知りませんでしたし問題になった事がありませんでした。

    自動的に処理してくれてるみたいで問題ななさそうですね

     

     

  • Nishi

    vg様 お世話になります。

    ISHIJIMA様 お世話になります。

     

    皆様、ご返答ありがとうございます。

     

    実は、ごみ箱に数万件のデータが作成されておりまして、

     show recyclebin;

    より、一覧を表示させ、

     purge table "BIN$・・・・";

    1件1件の命令を纏め、業務に差し支えないよう数回に分けて、削除することにしました。

    ちなみに、vg様がおっしゃるとおり、未領域がたくさんあるにも関わらず、

    領域(微弱ながら)も増え続け、動作も重くなる場合があるようでした。

     

    削除の目処もようやく立ちましたので、

    前回、ISHIJIMA様より頂いたアドバイスをもとに、プログラムも変更し、

    ごみ箱の増える量を確認してから、OFFにするか、夜間バッチで削除するか、

    検討しようと思っておりました。

     

サインインしてコメントを残してください。