Partitioning mit Oracle Text 9i

Ähnliche Dokumente
Online Table Shrink. Freigabe von ungenutztem Speicherplatz. Autor: Ralf Durben, ORACLE Deutschland GmbH

Oracle Forms Was validiere ich wo?

Vermögenseinlagen stiller Gesellschafter, Genußrechtskapital und nachrangige Verbindlichkeiten als haftendes Eigenkapital von Kreditinstituten

Zusammenspiel von Spfile und Init.ora-Datei unter Windows

Die gesetzliche Unfallversicherung - von der Behörde zum modernen Dienstleistungsunternehmen

Usability Analyse des Internetauftritts der Firma MAFI Transport-Systeme GmbH

Bibliografische Information der Deutschen Nationalbibliothek:

Erstellung eines Prototyps zum sicheren und gesteuerten Zugriff auf Dateien und Dokumente auf Basis von Lotus Domino und Notes

Spätes Bietverhalten bei ebay-auktionen

Yoga - die Kunst, Körper, Geist und Seele zu formen

Das Konzept der organisationalen Identität

Bibliografische Information der Deutschen Nationalbibliothek:

Projektmanagement und interkulturelle Kommunikation

SPD als lernende Organisation

Frost- bzw. Frost-Taumittel-Widerstand von Beton

Markus Schäfer. Menschenrechte und die Europäische Union. Geschichte und Gegenwart der Menschenrechte in Europa. Diplomica Verlag

Das Spannungsverhältnis von Teamarbeit und Führung

Ist Europa ein optimaler Währungsraum?

Kennzahlenbasiertes Prozeßcontrolling für den Produktionsbereich in einem Unternehmen der Investitionsgüterindustrie

Erfolgsfaktoren für virtuelle Teams

Oracle 9i Einführung Performance Tuning

Angebotsstruktur der Spielhallen und Geldspielgeräte in Deutschland

Innovatives Marketing

Ralf-Stefan Lossack Wissenschaftstheoretische Grundlagen für die rechnerunterstützte Konstruktion

Kundenzufriedenheit im Mittelstand

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen

Übergewichtige Kinder und Jugendliche in Deutschland

Partitioning in der Datenbank 12c: Was ist neu?

Sport. Silke Hubrig. Afrikanischer Tanz. Zu den Möglichkeiten und Grenzen in der deutschen Tanzpädagogik. Examensarbeit

Die Bedeutung der Geburtenregistrierung. für die Verwirklichung der UN-Kinderrechte

Diana Gabriela Födinger. Das F. Emmi Pikler und Maria Montessori im Vergleich S P E I. Diplomica Verlag

Die Balanced Scorecard als Instrument des strategischen Managements aus Sicht eines mittelständischen Logistikunternehmens

Picking the winners - Dienstleistungsorientierte Bestandspflegeund Ansiedlungspolitik

Bachelorarbeit. Grundlagen im Dienstleistungsunternehmen. Mit Qualitätsmanagement und Kundenorientierung zum Erfolg. Tobias Müller

Roland Thomas Nöbauer. Genossenschaften. als Chancen für Kommunen. Potentialanalyse genossenschaftlicher Infrastrukturbetriebe.

Kapitalbedarfs- und Liquiditätsplanung bei einer Existenzgründung

Gudrun Höhne. Unternehmensführung in Europa. Ein Vergleich zwischen Deutschland, Großbritannien und Frankreich. Diplomica Verlag

Die Bilanzierung von Pensionsrückstellungen

Innovative Preismodelle für hybride Produkte

Volkskrankheit Depression

Personalbeschaffung im Internet

Massenentlassungen, Betriebsstilllegungen, Unternehmensinsolvenzen

Kundenorientierung von Dienstleistungsunternehmen als kritischer Erfolgsfaktor

Persönliches Budget in Werkstätten für behinderte Menschen Die Notwendigkeit von Change Management

Corporate Volunteering als Instrument der Personalarbeit

Bibliografische Information der Deutschen Nationalbibliothek:

Landwirtschaft oder Gewerbe?

Die Anforderungen der MaRisk VA. an das Risikocontrolling

Vorstandsvergütung in deutschen (DAX-) Unternehmen

Partitionierung Indizes und Statistiken

Nachhaltige Entwicklung im Tourismus in den Alpen

Partitionierung Indizes und Statistiken

Bibliografische Information der Deutschen Nationalbibliothek:

Innovationscontrolling

Der optimale Webshop

Bibliografische Information der Deutschen Nationalbibliothek:

Principal-Agent-Problematik im E-Recruitment

Informatik. Christian Kuhn. Web 2.0. Auswirkungen auf internetbasierte Geschäftsmodelle. Diplomarbeit

Bibliografische Information der Deutschen Nationalbibliothek:

Kundenbeziehungsmanagement

Performance in der Oracle Datenbank von Anfang an

Optimum Currency Areas

Das Insolvenzverfahren unter Berücksichtigung der Ertragssteuern und der Umsatzsteuer

Psychische Schwierigkeiten im Studium

Employer Branding vs. Nachhaltigkeit

Partitioning Technik und Anwendungsbeispiele

Frauen im Schwangerschaftskonflikt

Bilanzpolitische Spielräume nach HGB und IAS/IFRS im Vergleich

Rekrutierung von Hochschulabsolventen. über professionelles Personalmarketing

Sexueller Missbrauch - Kinder als Täter

Währungsmanagement mit Devisentermingeschäften und Devisenoptionen

Bibliografische Information der Deutschen Nationalbibliothek:

Diplomarbeit. Das Selbstbild deutscher und französischer Mütter. Eine empirische Studie zur Familienpolitik. Katharina Heilmann

Optimiertes Laden in die F-Fakten-Tabelle des SAP BW

Informatiker in der Wirtschaft

Wirksamkeit einer D&O Versicherung als Haftungsbeschränkung für Gesellschafter und Geschäftsführer im Innenverhältnis

Bachelorarbeit. Das Gap-Modell zur Identifikation von Ursachen für Qualitätsmängel. Einsatz und Weiterentwicklungen. Maike Dürk

Die Bedeutung von Lebensversicherungsprodukten bei der Altersvorsorge amerikanischer Besserverdiener

Dubai, Reiseziel der Zukunft

Systemvoraussetzungen. audimexsd Version 3.3

Best Ager. Katja Zaroba

Diplomarbeit. Überprüfung der Fish!-Philosophie. auf theoretische Fundierung und als praktikabler Motivationsansatz. Nina Müller

Bachelorarbeit. Plankostenrechnung. Die Verrechnung von Kostenabweichungen höherer Ordnung. Eine verhaltenswissenschaftliche Analyse.

Das Internet als Instrument der Unternehmenskommunikation unter besonderer Berücksichtigung der Investor Relations

WALDKINDERGARTEN. Diplomica Verlag

Warum wird mein Index nicht benutzt?

Bibliografische Information der Deutschen Nationalbibliothek:

Usability-Engineering in der Medizintechnik

Indexstrategien im Data Warehouse

Migration und Behinderung

Selbstgesteuertes Lernen bei Studierenden

Cyber-Mobbing. Der virtuelle Raum als Schauplatz für Mobbing unter Kindern und Jugendlichen. Problemlagen und Handlungsmöglichkeiten.

Jan Sommerer. Personalwirtschaft bei der Bundeswehr. Personalbeschaffung, -entwicklung und -freisetzung. Diplomica Verlag

Wertorientierte Kennzahlen

Transkript:

Partitioning mit Oracle Text 9i Autor: Andreas Habl, msg systems ag DOAGNews Q1_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, bei auch nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes.

Eines der Grundprobleme vieler Oracle 8i InterMedia-Anwender ist die reine Größe und damit verbunden die mangelnde Beherrschbarkeit der daraus resultierenden Objekte. Die Funktionen Synch oder Optimize sind nur auf den gesamten Volltext-Index möglich. Sollte der Index einmal defekt sein, steht man vor einer fast unlösbaren Aufgabe, denn die Laufzeiten für den kompletten Rebuild eines Volltext-Index sind in größeren Umgebungen kaum vertretbar. Genau hier setzt Oracle Text 9i an, indem local partitioned Indizes unterstützt werden. Die Vorteile sind weitreichend: Wartbarkeit DDL ist pro Partition möglich Sync und Optimize pro Partition Backup/Recovery partitionsweise möglich Rebuild partitionsweise möglich Performance paralleles Create, Sync und Optimize ist möglich Partition-Pruning ("cost based optimizer" als Voraussetzung) Insgesamt werden damit die Objekt für die Volltext-Indizierung erstmals wirklich beherrschbar. Folgende Einschränkungen sind jedoch für die Partitionierung zu beachten: - Die zu indizierende Tabelle muss RANGE-partitioned sein (hash, composite und list werden nicht unterstützt). - Der Indextyp muss CONTEXT sein. - Der Name des Index darf nicht länger als 21 Bytes sein. - Es werden maximal 9999 Partionen unterstützt. Anwendungsszenario Desaster-Rebuild Local partitioned -Indizes sind nicht nur bei der laufenden Wartung des Index nützlich, sie bieten auch die Grundlage, um Volltext-Anwendungen im Fall eines Index-Verlustes (aus welchem Grund auch immer) in seiner Grundfunktionalität dem Anwender möglichst schnell wieder zur Verfügung zu stellen. Ein Beispiel dafür ist folgendes Szenario: Als Ausgangslage existiert eine Anwendung, die über folgende Tabelle Volltextsuchen absetzt: create table test_text (datum date, id number, text varchar2(1000)) partition by range (datum) (partition p1 values less than (to_date('01.08.2004', 'DD.MM.YYYY')), partition p2 values less than (to_date('01.09.2004', 'DD.MM.YYYY'))); Die Tabelle ist nach dem Datum partitioniert. Das Datum ist in dieser Anwendung ein wichtiges fachliches Kriterium, das im entsprechenden Suchdialog eingeschränkt werden muss. Suchanfragen werden von den Anwendern in über 90 % der Fälle auf Einträge des letzten Monats gestellt. Der partitionierte Context- Index kann in der einfachsten Form folgendermaßen angelegt werden: create index test_text_i1 on test_text(text) indextype is ctxsys.context local;

Der ungünstigste Fall tritt ein der Context-Index ist defekt (was theoretisch natürlich nie passiert ). Die Anwendung kann die Verfügbarkeit des Index prüfen: select index_name, partition_name, status, high_value from user_ind_partitions where index_name = 'TEST_TEXT_I1'; INDEX_NAME PARTITION_ STATUS HIGH_VALUE ------------ ---------- ---------- ------------------------- TEST_TEXT_I1 P1 UNUSABLE TO_DATE(' 2004-08-01 00:0 TEST_TEXT_I1 P2 UNUSABLE TO_DATE(' 2004-09-01 00:0 Die Anwendung erkennt, dass der Index nicht verfügbar ist, und kann den User darüber informieren und Suchanfragen unterbinden. Der Administrator setzt im Hintergrund einen Rebuild des Index partionsweise auf. Hierzu wird der Index zunächst als unusable angelegt. Durch nopopolate wird lediglich der Index im Data-Dictionary ohne Daten zu indizieren definiert, was weniger als eine Sekunde dauert. drop index test_text_i1; create index test_text_i1 on test_text(text) indextype is ctxsys.context local (partition p1 parameters ('memory 20M'), partition p2 parameters ('memory 20M')) parameters ('nopopulate') unusable; Anschließend können die einzelnen Partionen (nacheinander oder parallel) wieder aufgebaut werden. Weil die Anwender vorrangig nach den Einträgen des letzten Monats suchen, wird die Partition p2 als erstes aufgebaut. alter index test_text_i1 rebuild partition p2 parameters ('replace memory 100M'); select index_name, partition_name, status, high_value from user_ind_partitions where index_name = 'TEST_TEXT_I1'; INDEX_NAME PARTITION_ STATUS HIGH_VALUE ------------ ---------- ---------- ------------------------- TEST_TEXT_I1 P1 UNUSABLE TO_DATE(' 2004-08-01 00:0 TEST_TEXT_I1 P2 USABLE TO_DATE(' 2004-09-01 00:0 Die Anwendung erkennt nun, dass die Partition p2 benutzbar ist. Deshalb kann eine Suche über den Monat August 2004 zugelassen werden. Durch die Einschränkung des Partitionskriteriums in der where - clause wird durch Partition-Pruning nur auf die Partition p2 zugegriffen. Im Execution-Plan ist dies durch 'BY LOCAL INDEX ROWID' zu erkennen.

select * from test_text where datum < to_date('01.09.2004', 'DD.MM.YYYY') and datum > to_date('01.08.2004', 'DD.MM.YYYY') and contains(text, 'Oracle Text') > 0; DATUM ID TEXT -------- ---------- -------------------- 17.08.04 80000 Test Oracle Text Ausführungsplan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=43) 1 0 TABLE ACCESS (BY LOCAL INDEX ROWID) OF 'TEST_TEXT' (Cost=2 Card=1 Bytes=43) 2 1 DOMAIN INDEX OF 'TEST_TEXT_I1' (Cost=0) Eine Abfrage ohne Einschränkung auf die Partition p2 führt natürlich zu diesem Fehler: select * from test_text where contains(text, 'Oracle Text') > 0; select * * FEHLER in Zeile 1: ORA-29954: domain index partition is marked LOADING/FAILED/UNUSABLE Während der Anwender seine gewohnte Funktionalität mit den Daten des letzten Monats zur Verfügung hat, kann der Administrator alle restlichen Partitionen neu aufbauen. Folgende Grafik verdeutlicht noch einmal den Ablauf:

Mit einem solchen oder ähnlichen Szenario ist es endlich möglich, realistische und praktikable SLA's für eine Teilmenge von Daten im Oracle-Text-Umfeld zu vereinbaren. Migration zu local partitioned Context-Indizes Eine interessante Möglichkeit auf local partitioned Context-Indizes zu wechseln, bietet ab 9i R2 das Statement alter table exchange partition, das dazu dient, eine nicht partitionierte Tabelle als Partition in eine partitionierte Tabelle einzuhängen. Die Daten werden dabei physikalisch nicht bewegt. Ab 9i R2 werden auch Context-Indizes ohne Rebuild mit übernommen. Bei einer Verteilung der Daten- und Context-Partitionen auf einzelne Tablespaces ist es im Zusammenhang mit transportable Tablespaces und exchange partition möglich, den Aufbau eines Context-Index auf mehreren verschiedenen Datenbank-Rechnern durchzuführen und anschließend in eine Datenbank zusammenzuführen. Kontakt: Andreas Habl andreas_habl@msg.de