Thursday 16 March 2017

Oracle Xmltype Store As Binary Optionen

Ich verwende XMLType Spalte in einigen meiner Oracle-Datenbanktabelle. Früher (in 11.2.0.2) ist der voreingestellte Lagertyp CLOB. Also, wenn Sie eine Abfrage für die XMLType-Spalten ausgeben, kann ich den Inhalt der Spalte als XML-String sehen. Aber wenn ich alle Tische ablegen und neu erstellen und einige Daten einfügen, konnte ich den Inhalt der XMLType-Spalten nicht abrufen. Es zeigt den XMLType im Cloumn-Wert einfach an. Ich habe Zweifel daran, ob der Speichertyp in BINARY XML eingehängt ist. So lese ich die folgende Änderungserklärung aus: Bitte beachten Sie, dass in der Tabelle bereits einige Daten vorhanden sind. Event, nachdem ich eine Zeile gelöscht und eingefügt habe, wird der Inhalt als XMLType angezeigt. Ich verwende SQL-Entwickler-UI-Tool. Kann jemand einen Weg vorschlagen, um dieses Problem zu beheben Ok, jetzt haben wir beschlossen, dass wir den Inhalt der XMLType-Spalte als SECURE FILE BINARY XML speichern werden. So haben wir eine Tabelle wie folgt: Die XMLType colum wird als SYS. XMLType im SQL-Entwickler angezeigt. So wie bekomme ich den Inhalt der binären XML SELECT x. ID, x. Vid, x. details. getCLOBVal () FROM XMYTYPETESTx wo x. ID100000 Die obige Abfrage funktioniert für mich endlich. Die Oracle Dokumentation behauptet, dass es XMLType mehr speichert Kompakt als BINARY XML als als CLOB. Aber wie finde ich heraus, wie viel Platz von der binären xml genommen wird. Also, vsize scheint die Größe einer Art von Zeiger oder LOB Locator zu sein, und getclobval entpackt das binäre XML in Text. Aber was ist mit der Speichergröße der binären XML selbst Bitte helfen, die Tischgröße ist 340GB, also lohnt es sich, in die Speicheroptionen zu schauen. Fragte am 15. Juli um 17:41 Nun, ein Segment hat nichts mit einer Reihe als solche zu tun. Ein Segment ist entweder eine Tabelle, Tabellenpartition, Index, LOB. Das Wichtigste ist, mehr als 4k in ihm zu speichern, so dass dein lob won39t gespeichert werden quotin linequot, was bedeutet, innerhalb der eigentlichen Datenbank-Block der Zeile selbst, sondern ist in einem Zitat linequot LOB Segment gespeichert. Ndash gvenzl Jul 22 14 um 13:00 Rep-Ausgabe, nicht erlaubt, Kommentare zu schreiben, die Sie zwischen Fragen sagen wollten, wie ich verstand. Die einzige Ähnlichkeit ist Speicherplatz Problem, dachte, es könnte hilfreich sein, für Vermutung Schätzung. Sie haben nicht erwähnt, welche Art von Daten Sie als bXML speichern werden. Entpackt das binäre XML in Text Wenn reines XML dann hängt davon ab, welchen Kompressor du verwenden wirst. Normalerweise wird lzmagzip für die binäre Kompression verwendet. Vielleicht schreibe ich über zu offensichtliche Dinge, aber das ist alles, was ich weißBinary XML Data Storage in 11g Oracle 11g Neue Features Tipps In früheren Versionen von Oracle waren zwei Extensible Markup Language (XML) Speicheroptionen verfügbar: unstrukturiert oder CLOB und Speicher und Strukturiert oder schema-basiert. In Oracle 11g wurde binäres XML als neue Speicheroption hinzugefügt. Unstrukturierte Speicherung behandelt ein XML-Dokument als großes Objekt und speichert die Datei in der Datenbank, ohne sich des Inhalts bewusst zu sein. Diese Option hat die beste Einfüge - und Löschleistung, aber der schlechteste relationale Zugriff und den Verbrauch von Speicherplatz. Der strukturierte Speicher erfordert eine vorherige Registrierung des XML-Schemas und fügt ein XML-Dokument in eine Objekt-relationale Struktur ein. Diese Speicheroption hat die beste Abfrageleistung und Speicherplatzverbrauch, aber die höchsten Kosten bei der ersten Einfügung. Diese hohen Kosten werden verursacht, weil beim Einfügen das Dokument zerrissen und in Datenbankobjekten gespeichert wird, die bei der Registrierung des XML-Schemas erstellt wurden. Binary XML, die neue Speicheroption, die in 11g eingeführt wurde, speichert das Dokument in einem Post-Parse-Binärformat, das speziell für XML entwickelt wurde. Diese Option wird wahrscheinlich die beste Wahl für die meisten XML-Anforderungen sein. Der zusätzliche Binärspeicher bietet eine Einfügungsleistung, die mit einer unstrukturierten Speicherung vergleichbar ist, aber eine Abfrage - und Speicherplatzleistung, die mit einer strukturierten Speicherung vergleichbar ist. Im Gegensatz zur strukturierten Speicherung sind die Vorteile von binärem XML nicht von der Schemaregistrierung abhängig. Dies ist aufgrund der Möglichkeit, ein binäres XML-Schema zu registrieren, um Schema-basierte binäre XML-Tabellen zu haben. Es bleibt jedoch eine Einschränkung, dass ein registriertes XML-Schema nicht zwischen einer binären XML - und einer Objekt-relationalen Tabelle geteilt werden kann. Die beste Strategie bei der Auswahl, wie man XML-Inhalte verwalten kann, ist, zuerst die Binärspeicheroption zu versuchen und zu bewerten, ob die Leistung akzeptabel ist. Wenn die relationale Zugriffsleistung nicht akzeptabel ist, dann versuchen Sie die strukturierte Speicheroption. Der Grund dafür, dass der Binärspeicher bevorzugt ist, ist, dass er einfach zu bedienen ist und die geringste Wartung erfordert, da eine Schema-Registrierung nicht erforderlich ist. Binäre XML-Typ-Spalten sind auch in Nicht-XMLType-Tabellen einfacher zu verwenden, da die Leistung nicht von der Erstellung von Indizes abhängig ist. So verwenden Sie binäre Speicherung muss die XML-Tabelle mit der folgenden Syntax erstellt werden: SQLgt TABLE BINARYXMLTABLE VON XMLType XMLTYPE STORE CREATE AS BINARY XML 2 Betrachten Sie das folgende XML-Dokument für Bestellvorgänge: ltxml versionquot1.0quotgt ltordergt ltcustomergt ltnamegtCustomer ABCltnamegt ltccNumgt1234123412341234ltccNumgt ltcustomergt ltorderLinesgt ltitemgt ltitemidgt108ltitemidgt ltitemnamegtORACLE 11G NEUE FEATURES BOOK ED1.0ltitemnamegt ltquantitygt1ltquantitygt ltunitPricegt38.00ltunitPricegt ltitemgt ltitemgt ltitemidgt109ltitemidgt ltitemnamegtORACLE TUNING GUIDE ED1.0ltitemnamegt ltquantitygt1ltquantitygt ltunitPricegt22.00ltunitPricegt ltitemgt ltorderLinesgt ltreceiptgt ltsubtotalgt60.00ltsubtotalgt ltsalesTaxgt4.80ltsalesTaxgt lttotalgt64.80lttotalgt ltreceiptgt ltordergt Legen Sie dieses Dokument in die binäre XML-Tabelle unter Verwendung der folgenden Syntax: SQLgt einfügen in BINARYXMLTABLE Werte (XMLTYPE (BFILENAME (XMLDIR, testdocument. xml), nlscharsetid (AL32UTF8))) nach dem Einsetzen ist das Dokument sofort für relationale Zugang verfügbar. SELECT ExtractValue (Wert (b), ordercustomername) Kundenname, ExtractValue (Wert (d), itemitemid) itemid, ExtractValue (Wert (d), itemquantity) Menge, ExtractValue (Wert (d), itemunitPrice) Einzelpreis, ExtractValue (Wert (b ), orderreceiptsubtotal) Zwischensumme, ExtractValue (Wert (b), orderreceiptsalesTax) SalesTax, ExtractValue (Wert (b), orderreceipttotal) insgesamt aus BINARYXMLTABLE a, TABLE (XMLSequence (Auszug (objectvalue, Bestellung))) b, TABLE (XMLSequence (Auszug (Wert (b), orderorderLines))) c, TABLE (XMLSequence (Auszug (Wert (c), orderLinesitem))) d CUSTOMER ITEMID MENGE UNITPRICE SUBTOTAL SalesTax TOTAL -------------- - ------ -------- ---------- -------- -------- ------ Kunden ABC 108 1 38.00 60.00 4.80 64.80 Kunde ABC 109 1 22.00 60.00 4.80 64.80 Wie oben gezeigt, ändert sich die Syntax für den relationalen Zugriff auf eine binäre XML-Tabelle nicht von anderen Speicheroptionen. Dies ist ein Auszug aus dem neuen Buch Oracle 11g New Features. Expert Guide to the Wichtige neue Features von John Garmany, Steve Karam, Lutz Hartmann, V. J. Jain, Brian Carr. Sie können es direkt aus dem Verlag für 30 aus kaufen. Burleson ist das amerikanische Team Hinweis: Diese Oracle-Dokumentation wurde als Support - und Oracle-Trainingsreferenz für den Einsatz durch unsere DBA Performance Tuning Beratungsfachleute erstellt. Fühlen Sie sich frei, Fragen zu unserem Oracle-Forum zu stellen. Überprüfen Sie die Erfahrung Jeder, der die Dienste eines Oracle-Support-Experten in Erwägung zieht, sollte selbstständig ihre Anmeldeinformationen und Erfahrungen untersuchen und sich nicht auf Werbung und selbst verkündeten Fachwissen verlassen. Alle legitimen Oracle-Experten veröffentlichen ihre Oracle-Qualifikationen. Errata Oracle-Technologie ändert sich und wir bemühen uns, unsere BC Oracle Support-Informationen zu aktualisieren. Wenn Sie einen Fehler finden oder einen Vorschlag zur Verbesserung unserer Inhalte haben, würden wir uns über Ihr Feedback freuen. Nur E-Mail: und die URL für die Seite einfügen. Das Oracle der Datenbankunterstützung Copyright-Kopie 1996 - 2016 Alle Rechte vorbehalten von Burleson Oracle reg ist das eingetragene Warenzeichen der Oracle Corporation.


No comments:

Post a Comment