問題タブ [materialized-views]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - マテリアライズド・ビュー-最後のリフレッシュの識別
現在、一連のビューとマテリアライズドビューにアクセスしています。マテリアライズは、マテリアライズの頻度と成功に関する情報をほとんど提供しないサードパーティによって維持されます。最近、マテリアライズドビューの更新に失敗し、誤った/遅延したデータが含まれている多数のレポートを送信しました。
現在、トランザクションシステム内で最新の更新がいつ発生したかを確認するために使用する予定の各マテリアライズドをクエリしています。更新されていない場合、残りのコードは実行されませんが、これは多くの無駄な作業であり、場合によっては誤った仮定(マテリアライズドビューは更新された可能性がありますが、追加のトランザクションは行われなかったため、コードの残りの部分は実行されません)であり、別の方法をお勧めします。
Oracleシステムテーブルを使用してマテリアライズドビューが更新されたかどうかを識別する方法はありますか?そうでない場合、サードパーティに連絡せずにこれを行う方法について誰かがアイデアを持っていますか?
oracle - Oracle - マテリアライズド ビューの変更構造が非常に遅い
私は調整しなければならない巨大な具体化されたビューを持っています。select ステートメントに NVL 関数を追加するだけなので、調整は簡単です。
つまりオリジナル...
すなわち変更された
クエリの実行には 26 秒かかりますが、取得される行の量 (230 万) のため、非常に遅くなります。それはほぼ5日間連続して実行され、その後停止しました.
これは問題です。特に、これをクライアントに配信する必要があり、MV を作成するためのスクリプトを 5 日以上実行できないためです。
質問: MV の変更/再作成を高速化する方法はありますか? MVを変えた方が早いのか、落として作り直すのと同じくらいでしょうか?
オラクルのバージョン = 10g
oracle - Oracle - マテリアライズド ビューの混乱 (テーブル セクションに MV を表示する Toad IDE は間違っていますか?)
マテリアライズド ビューについて混乱しています。私が混乱しているのは、私が使用している Toad IDE であるか、MV を十分に理解していないためです。
このようなものでOracleにマテリアライズドビューを作成しました....
マテリアライズド ビューが作成され、クエリから返されたデータが入力されることを期待します。さて、大したことではありません。
私が混乱しているのは、Toad IDE がテーブル セクションの下にテーブル 'TESTRESULT' を表示する理由です。見ることができる「Create Table Script」もあります。
しかし、「Materialized View」セクションの下にもマテリアライズド ビューが表示されます。
マテリアライズド ビューを作成すると、バックグラウンドで Oracle がテーブルを作成しますか? マテリアライズド ビューとテーブルの 2 つの別個のオブジェクトがあるように見えますか? 具体化されたビューを作成するときに、舞台裏で何が起こっているのか誰か説明してもらえますか? ヒキガエルは間違っていますか、それとも何か誤解していますか?
ヒキガエルのバージョン: 9.6.1.1 Oracle: 10g
oracle - Oracle - マテリアライズド ビューの更新
マテリアライズド ビューを更新するにはどうすればよいですか? マテリアライズド ビューの更新にマイナス面はありますか? 私はどちらかができる状況にあります
- マテリアライズド ビューを更新する (OR)
- レコードを別のテーブルにコピーして更新し、マテリアライズド ビュー テーブルを切り捨てるか削除して、更新されたレコードをマテリアライズド ビューに挿入します。
これら 2 つのオプションは、マテリアライズド ビューの再構築に必要な長い時間 (文字通り 5 日以上) を中心に展開します。
バージョン: オラクル 10g
oracle - Oracle-マテリアライズドビューのPREBUILDステートメントを他のMV句で使用できません
事前作成されたテーブルの上にマテリアライズド・ビューを作成しようとしています。修飾子なしで以下の構文を使用でき、正常に機能します。
ただし、マテリアライズド・ビューに句を追加すると、「キーワードがありません」というエラーが発生します。何が欠けているのかわかりません。また、事前に作成されたテーブルの上に構築し、句を追加することに関連して、オンラインでドキュメントを見つけることができません。
Oracle Verision:10g
oracle - Oracle-DBMS_MVIEW.REFRESHを使用して「REFRESHFORCEONDEMAND」ビューを更新するとどうなりますか
私は次のマテリアライズドビューを持っています-
このマテリアライズド・ビューには、裏付けとなるマテリアライズド・ビュー・ログがありません。上記の節に見られるように、このMVには「ON DEMAND」が指定されており、Oracleのドキュメントによると、
「[ONDEMAND]は、3つのDBMS_MVIEW更新プロシージャーの1つを呼び出すことにより、マテリアライズド・ビューがオンデマンドで更新されることを示します。」
DBMS_MVIEW.REFRESH('TESTRESULT')を呼び出すと、何が発生しますか?各レコードを手動でチェックして、更新されているかどうかを確認していますか?
Oracleバージョン:10g
db2 - Db2のMQT(マテリアライズドクエリテーブル)にインデックスを作成するにはどうすればよいですか?
Db2のMQT(マテリアライズドクエリテーブル)にインデックスを作成するにはどうすればよいですか?この情報がドキュメントに見つかりませんか?インデックス作成の構文は、一般的なテーブルの場合と同じですか?
database - DB2でMQTの自動更新を設定することはできますか?
更新をスケジュールする他の方法はありますか?2時間ごとにMQTを更新したいとします。それは可能ですか?
例:
oracle - 外部データベースの具体化されたビューが指定された時間に更新されない - dblink からの SQL*Net 追加データ
オラクル上で動作するWebベースのサービスを使用しています。それらは、SELECT のみの ODBC アクセスのみを許可することについて厳格です。私たちが行うレポートの一部は、会社が提供するビューによって十分に説明されていないため、Oracle 11g のエクスプレス エディションを使用して db_link を設定し、リフレッシュを使用して、より重要なクエリのいくつかをマテリアライズド ビューとして書き直しました。 1 時間ごとにクエリを再実行するように設定を指定します。これは、この目的には十分な最新のものです。これまでのところすべて順調です。
一部の MV が更新を停止し、背後に実際のパターンがないことに気付きました。さらに調査すると、外部データベース (db_link 経由で接続しているデータベース) が時々クエリを完了しないことがあり、更新プロセスはイベント「SQL*Net more data」を辛抱強く待っています。 from dblink' から無期限に。
スタックした更新セッションと、スタックした更新ステートメントであると思われる 3 つのセッションに関するデータを取得するために実行したクエリを次に示します。
したがって、私の質問は、「イベント タイプが「dblink からの追加データ」のスタック セッションを定期的に (たとえば、1 時間ごとに) スキャンし、それらを終了するスクリプトに関する提案はありますか? と思います。私にとって望ましい動作は、この更新がより回復力があることです-タイムアウトになった場合、最初からやり直して、もう一度やり直してください...
外部データベースがこれらのクエリの実行を停止する理由を理解することは、それほど実りあるものになるとは思いません.プロバイダーは選択権限を提供しますが、発生する問題をサポート/トラブルシューティングしたくないことは明らかです.
idle_time の設定と sqlnet.ora ファイルの設定 SQLNET.EXPIRE_TIME の変更について読みましたが、接続がアイドル状態ではなく、アクティブであるが無期限に待機しているため、正しいアプローチであるとは思えません。これらのセッションがデータベース自体によって開始されるという複雑な要因。
この更新をより回復力のあるものにする/これらの長時間待機する更新を自動的に強制終了するにはどうすればよいですか?
plsql - MAterialized ビューでの ExtractValue と XMLType の使用
テーブルに含まれる XML データの表形式のビューを表示するマテリアライズド ビューを作成しようとしています。また、自動更新オプションを使用して、MV が常に最新であることを確認したいと考えています。
背景: Oracle 10.2
テーブル定義:
拡張データの例:
テーブルにログを作成しました:
次に、次の MV を作成しようとしています。
しかし、次のメッセージが表示されます。
関数を使用して XML から値を抽出することを提案する別の投稿を見ましたが、これも機能しません。
しかし、次のステートメントは失敗します。
??
ガイダンスを歓迎します。ここで間違ったツールセットを使用している可能性があります。
ありがとう