いつも多くの方々にお世話になっております。 ・余分な情報 ちなみにOracle9iR2を使用しています。 COST・・・・CBOによって見積もられた操作コスト。 (最大サイズまで拡張し、これ以上拡張出来ない場合も含む), 表領域がのサイズが不足した場合、UNDO表領域に絡んだエラーが発生する可能性があります。, ・ORA-01555:スナップショットが古すぎます 状況から考えて怪しいプログラムを調査したのですが、原因不明でした。 COSTはデータ量だけではなく、その表やViewのアクセスに要する時間やSortや結合が必要なら、そのために必要なCPU時間等も考慮されています。 undo表領域は 縮小できない場合があります。 undo表領域を拡張するやデータファイルのサイズを縮小するで触れている通り、断片化しやすい表領域のためです。 自動拡張してしまった場合は、特に断片化が進んでいて縮小できないことが多いです。 $ expdp system/pass dumpfile=TEST_DIR:expdp_all.dmp logfile= TEST_DIR:expdp_all.log full=y ご存知の方がいらっしゃいましたら、ご教授願えませんでしょうか?, >テーブル単位でインポートなどでも駄目なのでしょうか? ・undo表領域が自動拡張されない(固定)となっている (最大サイズまで拡張し、これ以上拡張出来ない場合も含む) 表領域がのサイズが不足した場合、undo表領域に絡んだエラーが発生する可能性があります。 ・ora-01555:スナップショットが古すぎます 私はOracleの知識(管理面について)が殆どなく、Oracleを使うことはできるが、Oracleの設定がどういう状況になっているか調べることもできず、資料もありません。 UNDO表領域をいっぱいにしてしまった! お仕事中にやらかしてしまったので、自戒も込めて書きます。 Oracle DatabaseにはUNDO表領域というものがあります。 UPDATE, DELETEを行った際に復元ができるように、 更新前のデータを一次退避しておくためのテーブルスペースです。 もちろん、索引のサイズが大きい可能性はあります。 移動する為に使用するものではなかったと思います。たぶん。 --------------------------- --------------------------- インポート時に「ignore=y」をつけたりしたのですが、 ORA-31655: ジョブに対してデータまたはメタデータ・オブジェクトが選択されていません >それともインポート後に検索したときに自動で アドバイス、お願いできますでしょうか。, >CBOでは実行計画の最適化には統計情報が使われるのですか・・・! にて無効化、有効化することが出来ますが、INDEXも同じように無効化、有効化することは invisibleでオプティマイザから索引が見えなくなります。 ジョブ"SYSTEM". カラム2 2の値 1行目は領域開放の前準備、3行目は1行目の変更を元に戻す意味。 【環境】   オンラインREDOログはすべてのOracleデータベースに存在します。 よろしくお願いします。, ▼以下のSQLで無効化できます。 よくわからいのですが、 1.expdp system/パスワード@XE directory=test_dir tables=study.TEST1 log=test_exp.log content=data_only 統計情報にあるテーブル/インデックスの特性と実態が異なるようなケースでは、 ORA-31684: オブジェクト型TABLESPACE:"USERS"はすでに存在します =====   やっていることは、UNDO表領域(旧RBS用表領域)の中に残っている実行履歴を参照しています。したがって、データベース設計時にフラッシュバック問い合わせを前提としていない限り、使える可能性は低いです。 alter index ind_test usable; 索引を再構築する必要があります。 テーブルのデータだけで良ければ、ユーザ作成後に 1.expdp system/パスワード@XE directory...続きを読む, 「expdat.dmp」の中に「STUDY.TEST2」というオブジェクトの オブジェクト型DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATAの処理中です end; データを調べたいのですが、 カラム名2 "REPCAT$_PRIORITY_GROUP"が存在します。スキップのtable_exists_actionのため、すべての依存メタデータおよびデータはスキップされます ORALCE11gXE UNDO表領域の領域が不足した場合、期限切れではないUNDOを上書きします。, 上記の情報は、実はOracle Database管理者ガイドの「16 UNDOの管理」に記載されていたりしますので、マニュアルの重要性を改めて思い知らされる内容ですよね。でもって、私が演習2において「自動拡張可能」なUNDO表領域を作成した意図としては上記の青文字部分を採用したかったからです。とは言え、際限なく自動拡張されてしまうのも避けるためにMAXSIZEで指定する値をデータファイルのサイズと同じにして、実質的に自動拡張OFFの状態を作り出すという一つのアイディアです。, さて、UNDO表領域のサイズをどの程度まで拡張すれば良いのかという話に移りましょう。一番のお勧めの方法としては、Oracle Enterprise ManagerのUNDOアドバイザを使用することですので、環境がある方は是非とも試して頂きたいと思います。, もしも、ザックリな見積もりでも良い、私に責任を追及しないという方のみ、次の方法を使ってみてください。とは言え、単純な小学校の算数(比の計算)です。TUNED_UNDORETENTIONがUNDO_RETENTIONよりも小さい場合にだけ使用して下さい。, 今回の表領域はBig File表領域では無いので、一つの表領域に複数のデータファイルが存在する可能性があります。その為、データファイル単位でサイズをリサイズする必要があります。となると、データファイル名を入力しなければならないと思いがちですが、データファイル番号を指定する方法もあるので、上記の回答例では、「5」番のデータファイルを指定して拡張しています。, また、RESIZE句ではデータファイルの最大サイズ(上記では100MB)を越えて拡張(上記では270M)することができてしまう点と、最大サイズが変更されないという二つの点は把握しておいた方が良いでしょう。最大サイズを増加させるには、改めて「autoextend」句で「maxsize」を指定し直す必要があります。, 8. 現在、クライアントからbatを起動し、SQL文を投げ、結果を取得したいと思っております。 有効化するときはテーブルと同期がとれていない状態なので 載のある drop や shrink の処理により開放されたことにより、エクステント. 演習2で作成したUNDO表領域UNDOTBS28を使用した自動UNDO管理に設定して下さい。また、UNDO保存期間はデフォルトの900秒に設定されていることを確認して下さい。, ほとんどの方は自動UNDO管理を使用されてデータベースを運用されていると思っているので、この演習は簡単ですね。, 自動UNDO管理を使用する為には、最低でも3つの初期化パラメータを設定する必要があります。今回はSPFILE上で設定した後にインスタンスを再起動している為、設定する順番は気にする必要がありません。, 自動UNDO管理を有効化する為にはUNDO_MANAGEMENT初期化パラメータを「AUTO」に指定します。次に、その自動UNDO管理で使用するUNDO表領域を指定するUNDO_TABLESPACE初期化パラメータを設定します。最後に、UNDOブロックの保存期間を指定するUNDO_RETENTION初期化パラメータを設定します。ちなみに、UNDO_MANAGEMENT初期化パラメータ以外はインスタンス再起動無しに変更することが可能であることを覚えておきましょう。UNDO表領域を別のUNDO表領域へ切替たい場合に重宝しますよ。, さて、900秒(15分)に設定したUNDO_RETENTION初期化パラメータで制御されるUNDOブロックの保存期間とは何でしょう?復習になると思いますが、UNDOとはデータベースの変更をロールバックまたは取り消すために使用する情報で、この情報があるからこそ、Oracle Databaseは読取一貫性を提供することが出来ていたりします。これを理解する為には、次の演習を体験して頂いた方が手っ取り早いと思います。, 4. ブログを報告する, テトリス