• ベストアンサー

アーカイブログのサイズについて

環境:Oracle9i 9.2.0.1.0 言語:VB6 OLTPの処理を行っている販売管理システムです。 夜間にバッチ処理を行っています。 最近アーカイブログモードに変更しましたが、夜間の一部のバッチによる影響でアーカイブログのサイズがかなり大きくなっています。 そのバッチ自体は一時的に作成されるテーブルがあり、そのテーブルが大きく影響しているものと思われます。 そこでご質問なのですがREDOログの書込みを上記テーブルは対象外にするように変更できないものでしょうか? また、アーカイブログのサイズがかなり大きくなる問題についてなにか解決策などがありましたらアドバイスお願い致します。 ちなみに今の現行システムでは1週間で30GB程度まで大きくなっています。 手動でアーカイブログファイルを別のディスクに移動しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>NOLOGGINGモードにしても問題ないと思いますがなにか気になる点がありましたらご教授お願いできますでしょうか? 例えば、一時テーブルと使っている期間(時間帯)に、障害を起こすと、障害回復させるポイントを 何処にするか制約されます。 一時テーブルを使い終わった後で障害を起こした場合、復旧手順がややこしくなります。 当然ですが、一時テーブルを格納する表領域も配慮する必要があります。 運用上差し支えなければ、NOLOGで良いかと思いますが。

toshi_200578
質問者

補足

回答ありがとうございます。 NOLOGGINGモードについて再確認させてください。 NOLOGGINGモードは表領域、テーブル、Insert文などいろいろなところで設定可能になっていますが、 例えば (1)表領域はNOLOGGINGモードにしていた場合はその表領域で使用しているテーブル、インデックスについては全てNOLOGGINGになるのでしょうか?? (2)表領域はLOGGINGモードでテーブル作成時にNOLOGGINGモードを設定した場合はそのテーブルだけはNOLOGGINGになるのでしょうか? (3)表領域はLOGGINGモード、テーブル作成時も何も設定しなかった場合、Insert文でNOLOGGINGモードにするとそのInsert文は対象テーブル、対象表領域をNOLOGGINGモードに設定しなくてもNOLOGGINGになっているのでしょうか?? ご教授お願い致します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

>NOLOGGINGモードは表領域、テーブル、Insert文などいろいろなところで設定可能になっていますが、 表領域やテーブルはともかく、INSERT文にLOGGINGのオプションはありましたっけ?? INDEXの間違い? 追加の質問に書かれている(例えば・・の)3点は、マニュアルに説明が書かれているので、まずはお読みください。 その上で、ご不明な点をご質問いただければ、判る範囲で説明します。 (閲覧可能な書物に記載されている内容を説明する意義を感じません)

全文を見る
すると、全ての回答が全文表示されます。
noname#96023
noname#96023
回答No.3

リカバリがややこしいですね。 障害時には、その一部以外の処理についてもリカバリの手順を検討する必要があると思います。(私は検討したことが無いので良く知りません) 障害時には、バッチは最初からやり直す位の割りきりが必要だと思います。 (更新処理が多いとNOLOGにするだけで、処理がかなり早くなる場合が有るのも魅力なんですけどね)

全文を見る
すると、全ての回答が全文表示されます。
noname#96023
noname#96023
回答No.1

SQL文で該当のテーブルをNOLOGGINGモードにすれば大丈夫なはずです。 ただし、REDOログをきちんと理解していないとこの設定は危険です

toshi_200578
質問者

補足

回答ありがとうございます。 危険と言われると手をだしたくなくなるのですが、REDOログは変更履歴を格納しておりあとから復旧するための元ネタぐらいにしか認識していません。 今回掲示しているテーブルは仮にデータが完全に失われたとしても全く問題ありません。今回のテーブルは既存のデータを集約した値を格納しているだけですので。 ですので仮にOracleシステムがダウンして復旧する際に今回のテーブルは対象外になります。 上記からNOLOGGINGモードにしても問題ないと思いますがなにか気になる点がありましたらご教授お願いできますでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ORACLEアーカイブログのサイズについて

    ORACLEアーカイブログのサイズを調べたのですが、「ブロック単位」の意味がわかりません。 やりたいことは、出力した「ブロック単位のアーカイブログサイズ」を「GBで表したい」です。 ご教授願います。 私の調査結果を記載します。 以下のビューがアーカイブログ情報を保持していると判明した。 【V$ARCHIVED_LOG】 このビューが保持しているカラム「BLOCKS」が、アーカイブのログサイズを持っている。 【BLOCKS NUMBER アーカイブ・ログのサイズ(ブロック単位) 】 ※ここがブロック単位であるため、○GBに変換できない・・・。 上記のカラムの情報をSELECTした結果、「ブロック単位のサイズ」が出力された。 BLOCKS = 1028995 これをGBに直したいのですが、どうしたらよいのでしょうか? 参考にしたサイト:http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19228-04/dynviews_1.htm

  • オラクルバックアップについて

    オラクル初心者で、はじめて、バックアップを行います。 わかりにくい文章ですが、宜しくお願いします。 現在、Oracle9iをアーカイブログモードで運用しています。 そこで、下記のように、OSコマンドによる差分バックアップを計画しております。 日~金がオンラインバックアップ(ホットバックアップ):差分 土曜日はオフラインバックアップ(コールドバックアップ):フル オンラインバックアップでは、オンラインREDOログファイルのアーカイブ(alter system archive log current)を実行後に,アーカイブログのみ取得しようと考えておリます。 リカバリについては、土曜日のオフラインバックアップで取得したバックアップにオンラインバックアップで取得したアーカイブログを適用しようと考えております。 そこで質問になります。 (1)アーカイブログを取得する際に、バックアップモードの変更・解除はいらないという認識でよろしいでしょうか? (いろんな資料を見ると、バックアップモードについては書かれていないので、不安で質問いたしました。) (2)オンラインバックアップでの制御ファイルのバックアップは必要ないということでよろしいのでしょうか? (3)オンラインREDOログファイルのアーカイブ(alter system archive log current)を実行についても、注意点等あれば、ご教授ください。 そのほかに、気になる点があれば、ご指摘ください。 また、関連するホームページなどありましたら教えてください。 説明不足な点があるかもしれませんが、宜しくお願い致します。

  • Oracle のREDOログアーカイブについて

    Oracle のREDOログアーカイブについて Oracle のアーカイブREDOログファイルの基本的な事を教えてください。 [ 運用条件 ] オンラインREDOログ三多重化 (メンバ 3つ)、アーカイブログモードあり、 自動アーカイブ、アーカイブプロセス数は2、データガードなし 上記条件で全REDOログファイルに障害がない場合、ARCHプロセスは多重しているどのREDOログメンバからアーカイブREDOログファイルを作成するのでしょうか。使用版数はOracle 10g R2です。

  • オラクル初心者です。ご教授ください。

    オラクル初心者です。ご教授ください。 Windows2003でoracle9iを使用しています。 oracleのアーカイブログ(アーカイブREDOログ??)でディスク領域が圧迫されている ため、アーカイブログを移動したいのですが、どうすれば いいでしょうか? 普通にOSでアーカイブログを選択し右クリックしながら ドラッグして移動で大丈夫なのでしょうか? お分かりの方がいらっしゃいましたら教えてください。 以上、よろしくお願いいたします。

  • バッチ処理を使用して、Oracle10gのデータのバックアップを取ろう

    バッチ処理を使用して、Oracle10gのデータのバックアップを取ろうとしています。 10gでバックアップする上で先ほどの質問で、アーカイブログモードか ノンアーカイブログモードかの情報を提示していただきました。 http://okwave.jp/qa/q6173983.html もしも、アーカイブログモードを選択した場合は、「バッチ処理によるバックアップ」は 必要ないのではないでしょうか? 調べた限りでは、「アーカイブログモード」でバックアップを取る場合は、常にREDログ ファイルにバックアップを取り続けるという趣旨の説明が出てきました。 つまり、バッチ処理によるバックアップが必要になるのは「ノンアーカイブモード」の時 だけなのでしょうか? 以上、よろしくお願いします。

  • アーカイブログからのリストアについて

    環境:Oracle9i 9.2.0.1.0 言語:VB6 DBのバックアップ体制が問題になり今後はARCserveというツールとOracleのRMANというツールを絡めた機能で運用することになり、Oracle側ではさらにアーカイブログの運用でいくことになりました。 アーカイブログで運用しているシステムで仮にOracleがダウンしてしまった場合の復旧について必要なファイルは (1)全体バックアップのDATファイル (2)(1)以降のアーカイブログファイル と認識していますが、(1)のバックアップをオンラインバックアップで取得しても以下の(1)の理由で問題ないということになるのでしょうか? (1)アーカイブログをとっているから アーカイブログはコールドバックアップをしないと意味がないのでしょうか?

  • アーカイブログモードの変更について

    環境:Oracle9i 9.2.0 サーバOS:WinXp(テスト環境) サーバの容量が足りない為、アーカイブログモードを解除しようと思っています。 (1)解除の方法ってOEMでできるのでしょうか? (2)アーカイブログファイルを物理的に削除した場合は  アーカイブログモードにしていても無意味でしょうか? (3)アーカイブログファイルは日付単位で作られているように見えますが、指定した日付のデータに戻したい場合などはその日のアーカイブログファイルを使用するのでしょうか? なにぶん経験が浅く、ご迷惑をおかけしますが、 ご教授お願いいたします。

  • Oracle RMANでのリカバリ

    ORACLE9iのRMANでリカバリの検証をしていますが、 上手くいきません。 RMANに詳しい方、ご教授下さい。 運用時、RMANのバックアップ(フルバックアップ、アーカイブログバックアップ)は日々行っており、 OS丸ごとのバックアップは月ごとに行っています。 それで、HDD障害が起こったときに、OS丸ごとバックアップを利用してバックアップした日(月初)に戻して、 本日のRMANのバックアップを利用して、リストアができるかを検証しています。 [環境] Oracleのバージョン[Oracle9i 9.2.0.7.0] アーカイブモード [検証内容] (1).DBの設定、RMANの設定 -> (2).REDOログのCURRENT確認 -> (3).Windowsの機能でバックアップ -> (4).REDOログが上書きされてアーカイブログがはかれるまでDBのテーブルにデータを追加 -> (5).RMANでバックアップ -> (6).REDOログのCURRENT確認((2)のときのCURRENTが異なるようにした) -> (7).(3)のバックアップを使ってWindowsの機能で復元 -> (8).(5)のRMANバックアップデータ (フルバックアップデータ、アーカイブログバックアップデータ)を置換して、RMANのリストア (2)の時点のREDOログの状態を「select * from v$log」で確認したところ、 GROUP#2がCURRENTでした。 GROUP# SEQUENCE# ARCHIVE STATUS 1 2 YES INACTIVE 2 3 NO CURRENT 3 1 YES INACTIVE (6)の時点のREDOログの状態を確認したところ、 GROUP#3がCURRENTでした。 GROUP# SEQUENCE# ARCHIVE STATUS 1 11 YES INACTIVE 2 12 YES ACTIVE 3 13 NO CURRENT (8)のとき、「RMAN> restore database;」のコマンドを打ったとき、下記のエラーが出てきて、 リストアできませんでした。 エラー「ORA-19612:データ・ファイル1はmissing or corrupt dataのためリストアされませんでした。」 CURRENTの状態、位置によってリストアできたりできなかったりするのでしょうか? SEQUENCE#の値を変更、もしくは、アーカイブログのバックアップから、REDOログをリストア する必要があるのでしょうか? または、他に必要な設定をする必要があるのでしょうか? リカバリするときのコマンドは、下記の通りです。 SET ORACLE_SID=<SID名> rman target / catalog rman/rman@RMAN RMAN> STARTUP NOMOUNT RMAN> RESTORE CONTROLFILE; RMAN> ALTER DATABASE MOUNT; RMAN> RESTORE DATABASE; RMAN> ALTER DATABASE OPEN RESETLOGS; 前回、同じようなやり方でリストアしたときは、上手く行きました。 そのときは、下記のような状態でした。 ((4)のときのデータ件数は少し異なり、(6)の時点でGROUP#1がCURRENTでした。) GROUP# SEQUENCE# ARCHIVE STATUS 1 11 NO CURRENT 2 9 YES INACTIVE 3 10 YES ACTIVE 以上、宜しくお願いします。

  • 誤って削除したレコードの復元

    ORACLE8iで誤って大量のレコードを削除してしまいました。また、既にCOMMITされています。マニュアルを読んだのですが理解できません。アーカイブやREDOログから復元させることは出来ないでしょうか? 漠然な質問で申し訳ありませんが、過去に経験された方が居りましたらお教え下さい。

  • オラクルのバックアップ・リカバリについて

    入社一年目(ようやく丸一年)の新人です。文章に不備があるかもしれませんがご教授ください。 Windows上でOracle10gをアーカイブログモードで運用しているバックアップの設計を行っています。 そこで、次のように行いたいと思っています。 月~土がオンラインバックアップ(ホットバックアップ) 日曜日はオフラインバックアップ(コールドバックアップ) ここで、質問なのですが、次のようなことがしたいと考えています。 オンラインバックアップの取得方法などの資料をみると、すべてのデータファイルを取得することが 書かれていますが、オンラインバックアップでは、データファイルは取得せず、 日曜日のオフラインバックアップで取得したバックアップにオンラインバックアップで取得した アーカイブログ・オンラインREDOログを適用しリカバリすることは可能なのでしょうか? たとえば、水曜日にDBがクラッシュしたとした場合。 (1)日曜日のオフラインバックアップで日曜日の状態に復旧する。 (2)火曜日に取得したオンラインバックアップを使用し、 日曜日のオフラインバックアップ以降のアーカイブログと、オンラインRedoログを適用し、 火曜日の状態に戻す。 こういったことって可能なのでしょうか? また、関連するホームページなどありましたら教えてください。 わかりにくい文章で申し訳ありませんがよろしくお願いします。