Deaktivieren und späteren aktivieren der Tabelle alle Indizes in Oracle
Würden wie ich, deaktivieren und später aktivieren, werden alle Indizes in einem schema/Datenbank in Oracle?
Hinweis: Dies ist sqlldr schneller laufen.
InformationsquelleAutor der Frage oneself | 2008-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier machen sich die Indizes unbrauchbar ohne die Datei:
Rebuild wäre ähnlich.
InformationsquelleAutor der Antwort jmc
Kombination 3 Antworten zusammen:
(weil eine select-Anweisung nicht ausgeführt DDL)
Importieren...
Hinweis: dies setzt Voraus, dass der import passiert in den gleichen (sqlplus) session.
Wenn Sie anrufen, "imp" es läuft in einer separaten Sitzung, so würden Sie brauchen, um die Verwendung "ALTER SYSTEM" anstelle von "ALTER SESSION" (und denken Sie daran, setzen Sie die parameter zurück, die Art und Weise Sie es gefunden.
InformationsquelleAutor der Antwort
Wenn Sie mit nicht-parallelen direkten Pfad lädt dann prüfen und die benchmark nicht fallen die Indizes, insbesondere wenn die Indizes decken nur eine Minderheit der Spalten. Oracle hat einen Mechanismus für die effiziente Wartung von Indizes, die auf dem direkten Pfad lädt.
Ansonsten würde ich auch raten, machen die Indizes unbrauchbar, statt ihn zu löschen. Weniger Chancen, versehentlich nicht die Wiederherstellung eines index.
InformationsquelleAutor der Antwort David Aldridge
Hier: http://forums.oracle.com/forums/thread.jspa?messageID=2354075
alter session set skip_unusable_indexes = true;
alter index your_index unusable;
importieren...
alter index your_index rebuild [online];
InformationsquelleAutor der Antwort Dmitry Khalatov
Können Sie deaktivieren constraints in Oracle aber nicht Indizes. Gibt es einen Befehl, um einen index ununsable aber man muss den index neu erstellen wie auch immer, ich würde wahrscheinlich einfach ein Skript schreiben, zu löschen und erneute erstellen der Indizes. Sie können die user_indexes und user_ind_columns, um alle Indizes für ein schema oder verwenden Sie dbms_metadata:
InformationsquelleAutor der Antwort Brian Deterling
Wenn Sie auf Oracle 11g, können Sie auch prüfen wollen,dbms_index_utl.
InformationsquelleAutor der Antwort Jason Baker
Kombination der zwei Antworten:
Erste sql erstellen, um alle index unbrauchbar:
Importieren...
InformationsquelleAutor der Antwort oneself
Sollten Sie versuchen, sqlldr ist SKIP_INDEX_MAINTENANCE parameter.
InformationsquelleAutor der Antwort Karl Bartel