problème MView après une chute
-
26-09-2019 - |
Question
i,
J'ai une vue matérialisée sur un serveur qui est créé par lien DB. Il y a un travail en cours sur cette mview. (Craeted avec dbms_refresh.make plus tôt).
Maintenant, j'ai craeted 3 nouveaux champs dans le tableau original.
il y avait sur le travail en cours d'exécution mview, je suis passé par le travail DBMS_refresh.destroy. Puis laissé tomber le mview (j'ai oublié de supprimer des index sur vue)
Maintenant, quand je suis en train de créer le mview avec SQL que je sxtracted avant, Il donne erreur: -
Erreur lors du démarrage à la ligne 1 dans la commande:
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
Erreur à la ligne de commande: 1 Colonne: 0 Rapport d'erreur:
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
Erreur lors du démarrage à la ligne 26 en commande:
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
)
Erreur à la ligne de commande: 26 Colonne: 0 Rapport d'erreur: Erreur SQL: Connexion fermée
La solution
l'action est assez clair:
* Action: comme un bogue - le premier argument est le numéro d'erreur interne
Ceci est une erreur interne. Suivez les instructions de la note [ID 153788,1] une ORA-Dépanner 600 ou ORA-7445 erreur en utilisant l'erreur outil de recherche sur
Autres conseils
Vous devez: - déposer le cliché / mview - déposer le journal instantané sur la table maître - créer un nouveau journal instantané sur la table maître - recréer votre mview et de simplifier votre create à ce qui suit:
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;
Le ci-dessus ajoutera une dbms_job de rafraîchissement qui apporte la table toutes les 5 minutes mises à jour. Vous pouvez le modifier pour répondre à vos besoins.
Une fois que vous créez vous devez exécuter:
exec dbms_snapshot.refresh("TTMU_LAVORAZIONE_TT",'C');
exec dbms_snapshot.refresh("TTMU_LAVORAZIONE_TT",'F');
Cela devrait prendre soin d'elle. Vous aurez besoin d'utiliser une autre méthode si la table est massive. Je ne sais pas la taille Je suppose donc pas trop grand.
Vérifiez le journal d'alerte pour la base de données des indices quant à ce qui peut se produire dans votre base de données. Cela vous indiquera probablement à un ou plusieurs fichiers de trace où plus d'informations sur le problème peut être trouvé. Parfois, vous pouvez résoudre le problème vous-même.