質問

私、

DBリンクによって作成された1つのサーバーに1つの具体化されたビューがあります。そのmviewで実行されているジョブが1つあります。

今、私は元のテーブルに3つの新しいフィールドをクレートしました。

MVIEWで走っている仕事があり、DBMS_REFRESH.DESTROYによって仕事を落としました。その後、MVIEWをドロップしました(表示中にインデックスをドロップするのを忘れていました)

今、私が以前にSQLを使用してMVIEWを作成しようとしているとき、それは次のようにエラーを与えています。

コマンドの1行目から始まるエラー:

CREATE MATERIALIZED VIEW TTMU_LAVORAZIONE_TT
  TABLESPACE "TTSTAT_DATA"
  LOGGING 
  PCTFREE 10
  PCTUSED 40
  INITRANS 1
  MAXTRANS 255
  STORAGE
  (
    INITIAL 5M
    NEXT 5M
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    FREELISTS 1
    FREELIST GROUPS 1
    BUFFER_POOL DEFAULT
  )
NOCACHE NOPARALLEL BUILD IMMEDIATE
USING INDEX
REFRESH ON DEMAND FAST 
WITH ROWID 
DISABLE QUERY REWRITE  AS
SELECT T288.C1,C2,C3,C4,C5,C6,C7,C8,C536870915,C536870916,C536870917,
       C536870918,C536870919,C536870920,C536870921,C536870922,C536870927,
       C536870928,C536870929,C536870930,C536870931,C536870932,C536870933,
       C536870937,C536870939,C536870940,C536870941,C536870942,C536870945,
       C536870951,C536870952,C536870953,C536870954,C536870955,C536870956,
       C536870957,C536870959,C536870961,C536870962,C536870965,C536871100
  FROM T288@STAT2TTM.WORLD

コマンドラインでのエラー:1列:0エラーレポート:

SQL Error: ORA-00600: internal error code, arguments: [17113], [0x000000000],
                      [], [], [], [], [], []
00600. 00000 -  "internal error code, arguments: [%s], [%s], [%s], [%s],
                [%s], [%s], [%s], [%s]"
*Cause:    This is the generic internal error number for Oracle program
           exceptions. This indicates that a process has encountered an
           exceptional condition.
*Action:   Report as a bug - the first argument is the internal error number

コマンドの26行目から始まるエラー:

CREATE UNIQUE INDEX I_SNAP$_TTMU_LAVORAZIONE_T 
  ON TTMU_LAVORAZIONE_TT (M_ROW$$ ASC)
  TABLESPACE "TTSTAT_DATA"
  LOGGING 
  PCTFREE 10
  INITRANS 2
  MAXTRANS 255
  STORAGE
  (
    INITIAL 5M
    NEXT 5M
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    PCTINCREASE 0
    FREELISTS 1
    FREELIST GROUPS 1
    BUFFER_POOL DEFAULT
  )

コマンドラインでのエラー:26列:0エラーレポート:SQLエラー:接続を閉じます

役に立ちましたか?

解決

アクションはかなり明確です:

*アクション:バグとして報告 - 最初の引数は内部エラー番号です

これは内部エラーです。メモ[ID 153788.1]の指示に従ってください エラールックアップツールを使用して、ORA-600またはORA-7445エラーのトラブルシューティング の上 Oracleサポートサイト.

他のヒント

必要な: - スナップショット/mviewをドロップする - マスターテーブルにスナップショットログをドロップする - マスターテーブルに新しいスナップショットログを作成する - mviewを再作成し、作成ステートメントを次のように簡素化します。

CREATE MATERIALIZED VIEW TTMU_LAVORAZIONE_TT
  TABLESPACE "TTSTAT_DATA"
REFRESH FAST START WITH SYSDATE NEXT SYSDATE + 5/1440
WITH ROWID 
AS
SELECT T288.C1,C2,C3,C4,C5,C6,C7,C8,C536870915,C536870916,C536870917,
       C536870918,C536870919,C536870920,C536870921,C536870922,C536870927,
       C536870928,C536870929,C536870930,C536870931,C536870932,C536870933,
       C536870937,C536870939,C536870940,C536870941,C536870942,C536870945,
       C536870951,C536870952,C536870953,C536870954,C536870955,C536870956,
       C536870957,C536870959,C536870961,C536870962,C536870965,C536871100
  FROM T288@STAT2TTM.WORLD;

上記では、5分ごとにテーブルを最新の状態にするDBMS_JOBを更新します。要件を満たすために変更できます。

あなたがそれを作成した後、あなたは実行する必要があります:

exec dbms_snapshot.refresh("TTMU_LAVORAZIONE_TT",'C');
exec dbms_snapshot.refresh("TTMU_LAVORAZIONE_TT",'F');

それはそれの世話をするはずです。テーブルが巨大な場合は、代替方法を使用する必要があります。サイズがわからないので、大きすぎないと思います。

データベースの手がかりについては、データベースで何が起こっているのかについてのアラートログを確認してください。これにより、問題に関するより多くの情報が見つかる1つ以上のトレースファイルが表示される可能性があります。時には自分で問題を解決できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top