Mehr

QGIS Server veröffentlicht keine PostGIS, Oracle oder SQLITE Layer

QGIS Server veröffentlicht keine PostGIS, Oracle oder SQLITE Layer


Ich möchte einen Postgis-Layer veröffentlichen, der in einem QGIS-Projekt mit dem QGIS-Server definiert ist. Das Funktionsdokument des QGIS Servers enthält keine Layerbeschreibung des Layers. Wenn ich dies zum Beispiel mit einem lokalen shp-Layer versuche, funktioniert es. Gibt es hierzu eine Lösung.

Meine Version von QGIS ist 2.6 für Windows 64 Bit und ich habe den QGIS Server über das OSGEO-Setup auf demselben System installiert.

REQUEST=GetMap gibt ein leeres Bild zurück


QGIS Server veröffentlicht keine PostGIS, Oracle oder SQLITE Layer - Geographic Information Systems

Manifold hat das Echte

GIS ist besser mit echtem SQL

SQL ist der weltweite Standard für die Manipulation von Daten. Wenn Sie sich auf die phänomenale Leistungsfähigkeit und Bequemlichkeit von SQL in Datenbanken verlassen, benötigen Sie dieselbe Leistungsfähigkeit und Bequemlichkeit in Ihrem Desktop-GIS.

  • FME - Kein SQL.
  • Global Mapper - Kein SQL.
  • MapInfo Pro - SQL-Teilmenge mit eingeschränkten Auswahl- und Join-Dialogen. Kein SQL für Raster.
  • QGIS - Kein natives SQL. Abhängig von SQLite, PostGIS usw.
  • ESRI ArcGIS Pro - Sehr begrenzte SQL-Untermenge, für einfache Ausdrücke mit wenigen Funktionen. Kein SQL für Raster. Siehe die Vergleichsseite SQL: Manifold vs. Arc.
  • Verteiler - Echtes SQL, mit dem weltbesten eingebauten Spatial SQL: kein externes DBMS erforderlich. Funktioniert für alle Daten, einschließlich Raster, Vektoren und Tabellen. Das einzige SQL, das automatisch CPU-parallel ist und GPU parallel. Enthält Hunderte von räumlichen SQL-Funktionen. Weitere Informationen finden Sie auf der Seite Manifold Spatial SQL.

Echtes SQL oder nur ein Client für etwas anderes?

  • Kunden - Wenn ein externes DBMS-Paket mit SQL verwendet wird, FME, QGIS, und ArcGIS Pro kann Abfragen in der SQL dieses DBMS starten, jedoch nur für Daten in diesem DBMS. QGIS kann auch teilweise SQL-Funktionalität für Ansichten bereitstellen, indem eine temporäre Datei in SQLite geöffnet wird.
  • Verteiler - Manifold kann auch ein Client sein, auch wenn es als eigener Server fungiert. Manifold kann externe DBMS-Quellen mit Manifold SQL oder der nativen SQL für das Paket oder einer Mischung aus beidem in derselben Abfrage abfragen. Manifold kann Daten aus verschiedenen DBMS-Quellen in derselben Abfrage mischen.

Es ist leicht zu erkennen, ob ein GIS nur ein Client ist, anstatt über echte, integrierte SQL-Fähigkeiten zu verfügen: Verbinden Sie sich mit einem Shapefile oder einem GeoTIFF und führen Sie eine SQL-Abfrage wie im folgenden einfachen Beispiel aus. Wenn das Paket das nicht kann, hat es kein echtes SQL.

Angenommen, Ihr Shapefile enthält Linien für Autobahnen in den USA mit den Attributen Name und Länge für jede Autobahn, aber jede Autobahn, wie die Interstate 80 in den USA, wird durch viele kleine Linien dargestellt, die aneinander gereiht sind, anstatt einer großen Linie. Ermöglicht das Paket das Schreiben einer einfachen Abfrage, um alle gleichnamigen Linien zu einer einzigen Polylinie zusammenzuführen, ihre Längen zu addieren und das Ergebnis in einer neuen Tabelle zu platzieren? Wenn nicht, enthält das Paket kein echtes SQL.

Hier ist die einfache Abfrage, um dies in Manifold zu tun, indem Sie eine der vielen SQL-Funktionen von Manifold verwenden, um die Zeilen zusammenzuführen:

Ein paar einfache SQL-Zeilen können problemlos Hunderte von Zeilen im Skriptcode ersetzen, die das Rad für GIS-Pakete neu erfinden, die kein SQL enthalten. Manifold kann die obige Abfrage ausführen, FME, Global Mapper, MapInfo, QGIS und ArcGIS Pro jedoch nicht. Betrachten Sie für andere Beispiele einfache UPDATE-Abfragen, das Hinzufügen von Daten mit JOINs und andere routinemäßige SQL-Abfragen.

Nur 95 $, voll bezahlt. Das fortschrittlichste Spatial SQL der Welt kostet nur 95 US-Dollar. Tolle! Das ist der voll bezahlte Preis für Manifold System Release 9. Das schnellste und leistungsstärkste Desktop-GIS der Welt, das je entwickelt wurde, hat jetzt auch die weltweit niedrigsten Betriebskosten. Verteiler stürzt nie ab, egal wie komplex die Abfrage ist. Super!

Liebe SQL? - Testen Sie Manifold SQL kostenlos im kostenlosen Manifold Viewer.

Überprüfen Sie die Dokumentation

Eine andere Möglichkeit, um festzustellen, ob ein GIS-Paket echtes SQL enthält, besteht darin, im Benutzerhandbuch nach "SQL" zu suchen. Wenn es kein Kapitel mit vielen Themen gibt, das eine SQL-Referenz und eine vollständige Diskussion über die Verwendung von SQL bietet, gibt es kein echtes SQL.

Suchen Sie nach "SQL" im Manifold User Manual Suchfeld und Sie erhalten fast 500 Themen, einschließlich zahlreicher schrittweiser SQL-Beispielthemen. Die wichtigsten SQL-Referenzthemen finden Sie im SQL-Kapitel im Benutzerhandbuch.

Suchen Sie in der Dokumentation für FME, Global Mapper, QGIS oder ArcGIS Pro nach "SQL" und Sie finden absolut nichts über SQL oder eine Diskussion darüber, wie man SQL in einem externen DBMS wie SQL Server oder PostgreSQL verwendet, oder im Fall von ArcGIS Pro, eine einseitige Diskussion der eingeschränkten Fähigkeiten von Arc für SQL-Ausdrücke.

Obwohl das Inhaltsverzeichnis des MapInfo-Benutzerhandbuchs SQL nicht erwähnt, bietet MapInfo eingeschränkte SQL-Auswahl- und Join-Funktionen in Form von Dialogfeldern.

Keine Datenbank? . Kein SQL

Andere Desktop-GIS-Pakete verfügen nicht über echtes SQL, da sie im Kern über kein internes DBMS verfügen. Fast alle wurden ursprünglich als Zuschauer der in gespeicherten Daten extern Datenquellen, sodass sie keine eigenen Datenspeicher-Engines innerhalb des GIS haben. Da sie keine eigenen Datenspeicher-Engines haben, haben sie auch kein echtes SQL. Stattdessen verbinden sie sich als dumme Clients mit externen DBMS-Paketen, die über SQL verfügen, wie Oracle- oder PostgreSQL-DBMS-Servern, oder mit Dateidatenbanken wie Microsoft Access oder SQLite. Das bedeutet, dass Sie nur SQL erhalten, wenn Sie eine Verbindung zu diesen Datenquellen herstellen, und Sie erhalten null SQL mit Hunderten anderer Formate oder Datenquellen.

QGIS ist ein gutes Beispiel für ein Viewer-/Client-GIS, das selbst keine Datenbank ist und kein natives SQL hat: Es gibt keinen Import von Daten aus einem Dateiformat wie GeoTIFF, hinein QGIS und dann SQL für die Rasterdaten. Q muss die Daten in dem Dateiformat oder Datenspeicher belassen, mit dem es verbunden ist. Wenn dieser Datenspeicher ein DBMS-Paket mit den gewünschten SQL-Funktionen ist, haben Sie Glück und können Q als Client verwenden, um Abfragen in diesem DBMS zu starten. Sie haben kein Glück für echtes SQL, wenn die Datenquelle wie GeoTIFF oder ein Shapefile ist nicht ein DBMS-Paket, das SQL bereitstellt.

QGIS kann Erstellen Sie temporäre SQLlite-Dateien, die Ansichten von Vektorebenen bereitstellen, die keine Datenbanken sind, sondern nur mit Daten, die mit Spatialite kompatibel sind (keine Raster) und mit der erdrückend langsameren Leistung beim Routing von Daten zu und zurück von der externen SQLite-Datei. Die begrenzte verfügbare SQL-Teilmenge erlaubt kein UPDATE oder andere Manipulation der Originaldaten, wie es eine echte SQL-Person erwartet, also ist es nicht so, als ob echtes SQL in das GIS integriert wäre.

ArcGIS Pro von ESRI steht auf der Evolutionsleiter etwas höher, da es einige native "SQL-ähnliche" Funktionen bietet, selbst wenn es nicht mit einem echten DBMS-Paket wie Oracle, MySQL oder SQL Server verbunden ist. Aber diese Fähigkeiten sind eine so extrem begrenzte Teilmenge von SQL, die im Grunde nur die SQL-Syntax in einfachen Ausdrücken verwendet, dass Sie nicht die Leistungsfähigkeit von echtem SQL erhalten. Überraschenderweise gilt dies sogar, wenn eine Verbindung zu den ESRI-eigenen File-Geodatabases besteht. Wenn Sie echtes SQL wünschen, wenn Sie mit einer ESRI-File-Geodatabase verbunden sind, müssen Sie Manifold verwenden.

Erstaunliche Geschwindigkeit und parallele Leistung

Im Gegensatz zu anderen Desktop-GIS-Paketen wurde Manifold von Grund auf als eine der modernsten und schnellsten SQL-Maschinen der Welt entwickelt. Manifold ist intern ein sehr schnelles, vollständig paralleles räumliches DBMS, das für den GIS-Einsatz entwickelt wurde und eine vollständig parallele SQL-Abfrage-Engine enthält. Schreiben Sie normales SQL, und die Manifold-Abfrage-Engine parallelisiert es automatisch, um die CPU in vielen CPU-Threads parallel auszuführen und auch in Hunderten oder Tausenden von GPU-Kernen massiv parallel zu laufen. Das kann kein anderes Desktop-GIS.

Die SQL von Manifold ist so unglaublich schnell und so hoch optimiert, dass komplexe SQL-Abfragen in Manifold normalerweise schneller ausgeführt werden als vergleichbare in C++ geschriebene Programme. In den meisten Anwendungen ist Manifold SQL normalerweise schneller als PostgreSQL/PostGIS für Vektor-GIS-Arbeiten und dramatisch schneller als PostgreSQL/PostGIS mit Rasterdaten, manchmal innerhalb von Minuten, was in Postgres Stunden dauert. PostgreSQL ist ein schnelles DBMS, das sagt also viel aus.

Parallel SQL in Manifold ist auch erheblich schneller als nicht paralleles Scripting mit ArcPy oder Python, selbst wenn bekannte Bibliotheken wie Pandas verwendet werden. In extremen Fällen, wenn der On-the-Fly-SQL-Optimierer von Manifold schwere mathematische Arbeiten an eine massiv parallele Berechnung auf Tausenden von GPU-Kernen verteilen kann, kann Manifold SQL in wenigen Minuten das erledigen, was dauern kann Tage im Bogen. Das ist nicht nur ein vollständig implementiertes SQL, das ist ein SQL mit paralleler GPU-Leistung, das Sie in Oracle, SQL Server, MySQL oder PostgreSQL/PostGIS nicht erhalten können. Tolle!

Leicht zu erlernen, immer verfügbar

Bei anderen GIS-Paketen kommt es, abgesehen davon, dass es überhaupt kein SQL für Hunderte von verschiedenen Datenquellen gibt, bei den wenigen Datenquellen, in denen Sie SQL erhalten, mit viel zusätzlicher Komplexität. Wenn Sie überhaupt SQL erhalten, hängt die SQL, die Sie erhalten, von der Datenquelle ab, zu der Sie eine Verbindung herstellen. Verbinden Sie sich mit einem Shapefile und Sie erhalten null SQL mit QGIS und nahezu null SQL mit ArcGIS Pro. Stellen Sie eine Verbindung zu Oracle, SQL Server, MySQL oder Postgres her, und Sie müssen vier verschiedene SQL-Varianten lernen, da für jede eine andere SQL verwendet wird.

Möchten Sie nur eine SQL-Abfrage schreiben, die mit all Ihren Datenquellen und all diesen verschiedenen DBMS-Paketen funktioniert? Das ist nicht möglich, da sie alle unterschiedliche SQLs mit unterschiedlichen Fähigkeiten zum Umgang mit Rastern und Vektoren haben. Importieren Sie ein 100-GB-GeoTIFF und verwenden Sie SQL, um räumliche Verknüpfungen mit Rasterdaten durchzuführen? Mit Arc oder Q geht das überhaupt nicht, aber es ist schnell und einfach und mit Manifold integriert.

Mit Manifold haben Sie immer das gleiche, vollwertige, vollständig artikulierte SQL zur Hand, sowohl für native Manifold-Projekte als auch für Hunderte verschiedener Datenquellen, Raster und Vektor, egal mit welcher Datenquelle Sie sich verbinden, von Shapefiles bis zu GeoTIFFs zu LiDAR zu SQL Server. Schreiben Sie eine einzelne Abfrage in Manifold SQL, und Sie können dieselbe Abfrage mit Daten verwenden, die in Oracle, PostgreSQL, SQL Server, Shapefiles, ESRI-Geodatabases oder SQLite gespeichert sind. Sie können auch das native SQL der Datenquelle verwenden, wenn Sie es vorziehen, und sogar sowohl natives SQL als auch Manifold SQL in derselben Abfrage mischen.

Zum Beispiel könnte dieselbe Abfrage natives SQL auf einem Oracle-Server starten, um die relevanten Datensätze serverseitig zu extrahieren, und dann Manifold SQL in derselben Abfrage verwenden, um diese Datensätze mit der erstaunlichen Geschwindigkeit einer massiv parallelen GPU-Berechnung mit Tausenden von Kernen zu analysieren auf Ihrem Desktop. Kein anderes Desktop-GIS kann das, und keiner der großen DBMS-Server bietet die sehr breite Palette von CPU-parallel- und GPU-parallel-SQL-Funktionen, die Manifold bietet.

Wenn Sie SQL gerne in Data Science und DBMS einsetzen, werden Sie die sogenannten "SQL"-Funktionen in anderen GIS-Paketen mit ihren Einschränkungen in den Wahnsinn treiben. Im Gegensatz dazu, wenn Sie Manifold starten, je höher Ihre SQL-Standards sind, desto mehr werden Sie von der Breite und Tiefe von SQL in Manifold begeistert sein, mit absoluter Beherrschung der Details in einer herausragenden, professionellen Abfrage-Engine und SQL-Implementierung. Manifold bietet nicht nur ein überlegenes SQL innerhalb seiner eigenen nativen Spatial-Datenbank-Engine, es bietet auch eine überlegene SQL-Nutzung, wenn es als Client mit erstklassigen DBMS-Paketen wie Oracle, SQL Server, MySQL, PostgreSQL/PostGIS und DB2 verbunden ist.

Links und Quellen

  • Verteiler - Version 9 Benutzerhandbuch
  • FME - Dokumentationsseite der FME-Plattform
  • Global Mapper - Global Mapper-Benutzerhandbuch
  • MapInfo Pro - MapInfo Pro v2019-Benutzerhandbuch
  • QGIS - QGIS 3.16 Benutzerhandbuch
  • ESRI ArcGS Pro - ArcGIS Pro SQL-Referenz

Erleben Sie vielfältige Leistung in einem kostenlosen Tool

Manifold Viewer ist die kostenlose, schreibgeschützte Version von Manifold Release 9. Obwohl Viewer keine Projekte schreiben oder bearbeitete Daten wieder in den ursprünglichen Datenquellen speichern kann, bietet Viewer phänomenale Möglichkeiten, fast alle möglichen verschiedenen Datentypen in Tabellen anzuzeigen und zu analysieren , Vektorgeometrie, Rasterdaten, Zeichnungen, Karten und Bilder aus Tausenden verschiedener Quellen. Viewer enthält auch vollständiges SQL mit Hunderten von räumlichen und anderen Analysefunktionen.

Viewer kann auch räumliche Indizes für ganze Ordner voller LiDAR-Dateien erstellen und schreiben, Verbindungen zu bevorzugten Dateien und Datenquellen speichern und sogar Lokalisierungsdateien bearbeiten und speichern, um Manifold in neue Sprachen zu übersetzen.

Manifold Viewer bietet ein wirklich nützliches, vollständig CPU-paralleles und GPU-paralleles Manifold-Tool, das Ihnen parallele Leistung und endlose Manifold-Funktionen zum Nulltarif bietet. Keine Registrierung, keine Adware, keine Spendenaufforderung und kein Verkauf: Verwenden Sie Viewer nach Belieben, auch zu kommerziellen Zwecken. Sie können den Viewer sogar kostenlos weitergeben.

Viewer ist eine großartige Möglichkeit, die erstaunlichen Projekte, die Sie in Manifold erstellen, kostenlos zu teilen. Veröffentlichen Sie in Manifold erstellte Projekte mit mehreren hundert GB, die jeder in 1/10 Sekunde öffnen kann kostenlos Viewer verwenden. Veröffentlichen Sie Projekte, die automatische Verbindungen zu den Datenbanken Ihres Unternehmens und weltweit im Internet bereitgestellten Daten enthalten, und enthalten Sie vorgefertigte, ausgefeilte Analysen und dynamische Berichte, die Benutzer mit einem Mausklick starten können. Verfolgen Sie Pandemien, helfen Sie Ersthelfern bei der Bekämpfung von Waldbränden oder helfen Sie Ihrem Unternehmen einfach, einen besseren Job zu machen.

Der kleine Download des Viewers (nur 50 MB), der sofortige Start und die saubere Anzeige - frei von verschlungenen Bändern und endlosen, verwirrenden Schaltflächen - machen es perfekt für ungeübte Benutzer. Mit Viewer können eine Million Menschen die beeindruckenden Analysen und Erkenntnisse, die Sie mit einer einzigen Manifold-Lizenz im Wert von 95 US-Dollar erstellen, mit vollständig paralleler Geschwindigkeit teilen, ohne für kostspielige, cloudbasierte Webverarbeitung bezahlen zu müssen. Wie mannigfaltig, Betrachter stürzt nie ab, egal wie groß oder kompliziert die Aufgabe ist.

Betrachter in Aktion sehen Beobachten Sie die Einführung in den Verteiler-Viewer YouTube-Video.

"Mfd 9 wird zu einem wirklich guten Werkzeug für den Datenaustausch mit Nicht-GIS-Leute. Eine saubere Benutzeroberfläche macht es einfach, anderen einfache Aufgaben beizubringen. Einfach ein Projekt zu übertragen. Einfach Software zu installieren. Kostenloser Viewer." - Forumsbeitrag

Jetzt über den Online-Shop kaufen

Kaufen Sie Manifold-Produkte im Online-Shop. Der Laden ist 24 Stunden / sieben Tage die Woche / jeden Tag im Jahr geöffnet. Bestellungen werden sofort mit Seriennummern-E-Mail in Sekundenschnelle bearbeitet. Nutzen Sie die Produkte von Manifold noch heute!

Vielfältige Importe alles: Manifold funktioniert mit Hunderten von verschiedenen Datenquellen, einschließlich fast aller erdenklichen Dateiformate, Datenbanken oder Webprotokolle. Das Bild zeigt Flurstücksdaten in Australien, die aus einer MapInfo-Datei im TAB-Format importiert wurden.

Über Verteiler

Vielfältige Produkte liefern Qualität, Leistung und Wert in den anspruchsvollsten, modernsten und leistungsstärksten räumlichen Produkten der Welt für GIS, ETL, DBMS und Data Science. Die vollständige Integration gewährleistet Benutzerfreundlichkeit, erstaunliche Geschwindigkeit und unschlagbar niedrige Betriebskosten für nur 95 US-Dollar. Sag deinen Freunden!


QGIS: Projekteigenschaften¶

Von dem Projekt → Eigenschaften Menü können Sie auf die Projekteigenschaften Fenster und die drei Untermenüs von unserem Interesse:

Datenquellen

QGIS-Server

Allgemein¶

Allgemeine Einstellungen¶

In diesem Abschnitt ist es möglich, den Titel des Projekts, also den Titel des WebGis-Dienstes, zu definieren.

Aus diesem Grund wird dieser Titel auf der Anwendungsebene der G3W-SUITE verwendet, um das veröffentlichte Projekt eindeutig zu identifizieren. Es ist nicht möglich, verschiedenen Projekten, die auf dem WebGis-Dienst veröffentlicht sind, denselben Namen zuzuweisen.

Wir raten davon ab, Sonderzeichen oder Zahlen im Projektnamen zu verwenden.

Datenquellen¶

Dieses Untermenü definiert die querbare Ebenen auf der WebGis-Serviceebene.

Überprüf den Identifizierbar Spalte für die Layer, die wir im WebGis abfragen möchten

Die Option Transaktionsgruppe nach Möglichkeit automatisch erstellen wird in der Online-Bearbeitungsfunktion automatisch vererbt.

QGIS-Server¶

Servicefunktionen¶

In diesem Abschnitt ist es möglich, die Fähigkeiten des Dienstes zu definieren .

Diese Informationen werden zusammen mit Informationen über die Struktur der Attributtabellen der im Projekt vorhandenen Layer in der Metadaten-Sitzung des kartografischen Kunden.

Funktionen WMS - Angekündigter Umfang¶

In diesem Abschnitt kann die geografische Durchwahl definiert werden, die beim Start des WebGis-Dienstes angezeigt wird.

Stellen Sie zum Definieren die gewünschte geografische Ansicht auf der Karte ein und klicken Sie dann auf das „Aktuelle Canvas-Ausdehnung verwenden“ Taste.

WMS-Funktionen - CSR-Einschränkungen¶

In diesem Abschnitt können Sie die Projektionssysteme definieren, für die das Projekt in Bezug auf OGC-Dienste verfügbar ist.

Es ist eindeutig notwendig, das Projektionssystem, auf dem das Projekt erstellt wurde, einzufügen, diese SR wird durch Klicken auf das hinzugefügt 'Gebraucht' Taste.

Andere geografische Bezugssysteme können durch Anklicken des ‘+’ klicken und aus der Liste der Referenzsysteme auswählen.

Funktionen WMS - Layouts ausschließen¶

In diesem Abschnitt ist es möglich, einige Drucklayouts, die mit dem kartografischen Projekt verbunden sind, von der Verfügbarkeit des WebGis-Dienstes auszuschließen.

Fähigkeiten WMS - Allgemeine Aspekte¶

Zwei weitere Aspekte sind hinsichtlich der WMS-Fähigkeiten überschaubar

Im Allgemeinen wird empfohlen, dies zu überprüfen Verwenden Sie die Layer-IDs als Namen Möglichkeit

die Option Geometrie zur Feature-Antwort hinzufügen muss aktiviert werden, um die Zoom zu den Funktionen auf dem WebGis-Dienst

WFS-Funktionen¶

In diesem Abschnitt können Sie definieren, welche Layer als WFS-Dienste verfügbar gemacht werden.

Der WFS-Dienst wird benötigt, wenn Sie folgende Abfragetypen aktivieren möchten:

bypolygon-Abfrage

Es genügt, nur die Veröffentlicht Säule


3 Antworten 3

Um die Blazor-App in iis zu veröffentlichen, stellen Sie zunächst sicher, dass Sie die folgende iis-Funktion installiert haben:

Laden Sie das Runtime- und Hosting-Paket gemäß Ihrer Version herunter und installieren Sie es.

Vergessen Sie nach der Installation von Hosting-Bundles nicht, den Computer neu zu starten. Wenn Sie ein Hosting-Bundle installiert haben, müssen Sie es reparieren.

Öffnen Sie jetzt die Blazor-Anwendung in Visual Studio, klicken Sie mit der rechten Maustaste auf ein Projekt im Projektmappen-Explorer und wählen Sie die Option "Veröffentlichen...".

Klicken Sie auf Veröffentlichen > Start > Ordner > wählen Sie einen Ordnerpfad und klicken Sie auf die Schaltfläche „Profil erstellen“.

Klicken Sie auf die Schaltfläche „Veröffentlichen“.

Klicken Sie mit der rechten Maustaste auf „Sites“ > „Website hinzufügen…“.

Legen Sie alle Details wie "Site-Name", "Physischer Pfad", "IP-Adresse" usw. fest und klicken Sie auf die Schaltfläche "OK".

Fertig!, klicken Sie nun mit der rechten Maustaste auf Durchsuchen und Sie können Ihre gehostete Anwendung im Browser sehen.


Eine Oracle-Datenbank ist eine Sammlung von Daten, die als Einheit behandelt werden. Der Zweck einer Datenbank besteht darin, verwandte Informationen zu speichern und abzurufen. Ein Datenbankserver ist der Schlüssel zur Lösung der Probleme des Informationsmanagements. Im Allgemeinen verwaltet ein Server in einer Mehrbenutzerumgebung zuverlässig eine große Datenmenge, sodass viele Benutzer gleichzeitig auf dieselben Daten zugreifen können. All dies wird bei hoher Leistung erreicht. Ein Datenbankserver verhindert außerdem unbefugten Zugriff und bietet effiziente Lösungen zur Fehlerbehebung.

Oracle Database ist die erste Datenbank, die für Enterprise Grid Computing entwickelt wurde, die flexibelste und kostengünstigste Möglichkeit, Informationen und Anwendungen zu verwalten.Enterprise Grid Computing erstellt große Pools von modularen Speicherlösungen und Servern nach Industriestandard. Mit dieser Architektur kann jedes neue System schnell aus dem Komponentenpool bereitgestellt werden. Es sind keine Arbeitsspitzen erforderlich, da Kapazitäten nach Bedarf einfach aus den Ressourcenpools hinzugefügt oder neu zugewiesen werden können.

Die Datenbank hat logische Strukturen und physische Strukturen. Da die physischen und logischen Strukturen getrennt sind, kann die physische Speicherung von Daten verwaltet werden, ohne den Zugriff auf logische Speicherstrukturen zu beeinträchtigen.

Der Abschnitt enthält die folgenden Themen:

Überblick über die Oracle Grid-Architektur

Grid Computing ist eine neue IT-Architektur, die widerstandsfähigere und kostengünstigere Unternehmensinformationssysteme erzeugt. Mit Grid Computing können Gruppen unabhängiger, modularer Hard- und Softwarekomponenten bei Bedarf verbunden und wieder zusammengefügt werden, um den sich ändernden Anforderungen von Unternehmen gerecht zu werden.

Der Grid-Stil des Computing zielt darauf ab, einige häufige Probleme der Unternehmens-IT zu lösen: das Problem der Anwendungssilos, die zu unzureichend ausgelasteten, dedizierten Hardwareressourcen führen, das Problem monolithischer, unhandlicher Systeme, die teuer zu warten und schwer zu ändern sind, und das Problem von fragmentierten und desintegrierten Informationen, die vom Unternehmen als Ganzes nicht vollständig verwertet werden können.

Vorteile von Grid Computing Im Vergleich zu anderen Computing-Modellen bieten im Grid-Stil konzipierte und implementierte IT-Systeme eine höhere Servicequalität, niedrigere Kosten und größere Flexibilität. Eine höhere Servicequalität resultiert daraus, dass es keinen Single Point of Failure, eine robuste Sicherheitsinfrastruktur und ein zentralisiertes, richtliniengesteuertes Management gibt. Niedrigere Kosten ergeben sich aus einer höheren Ressourcennutzung und einer drastischen Reduzierung der Verwaltungs- und Wartungskosten. Anstatt einer bestimmten Aufgabe einen Stack aus Software und Hardware zuzuordnen, werden alle Ressourcen gepoolt und nach Bedarf zugewiesen, wodurch unterausgelastete Kapazitäten und redundante Fähigkeiten eliminiert werden. Grid-Computing ermöglicht auch die Verwendung kleinerer einzelner Hardwarekomponenten, wodurch die Kosten jeder einzelnen Komponente reduziert werden und mehr Flexibilität bereitgestellt wird, um Ressourcen gemäß sich ändernden Anforderungen bereitzustellen.

Grid-Computing definiert

Beim Grid-Computing werden Sammlungen ähnlicher IT-Ressourcen ganzheitlich als ein einziger Pool behandelt, während die unterschiedliche Natur der einzelnen Ressourcen innerhalb des Pools ausgenutzt wird. Um die Probleme monolithischer Systeme und fragmentierter Ressourcen gleichzeitig anzugehen, erreicht Grid Computing ein Gleichgewicht zwischen den Vorteilen eines ganzheitlichen Ressourcenmanagements und einer flexiblen unabhängigen Ressourcensteuerung. Zu den in einem Grid verwalteten IT-Ressourcen gehören:

Infrastruktur: die Hardware und Software, die eine Datenspeicher- und Programmausführungsumgebung schaffen

Anwendungen: die Programmlogik und der Ablauf, die spezifische Geschäftsprozesse definieren

Informationen: die Bedeutungen, die allen verschiedenen Arten von Daten innewohnen, die zur Geschäftsabwicklung verwendet werden

Grundprinzipien des Grid-Computing Zwei Grundprinzipien unterscheiden Grid-Computing auf einzigartige Weise von anderen Computerstilen wie Mainframe, Client-Server oder Multi-Tier: Virtualisierung und Bereitstellung.

Bei der Virtualisierung werden einzelne Ressourcen (z. B. Computer, Platten, Anwendungskomponenten und Informationsquellen) nach Typ zusammengefasst und dann durch eine Abstraktion Verbrauchern (z. B. Personen oder Softwareprogrammen) zur Verfügung gestellt. Virtualisierung bedeutet, hartcodierte Verbindungen zwischen Anbietern und Verbrauchern von Ressourcen zu unterbrechen und eine Ressource so vorzubereiten, dass sie einen bestimmten Bedarf erfüllt, ohne dass sich der Verbraucher darum kümmert, wie dies erreicht wird.

Wenn Verbraucher bei der Bereitstellung Ressourcen über eine Virtualisierungsschicht anfordern, wird im Hintergrund eine bestimmte Ressource identifiziert, um die Anforderung zu erfüllen, und dann wird sie dem Verbraucher zugewiesen. Bereitstellung als Teil des Grid Computing bedeutet, dass das System bestimmt, wie der spezifische Bedarf des Verbrauchers erfüllt wird, während der Betrieb des Gesamtsystems optimiert wird.

Die spezifischen Methoden zur Virtualisierung und Bereitstellung von Informations-, Anwendungs- oder Infrastrukturressourcen sind spezifisch für den Ressourcentyp, die Konzepte gelten jedoch universell. In ähnlicher Weise sind die spezifischen Vorteile des Grid-Computing für jeden Ressourcentyp spezifisch, weisen jedoch alle die Merkmale einer besseren Qualität, niedrigeren Kosten und einer höheren Flexibilität auf.

Infrastructure Grid Infrastruktur-Grid-Ressourcen umfassen Hardwareressourcen wie Speicher, Prozessoren, Arbeitsspeicher und Netzwerke sowie Software, die für die Verwaltung dieser Hardware entwickelt wurde, wie Datenbanken, Speicherverwaltung, Systemverwaltung, Anwendungsserver und Betriebssysteme.

Virtualisierung und Bereitstellung von Infrastrukturressourcen bedeuten, dass Ressourcen gebündelt und den entsprechenden Verbrauchern basierend auf Richtlinien zugewiesen werden. Eine Richtlinie könnte beispielsweise darin bestehen, einem Webserver so viel Rechenleistung zuzuweisen, dass er immer eine Reaktionszeit von unter einer Sekunde bereitstellen kann. Diese Regel könnte von der Bereitstellungssoftware auf unterschiedliche Weise erfüllt werden, um die Anfragen aller Verbraucher auszugleichen.

Die Behandlung von Infrastrukturressourcen als ein einziger Pool und die Zuweisung dieser Ressourcen nach Bedarf spart Geld, indem unzureichend genutzte Kapazitäten und redundante Fähigkeiten eliminiert werden. Die ganzheitliche Verwaltung von Hardware- und Softwareressourcen reduziert die Arbeitskosten und die Möglichkeit menschlicher Fehler.

Durch die Verteilung der Rechenkapazität auf viele verschiedene Computer und die Verteilung der Speicherkapazität auf mehrere Festplatten und Festplattengruppen werden einzelne Fehlerquellen beseitigt, sodass das System als Ganzes verfügbar bleibt, wenn eine einzelne Komponente ausfällt. Darüber hinaus bietet Grid Computing die Möglichkeit, kleinere einzelne Hardwarekomponenten wie Blade-Server und kostengünstige Speicher zu verwenden, was eine inkrementelle Skalierung ermöglicht und die Kosten jeder einzelnen Komponente reduziert, wodurch Unternehmen mehr Flexibilität und niedrigere Kosten erhalten.

Infrastruktur ist die bekannteste und am einfachsten verständliche Dimension des Grid-Computing, aber die gleichen Konzepte gelten für Anwendungen und Informationen.

Applications Grid Anwendungsressourcen im Grid sind die Kodierungen der Geschäftslogik und des Prozessflusses innerhalb der Anwendungssoftware. Dabei kann es sich um gepackte Anwendungen oder benutzerdefinierte Anwendungen handeln, die in einer beliebigen Programmiersprache geschrieben sind und jeden Komplexitätsgrad widerspiegeln. Anwendungsressourcen sind beispielsweise die Software, die eine Bestellung von einem Kunden entgegennimmt und eine Bestätigung sendet, der Prozess, der Gehaltsschecks druckt, und die Logik, die einen bestimmten Kundenanruf an einen bestimmten Agenten weiterleitet.

In der Vergangenheit war Anwendungslogik mit Benutzeroberflächencode, Datenverwaltungscode und Prozess- oder Seitenfluss verflochten und es fehlten gut definierte Schnittstellen, was zu monolithischen Anwendungen führte, die schwer zu ändern und schwer zu integrieren sind.

Die serviceorientierte Architektur hat sich als überlegenes Modell für die Erstellung von Anwendungen herauskristallisiert, und serviceorientierte Architekturkonzepte stimmen genau mit den Kernprinzipien des Grid Computing überein. Die Virtualisierung und Bereitstellung von Anwendungsressourcen umfasst die Veröffentlichung von Anwendungskomponenten als Dienste zur Verwendung durch mehrere Verbraucher, die Personen oder Prozesse sein können, und die anschließende Orchestrierung dieser Dienste in leistungsfähigeren Geschäftsabläufen.

So wie Grid Computing eine bessere Wiederverwendung und mehr Flexibilität von IT-Infrastrukturressourcen ermöglicht, behandelt Grid Computing auch Teile der Anwendungslogik als Ressource und ermöglicht eine größere Wiederverwendung von Anwendungsfunktionen und mehr Flexibilität beim Ändern und Erstellen neuer Verbundanwendungen.

Darüber hinaus können Anwendungen, die aus veröffentlichten Diensten orchestriert werden, Aktivitäten in einem Unternehmen als Ganzes anzeigen, sodass Prozesse über Regionen und Geschäftseinheiten hinweg standardisiert und Prozesse durchgängig automatisiert werden. Dies führt zu zuverlässigeren Geschäftsprozessen und senkt die Kosten durch verstärkte Automatisierung und reduzierte Variabilität.

Information Grid Die dritte Dimension des Grid Computing nach Infrastruktur und Anwendungen sind Informationen. Heutzutage sind Informationen in einem Unternehmen häufig fragmentiert, was es schwierig macht, das Unternehmen als Ganzes zu sehen oder grundlegende Fragen zu Kunden zu beantworten. Ohne Informationen darüber, wer der Kunde ist und was er kaufen möchte, werden Informationsressourcen zu wenig genutzt.

Im Gegensatz dazu behandelt Grid Computing Informationen ganzheitlich als Ressource, ähnlich wie Infrastruktur- und Anwendungsressourcen, und extrahiert so mehr von ihrem latenten Wert. Information Grid-Ressourcen umfassen alle Daten im Unternehmen und alle Metadaten, die erforderlich sind, um diese Daten aussagekräftig zu machen. Diese Daten können strukturiert, halbstrukturiert oder unstrukturiert sein, an einem beliebigen Ort, wie Datenbanken, lokalen Dateisystemen oder E-Mail-Servern, gespeichert und von einer beliebigen Anwendung erstellt werden.

Die Grundprinzipien des Grid Computing gelten für Informationen ebenso wie für Infrastruktur und Anwendungen. Das Infrastruktur-Grid nutzt die Leistungsfähigkeit des Netzwerks, um die Kombination mehrerer Server oder Speichergeräte für eine einzige Aufgabe zu ermöglichen und dann bei sich ändernden Anforderungen einfach neu zu konfigurieren. Eine serviceorientierte Architektur oder ein Anwendungs-Grid ermöglicht es, unabhängig entwickelte Dienste oder Anwendungsressourcen zu größeren Geschäftsprozessen zu kombinieren und dann an sich ändernde Anforderungen anzupassen, ohne andere Teile der zusammengesetzten Anwendung zu beschädigen. In ähnlicher Weise bietet das Informationsraster eine Möglichkeit, Informationsressourcen mit verwandten Informationsressourcen zu verbinden, um den Wert der inhärenten Beziehungen zwischen Informationen besser auszunutzen, als neue Verbindungen herzustellen, wenn sich Situationen ändern.

Die relationale Datenbank zum Beispiel war eine frühe Technologie zur Informationsvirtualisierung. Anders als ihre Vorgänger, die Netzwerkdatenbank und hierarchische Datenbankmodelle, bei denen alle Beziehungen zwischen Daten vorherbestimmt werden mussten, ermöglichte die relationale Datenbank einen flexiblen Zugriff auf eine universelle Informationsressource. Heute fördert XML die Informationsvirtualisierung, indem es eine Standardmethode zur Darstellung von Informationen zusammen mit Metadaten bereitstellt, die die feste Verbindung zwischen Informationen und einer bestimmten Anwendung aufhebt, die zum Erstellen und Anzeigen dieser Informationen verwendet wird.

Zu den Informationsbereitstellungstechnologien gehören Message Queuing, Datenweitergabe, Replikation, Extract-Transform-Load sowie Mapping- und Bereinigungstools, um die Datenqualität sicherzustellen. Data Hubs, in denen ein zentraler Betriebsdatenspeicher ständig mit mehreren Live-Datenquellen synchronisiert wird, entwickeln sich als bevorzugtes Modell für die Einrichtung einer einzigen Quelle der Wahrheit unter Beibehaltung der Flexibilität der verteilten Kontrolle.

Grid-Ressourcen arbeiten unabhängig und am besten zusammen Durch die Verwaltung beliebiger IT-Ressourcen und Infrastrukturen, Anwendungen oder Informationen – mit Grid-Computing, unabhängig davon, wie die anderen Ressourcen behandelt werden, können Unternehmen eine höhere Qualität, mehr Flexibilität und niedrigere Kosten erzielen. Es ist beispielsweise nicht erforderlich, Anwendungen umzuschreiben, um von einem Infrastruktur-Grid zu profitieren. Es ist auch möglich, ein Anwendungsgrid oder eine serviceorientierte Architektur bereitzustellen, ohne die Art und Weise zu ändern, wie Informationen verwaltet oder Hardware konfiguriert wird.

Es ist jedoch möglich, einen noch größeren Nutzen zu ziehen, indem Grid Computing für alle Ressourcen verwendet wird. Das Anwendungsraster wird beispielsweise noch wertvoller, wenn Sie Richtlinien für Ressourcenanforderungen auf der Ebene einzelner Dienste festlegen und die Ausführung verschiedener Dienste in derselben zusammengesetzten Anwendung von der Infrastruktur unterschiedlich handhaben lassen können – etwas, das nur von einer Anwendung ausgeführt werden kann Netz in Kombination mit einem Infrastrukturnetz. Darüber hinaus ist der Aufbau eines Informationsrasters durch die Integration von mehr Informationen in eine einzige Informationsquelle nur dann tragbar, wenn die Infrastruktur als Raster konfiguriert ist, sodass sie über die Grenzen eines einzelnen Computers hinaus skaliert werden kann.

Grid-Computing in Oracle-Datenbank 10 g

Auf dem Weg zu dieser großen Vision des Grid Computing benötigen Unternehmen echte Lösungen, um ihre schrittweisen Schritte hin zu einer flexibleren und produktiveren IT-Architektur zu unterstützen. Die Oracle Database 10 g-Softwareproduktfamilie implementiert einen Großteil der Kern-Grid-Technologie, um Unternehmen den Einstieg zu erleichtern. Und Oracle stellt diese Grid-Computing-Funktionalität im Kontext einer ganzheitlichen Unternehmensarchitektur bereit und bietet eine robuste Sicherheitsinfrastruktur, zentralisierte Verwaltung, intuitive, leistungsstarke Entwicklungstools und universellen Zugriff. Oracle Database 10g enthält:

Oracle-Anwendungsserver 10 g

Oracle Enterprise Manager 10 g

Oracle Collaboration Suite 10 g

Obwohl die Grid-Funktionen von Oracle 10g alle oben aufgeführten Produkte umfassen, konzentriert sich diese Diskussion auf die Grid-Computing-Funktionen von Oracle Database 10g.

Servervirtualisierung. Oracle Real Application Cluster 10 g (RAC) ermöglichen die Ausführung einer einzelnen Datenbank über mehrere Cluster-Knoten in einem Grid und bündeln die Verarbeitungsressourcen mehrerer Standardmaschinen. Oracle ist einzigartig flexibel in seiner Fähigkeit, Workloads auf mehreren Computern bereitzustellen, da es die einzige Datenbanktechnologie ist, die keine Partitionierung und Verteilung von Daten zusammen mit der Arbeit erfordert. Die Software Oracle 10 g Release 2 enthält Verbesserungen zum Ausgleichen von Verbindungen zwischen RAC-Instanzen basierend auf Richtlinien.

Speichervirtualisierung. Die Oracle Automatic Storage Management (ASM)-Funktion von Oracle Database 10 g bietet eine Virtualisierungsschicht zwischen Datenbank und Speicher, sodass mehrere Festplatten als eine einzige Festplattengruppe behandelt und Festplatten dynamisch hinzugefügt oder entfernt werden können, während Datenbanken online bleiben. Vorhandene Daten werden zur Leistungs- und Nutzungsoptimierung automatisch auf die verfügbaren Festplatten verteilt. In Oracle 10 g Release 2 unterstützt ASM mehrere Datenbanken mit unterschiedlichen Softwareversionsstufen, die auf denselben Speicherpool zugreifen.

Netzmanagement. Da Grid Computing mehrere Server und Festplatten zusammenfasst und sie mehreren Zwecken zuordnet, wird es wichtiger, dass sich einzelne Ressourcen weitgehend selbst verwalten und andere Verwaltungsfunktionen zentralisiert werden.

Die Grid Control-Funktion von Oracle Enterprise Manager 10 g bietet eine einzige Konsole zur gemeinsamen Verwaltung mehrerer Systeme als logische Gruppe. Grid Control verwaltet die Bereitstellung von Knoten im Grid mit dem entsprechenden vollständigen Software-Stack und ermöglicht die zentrale Verwaltung von Konfigurationen und Sicherheitseinstellungen für Systemgruppen.

Ein weiterer Aspekt des Grid-Managements ist die Verwaltung von Benutzeridentitäten auf eine Weise, die sowohl hochsicher als auch einfach zu warten ist. Oracle Identity Management 10 g umfasst ein LDAP-kompatibles Verzeichnis mit delegierter Verwaltung und jetzt, in Release 2, föderiertes Identitätsmanagement, sodass Single Sign-On-Funktionen sicher über Sicherheitsdomänen hinweg gemeinsam genutzt werden können. Oracle Identity Management 10g hält sich eng an die Grid-Prinzipien, indem es einen zentralen Punkt für Anwendungen zur Authentifizierung von Benutzern verwendet – den Single Sign-On-Server – und im Hintergrund die Kontrolle der Identitäten über Delegation und Föderation verteilt, um die Wartbarkeit und den Gesamtbetrieb des Systems zu optimieren .

Unterstützung für Standard-Webdienste. Neben der robusten Webservice-Unterstützung in Oracle Application Server 10 g kann die Oracle-Datenbank 10 g Webservices veröffentlichen und nutzen. DML- und DDL-Operationen können als Webdienste bereitgestellt werden, und Funktionen innerhalb der Datenbank können einen Webdienst als SQL-Zeilenquelle erscheinen lassen, wodurch die Verwendung leistungsstarker SQL-Tools zur Analyse von Webdienstdaten in Verbindung mit relationalen und nicht relationalen Daten ermöglicht wird.

Oracle Enterprise Manager 10 g verbessert die Unterstützung von Oracle für serviceorientierte Architekturen durch Überwachung und Verwaltung von Webservices und anderen vom Administrator definierten Services, Verfolgung der End-to-End-Leistung und Durchführung einer Ursachenanalyse von aufgetretenen Problemen.

Datenbereitstellung. Informationen beginnen mit Daten, die überall dort bereitgestellt werden müssen, wo Verbraucher sie benötigen. Beispielsweise können Benutzer geografisch verteilt sein, und ein schneller Datenzugriff kann für diese Benutzer wichtiger sein als der Zugriff auf eine identische Ressource. In diesen Fällen müssen Daten zwischen Systemen ausgetauscht werden, entweder in großen Mengen oder nahezu in Echtzeit. Zu den Massendatenbewegungstechnologien von Oracle gehören transportable Tablespaces und Data Pump.

Für eine differenziertere Datenfreigabe erfasst die Oracle Streams-Funktion von Oracle Database 10 g Datenbanktransaktionsänderungen und gibt sie weiter, sodass zwei oder mehr Datenbankkopien synchron bleiben, wenn Aktualisierungen angewendet werden. Es vereint auch traditionell unterschiedliche Mechanismen zum Teilen von Daten, wie z. B. Nachrichtenwarteschlangen, Replikation, Ereignisse, Laden von Data Warehouses, Benachrichtigungen und Publish/Subscribe in einer einzigen Technologie.

Zentralisierte Datenverwaltung. Oracle Database 10 g verwaltet alle Arten von strukturierten, halbstrukturierten und unstrukturierten Informationen, wobei jede auf ihre eigene optimale Weise dargestellt, gepflegt und abgefragt wird, während ein gemeinsamer Zugriff auf alle über SQL- und XML-Abfragen bereitgestellt wird. Neben traditionellen relationalen Datenbankstrukturen implementiert Oracle nativ OLAP-Cubes, Standard-XML-Strukturen, geografische Geodaten und Dateiverwaltung mit unbegrenzter Größe, wodurch die Informationsdarstellung virtualisiert wird. Durch die Kombination dieser Informationstypen können Verbindungen zwischen unterschiedlichen Informationstypen ebenso leicht hergestellt werden, wie neue Verbindungen mit traditionellen relationalen Daten hergestellt werden.

Metadatenverwaltung. Oracle Warehouse Builder ist mehr als ein herkömmliches Batch-ETL-Tool zum Erstellen von Warehouses. Es erzwingt Regeln, um die Datenqualität zu erreichen, führt Fuzzy-Matching durch, um automatisch Dateninkonsistenzen zu überwinden, und verwendet statistische Analysen, um Datenprofile abzuleiten. Mit Oracle 10 g Release 2 werden die Metadatenverwaltungsfunktionen von geplanten Datenabrufen erweitert, um einen Daten-Push zur Transaktionszeit von einer Oracle-Datenbank zu verarbeiten, die die Oracle Streams-Funktion implementiert.

Die Reihe der Enterprise-Data-Hub-Produkte von Oracle (z , Legacy- und benutzerdefinierte Anwendungen. Zusätzlich zu den Mechanismen zur Datenbereinigung und -planung bietet Oracle auch ein wohlgeformtes Schema, das aus jahrelanger Erfahrung mit der Entwicklung von Unternehmensanwendungen für bestimmte gängige Arten von Informationen wie Kunden-, Finanz- und Produktinformationen entwickelt wurde.

Metadaten-Inferenz. Zur Oracle 10 g-Softwarefamilie gehört das neue Oracle Enterprise Search-Produkt. Oracle Enterprise Search 10 g crawlt alle Informationsquellen im Unternehmen, ob öffentlich oder sicher, einschließlich E-Mail-Server, Dokumentenverwaltungsserver, Dateisysteme, Websites, Datenbanken und Anwendungen, und gibt dann Informationen aus allen relevantesten Quellen für a Suchanfrage gegeben. Dieser Crawl- und Indexprozess verwendet eine Reihe von Heuristiken, die für jede Datenquelle spezifisch sind, um Metadaten zu allen Unternehmensinformationen abzuleiten, die verwendet werden, um die relevantesten Ergebnisse für jede Abfrage zurückzugeben.

Überblick über die Anwendungsarchitektur

Es gibt zwei gängige Möglichkeiten, eine Datenbank zu entwerfen: Client/Server oder Multitier.Mit zunehmender Verbreitung von Internet-Computing in Computerumgebungen bewegen sich viele Datenbankverwaltungssysteme in eine mehrschichtige Umgebung.

Client/Server-Architektur

Multiprocessing verwendet mehr als einen Prozessor für einen Satz zusammengehöriger Jobs. Die verteilte Verarbeitung reduziert die Belastung eines einzelnen Prozessors, indem sie es verschiedenen Prozessoren ermöglicht, sich auf eine Teilmenge verwandter Aufgaben zu konzentrieren, wodurch die Leistung und die Fähigkeiten des Systems als Ganzes verbessert werden.

Ein Oracle-Datenbanksystem kann die verteilte Verarbeitung leicht nutzen, indem es seine Client/Server-Architektur verwendet. In dieser Architektur ist das Datenbanksystem in zwei Teile unterteilt: ein Front-End oder ein Client und ein Back-End oder ein Server.

Der Kunde

Der Client ist eine Datenbankanwendung, die eine Anforderung für eine auf dem Datenbankserver auszuführende Operation initiiert. Es fordert, verarbeitet und präsentiert Daten, die vom Server verwaltet werden. Die Client-Workstation kann für ihre Aufgabe optimiert werden. Beispielsweise benötigt es möglicherweise keine große Festplattenkapazität oder profitiert möglicherweise von Grafikfunktionen.

Häufig läuft der Client auf einem anderen Rechner als der Datenbankserver, in der Regel auf einem PC. Viele Clients können gleichzeitig auf einem Server ausgeführt werden.

Der Kellner

Der Server führt die Oracle-Software aus und übernimmt die Funktionen, die für den gleichzeitigen, gemeinsamen Datenzugriff erforderlich sind. Der Server empfängt und verarbeitet die SQL- und PL/SQL-Anweisungen, die von Clientanwendungen stammen. Der Computer, der den Server verwaltet, kann für seine Aufgaben optimiert werden. Es kann beispielsweise über eine große Festplattenkapazität und schnelle Prozessoren verfügen.

Mehrschichtige Architektur: Anwendungsserver

Eine mehrschichtige Architektur hat die folgenden Komponenten:

Ein Client- oder Initiatorprozess, der einen Vorgang startet

Ein oder mehrere Anwendungsserver, die Teile des Vorgangs ausführen. Ein Anwendungsserver bietet dem Client Zugriff auf die Daten und führt einen Teil der Abfrageverarbeitung durch, wodurch ein Teil der Last vom Datenbankserver entfernt wird. Es kann als Schnittstelle zwischen Clients und mehreren Datenbankservern dienen und bietet eine zusätzliche Sicherheitsstufe.

Ein End- oder Datenbankserver, der die meisten der im Vorgang verwendeten Daten speichert

Diese Architektur ermöglicht die Verwendung eines Anwendungsservers, um Folgendes zu tun:

Bestätigen Sie die Anmeldeinformationen eines Clients, z. B. eines Webbrowsers

Verbinden Sie sich mit einem Oracle-Datenbankserver

Führen Sie den angeforderten Vorgang im Auftrag des Kunden durch

Wenn die Proxy-Authentifizierung verwendet wird, wird die Identität des Clients über alle Ebenen der Verbindung hinweg beibehalten.

Überblick über physische Datenbankstrukturen

In den folgenden Abschnitten werden die physischen Datenbankstrukturen einer Oracle-Datenbank erläutert, einschließlich Datendateien, Redo-Log-Dateien und Steuerdateien.

Datendateien

Jede Oracle-Datenbank verfügt über eine oder mehrere physische Datendateien. Die Datendateien enthalten alle Datenbankdaten. Die Daten logischer Datenbankstrukturen wie Tabellen und Indizes werden physisch in den einer Datenbank zugeordneten Datendateien gespeichert.

Die Eigenschaften von Datendateien sind:

Eine Datendatei kann nur einer Datenbank zugeordnet werden.

Für Datendateien können bestimmte Eigenschaften festgelegt werden, damit sie automatisch erweitert werden, wenn der Speicherplatz der Datenbank knapp wird.

Eine oder mehrere Datendateien bilden eine logische Einheit des Datenbankspeichers, die als Tablespace bezeichnet wird.

Daten in einer Datendatei werden bei Bedarf während des normalen Datenbankbetriebs gelesen und im Speichercache von Oracle gespeichert. Angenommen, ein Benutzer möchte auf einige Daten in einer Tabelle einer Datenbank zugreifen. Wenn sich die angeforderten Informationen nicht bereits im Speichercache für die Datenbank befinden, werden sie aus den entsprechenden Datendateien gelesen und im Speicher abgelegt.

Geänderte oder neue Daten werden nicht unbedingt sofort in eine Datendatei geschrieben. Um den Umfang des Plattenzugriffs zu reduzieren und die Leistung zu erhöhen, werden Daten im Speicher zusammengefasst und auf einmal in die entsprechenden Datendateien geschrieben, wie durch den Hintergrundprozess des Datenbankschreiberprozesses (DBW n ) bestimmt.

"Überblick über die Oracle-Instanz" für weitere Informationen über die Speicher- und Prozessstrukturen von Oracle

Steuerdateien

Jede Oracle-Datenbank verfügt über eine Steuerdatei. Eine Steuerdatei enthält Einträge, die die physische Struktur der Datenbank angeben. Sie enthält beispielsweise die folgenden Informationen:

Namen und Speicherorte von Datendateien und Redo-Log-Dateien

Zeitstempel der Datenbankerstellung

Oracle kann die Steuerdatei multiplexen, d. h. gleichzeitig eine Anzahl identischer Steuerdateikopien verwalten, um sich vor einem Ausfall der Steuerdatei zu schützen.

Jedes Mal, wenn eine Instanz einer Oracle-Datenbank gestartet wird, identifiziert ihre Steuerdatei die Datenbank- und Redo-Log-Dateien, die geöffnet werden müssen, damit der Datenbankbetrieb fortgesetzt werden kann. Wenn der physische Aufbau der Datenbank geändert wird (z. B. wenn eine neue Datendatei oder Redo-Log-Datei erstellt wird), wird die Steuerdatei automatisch von Oracle geändert, um die Änderung widerzuspiegeln. Eine Steuerdatei wird auch bei der Datenbankwiederherstellung verwendet.

Protokolldateien wiederherstellen

Jede Oracle-Datenbank verfügt über einen Satz von zwei oder mehr Redo-Log-Dateien. Der Satz von Redo-Log-Dateien wird zusammenfassend als Redo-Log für die Datenbank bezeichnet. Ein Redo-Log besteht aus Redo-Einträgen (auch Redo-Records genannt).

Die primäre Funktion des Redo-Logs besteht darin, alle Änderungen an Daten aufzuzeichnen. Wenn ein Fehler verhindert, dass geänderte Daten dauerhaft in die Datendateien geschrieben werden, können die Änderungen aus dem Redo-Log abgerufen werden, sodass keine Arbeit verloren geht.

Um sich vor einem Fehler zu schützen, der das Redo-Log selbst betrifft, lässt Oracle ein Multiplexed-Redo-Log zu, sodass zwei oder mehr Kopien des Redo-Logs auf unterschiedlichen Platten verwaltet werden können.

Die Informationen in einer Redo-Log-Datei werden nur verwendet, um die Datenbank nach einem System- oder Medienfehler wiederherzustellen, der verhindert, dass Datenbankdaten in die Datendateien geschrieben werden. Wenn beispielsweise ein unerwarteter Stromausfall den Datenbankbetrieb beendet, können die Daten im Speicher nicht in die Datendateien geschrieben werden und die Daten gehen verloren. Verlorene Daten können jedoch beim Öffnen der Datenbank nach Wiederherstellung der Stromversorgung wiederhergestellt werden. Durch Anwenden der Informationen in den neuesten Redo-Log-Dateien auf die Datenbankdatendateien stellt Oracle die Datenbank zu dem Zeitpunkt wieder her, zu dem der Stromausfall aufgetreten ist.

Das Anwenden des Redo-Logs während eines Wiederherstellungsvorgangs wird als Rollforward bezeichnet.

Protokolldateien archivieren

Sie können die automatische Archivierung des Redo-Logs aktivieren. Oracle archiviert Protokolldateien automatisch, wenn sich die Datenbank im ARCHIVELOG-Modus befindet.

Parameterdateien

Parameterdateien enthalten eine Liste von Konfigurationsparametern für diese Instanz und Datenbank.

Oracle empfiehlt, dass Sie eine Serverparameterdatei (SPFILE) erstellen, um die Initialisierungsparameter dynamisch zu verwalten. Mit einer Serverparameterdatei können Sie Ihre Initialisierungsparameter dauerhaft in einer serverseitigen Plattendatei speichern und verwalten.

Oracle Database Administrator's Guide für Informationen zum Erstellen und Ändern von Parameterdateien

Warnungs- und Ablaufverfolgungsprotokolldateien

Jeder Server und jeder Hintergrundprozess kann in eine zugehörige Ablaufverfolgungsdatei schreiben. Wenn ein Prozess einen internen Fehler erkennt, gibt er Informationen über den Fehler in seine Trace-Datei aus. Einige der in eine Trace-Datei geschriebenen Informationen sind für den Datenbankadministrator bestimmt, während andere Informationen für Oracle Support Services bestimmt sind. Informationen zu Ablaufverfolgungsdateien werden auch zum Optimieren von Anwendungen und Instanzen verwendet.

Die Warnungsdatei oder das Warnungsprotokoll ist eine spezielle Ablaufverfolgungsdatei. Das Alert-Log einer Datenbank ist ein chronologisches Protokoll von Meldungen und Fehlern.

Sicherungs-Dateien

Um eine Datei wiederherzustellen, muss sie durch eine Sicherungsdatei ersetzt werden. Normalerweise stellen Sie eine Datei wieder her, wenn ein Medienfehler oder ein Benutzerfehler die Originaldatei beschädigt oder gelöscht hat.

Bei der benutzerverwalteten Sicherung und Wiederherstellung müssen Sie die Sicherungsdateien tatsächlich wiederherstellen, bevor Sie eine Probewiederherstellung der Sicherungen durchführen können.

Die serververwaltete Sicherung und Wiederherstellung verwaltet den Sicherungsprozess, z. B. das Planen von Sicherungen, sowie den Wiederherstellungsprozess, z. B. das Anwenden der richtigen Sicherungsdatei, wenn eine Wiederherstellung erforderlich ist.

Überblick über logische Datenbankstrukturen

Die logischen Speicherstrukturen, einschließlich Datenblöcke, Extents und Segmente, ermöglichen es Oracle, die Nutzung des Festplattenspeichers genau zu kontrollieren.

Tabellenbereiche

Eine Datenbank ist in logische Speichereinheiten, sogenannte Tablespaces, unterteilt, die zusammengehörige logische Strukturen gruppieren. Tablespaces gruppieren beispielsweise üblicherweise alle Anwendungsobjekte, um einige Verwaltungsvorgänge zu vereinfachen.

Jede Datenbank ist logisch in einen oder mehrere Tablespaces unterteilt. Für jeden Tablespace werden explizit eine oder mehrere Datendateien erstellt, um die Daten aller logischen Strukturen in einem Tablespace physisch zu speichern. Die kombinierte Größe der Datendateien in einem Tablespace ist die Gesamtspeicherkapazität des Tablespace.

Jede Oracle-Datenbank enthält einen SYSTEM-Tablespace und einen SYSAUX-Tablespace. Oracle erstellt sie automatisch, wenn die Datenbank erstellt wird. Die Systemvorgabe besteht darin, einen Smallfile-Tablespace zu erstellen, der der traditionelle Typ von Oracle-Tablespace ist. Die Tablespaces SYSTEM und SYSAUX werden als Smallfile-Tablespaces erstellt.

Mit Oracle können Sie auch Bigfile-Tablespaces erstellen. Dadurch kann Oracle Database Tablespaces enthalten, die aus einzelnen großen Dateien bestehen und nicht aus zahlreichen kleineren. Dadurch kann Oracle Database die Fähigkeit von 64-Bit-Systemen nutzen, um extrem große Dateien zu erstellen und zu verwalten. Dies hat zur Folge, dass Oracle Database nun auf bis zu 8 Exabyte skaliert werden kann. Bei von Oracle verwalteten Dateien machen Bigfile-Tablespaces Datendateien für Benutzer vollständig transparent. Mit anderen Worten, Sie können Operationen für Tabellenbereiche und nicht für die zugrunde liegenden Datendateien ausführen.

Online- und Offline-Tablespaces

Ein Tablespace kann online (zugänglich) oder offline (nicht zugänglich) sein. Ein Tablespace ist in der Regel online, sodass Benutzer auf die Informationen im Tablespace zugreifen können. Manchmal wird ein Tablespace jedoch offline geschaltet, um einen Teil der Datenbank nicht verfügbar zu machen, während der normale Zugriff auf den Rest der Datenbank ermöglicht wird. Dies erleichtert die Ausführung vieler administrativer Aufgaben.

Oracle-Datenblöcke

Auf feinster Granularität werden Oracle-Datenbankdaten in Datenblöcken gespeichert. Ein Datenblock entspricht einer bestimmten Anzahl von Bytes physischen Datenbankspeicherplatzes auf der Platte. Die Standardblockgröße wird durch den Initialisierungsparameter DB_BLOCK_SIZE angegeben. Darüber hinaus können Sie bis zu fünf weitere Blockgrößen angeben. Eine Datenbank verwendet und weist freien Datenbankspeicherplatz in Oracle-Datenblöcken zu.

Ausdehnungen

Die nächste Ebene des logischen Datenbankspeicherplatzes ist ein Extent. Ein Extent ist eine bestimmte Anzahl von zusammenhängenden Datenblöcken, die in einer einzigen Zuweisung erhalten werden und zum Speichern eines bestimmten Informationstyps verwendet werden.

Segmente

Oberhalb von Extents ist die Ebene des logischen Datenbankspeichers ein Segment . Ein Segment ist eine Menge von Extents, die einer bestimmten logischen Struktur zugeordnet sind. In der folgenden Tabelle werden die verschiedenen Segmenttypen beschrieben.

Segment Beschreibung
D atensegment Jede nicht gruppierte Tabelle hat ein Datensegment. Alle Tabellendaten werden in den Extents des Datensegments gespeichert.

Bei einer partitionierten Tabelle hat jede Partition ein Datensegment.

Jeder Cluster hat ein Datensegment. Die Daten jeder Tabelle im Cluster werden im Datensegment des Clusters gespeichert.

Bei einem partitionierten Index hat jede Partition ein Indexsegment.

Frühere Versionen von Oracle verwendeten Rollback-Segmente, um Rückgängig-Informationen zu speichern. Die Informationen in einem Rollback-Segment wurden während der Datenbankwiederherstellung verwendet, um lesekonsistente Datenbankinformationen zu generieren und nicht festgeschriebene Transaktionen für Benutzer rückgängig zu machen.

Die Speicherverwaltung für diese Rollback-Segmente war komplex, und Oracle hat diese Methode eingestellt. In diesem Buch wird die Undo-Tablespace-Methode zum Verwalten von Undo erläutert. Dadurch wird die Komplexität der Verwaltung des Rollback-Segmentspeichers beseitigt und Sie können steuern, wie lange Undo beibehalten wird, bevor es überschrieben wird.

Oracle verwendet ein SYSTEM-Rollback-Segment zum Ausführen von Systemtransaktionen. Es gibt nur ein SYSTEM-Rollback-Segment, das automatisch zum Zeitpunkt CREATE DATABASE erstellt und beim Starten der Instanz immer online geschaltet wird. Sie müssen keine Vorgänge ausführen, um das SYSTEM-Rollback-Segment zu verwalten.

Übersicht über Schemas und allgemeine Schemaobjekte

Ein Schema ist eine Sammlung von Datenbankobjekten. Ein Schema gehört einem Datenbankbenutzer und hat denselben Namen wie dieser Benutzer. Schemaobjekte sind die logischen Strukturen, die direkt auf die Daten der Datenbank verweisen. Schemaobjekte umfassen Strukturen wie Tabellen, Ansichten und Indizes. (Es besteht keine Beziehung zwischen einem Tablespace und einem Schema. Objekte im selben Schema können sich in verschiedenen Tablespaces befinden und ein Tablespace kann Objekte aus verschiedenen Schemas enthalten.)

Einige der gebräuchlichsten Schemaobjekte werden im folgenden Abschnitt definiert.

Tabellen

Tabellen sind die Grundeinheit der Datenspeicherung in einer Oracle-Datenbank. Datenbanktabellen enthalten alle für den Benutzer zugänglichen Daten. Jede Tabelle hat Spalte s und Zeile s. Eine Tabelle mit einer Mitarbeiterdatenbank kann beispielsweise eine Spalte namens Mitarbeiternummer enthalten, und jede Zeile in dieser Spalte ist die Nummer eines Mitarbeiters.

Indizes

Indizes sind optionale Strukturen, die Tabellen zugeordnet sind. Indizes können erstellt werden, um die Leistung des Datenabrufs zu erhöhen. So wie der Index in diesem Handbuch Ihnen hilft, bestimmte Informationen schnell zu finden, bietet ein Oracle-Index einen Zugriffspfad auf Tabellendaten.

Bei der Verarbeitung einer Anforderung kann Oracle einige oder alle verfügbaren Indizes verwenden, um die angeforderten Zeilen effizient zu finden. Indizes sind nützlich, wenn Anwendungen häufig eine Tabelle nach einem Zeilenbereich (z. B. alle Mitarbeiter mit einem Gehalt von mehr als 1000 Dollar) oder einer bestimmten Zeile abfragen.

Indizes werden für eine oder mehrere Spalten einer Tabelle erstellt. Nach der Erstellung wird ein Index automatisch verwaltet und von Oracle verwendet. Änderungen an Tabellendaten (wie das Hinzufügen neuer Zeilen, das Aktualisieren von Zeilen oder das Löschen von Zeilen) werden automatisch in alle relevanten Indizes mit vollständiger Transparenz für die Benutzer aufgenommen.

Ansichten

Ansichten sind benutzerdefinierte Darstellungen von Daten in einer oder mehreren Tabellen oder anderen Ansichten. Eine Ansicht kann auch als gespeicherte Abfrage betrachtet werden. Ansichten enthalten keine Daten. Vielmehr leiten sie ihre Daten aus den Tabellen ab, auf denen sie basieren, den sogenannten Basistabellen der Views.

Wie Tabellen können Ansichten mit einigen Einschränkungen abgefragt, aktualisiert, eingefügt und gelöscht werden. Alle Operationen, die an einer Ansicht ausgeführt werden, wirken sich tatsächlich auf die Basistabellen der Ansicht aus.

Ansichten bieten eine zusätzliche Ebene der Tabellensicherheit, indem sie den Zugriff auf einen vorbestimmten Satz von Zeilen und Spalten einer Tabelle einschränken. Sie verbergen auch die Datenkomplexität und speichern komplexe Abfragen.

Cluster

Cluster sind Gruppen aus einer oder mehreren Tabellen, die physisch zusammen gespeichert werden, da sie gemeinsame Spalten haben und oft zusammen verwendet werden. Da zusammengehörige Zeilen physisch zusammen gespeichert werden, verbessert sich die Plattenzugriffszeit.

Wie Indizes haben Cluster keinen Einfluss auf das Anwendungsdesign. Ob eine Tabelle Teil eines Clusters ist, ist für Benutzer und Anwendungen transparent. Auf Daten, die in einer geclusterten Tabelle gespeichert sind, wird von SQL genauso zugegriffen wie auf Daten, die in einer nicht geclusterten Tabelle gespeichert sind.

Synonyme

Ein Synonym ist ein Alias ​​für jede Tabelle, Ansicht, materialisierte Ansicht, Sequenz, Prozedur, Funktion, Paket, Typ, Java-Klassenschemaobjekt, benutzerdefinierter Objekttyp oder ein anderes Synonym. Da ein Synonym einfach ein Alias ​​ist, erfordert es außer seiner Definition im Datenwörterbuch keine weitere Speicherung.

Kapitel 5, „Schemaobjekte“ für weitere Informationen zu diesen und anderen Schemaobjekten

Überblick über das Oracle Data Dictionary

Jede Oracle-Datenbank verfügt über ein Datenwörterbuch. Ein Oracle-Datenwörterbuch ist ein Satz von Tabellen und Ansichten, die als schreibgeschützte Referenz zur Datenbank verwendet werden. Ein Datenwörterbuch speichert beispielsweise Informationen über die logische und physische Struktur der Datenbank. Ein Datenwörterbuch speichert auch die folgenden Informationen:

Die gültigen Benutzer einer Oracle-Datenbank

Informationen zu Integritätsbedingungen, die für Tabellen in der Datenbank definiert sind

Die Menge an Speicherplatz, die einem Schemaobjekt zugewiesen ist und wie viel davon verwendet wird

Ein Datenwörterbuch wird erstellt, wenn eine Datenbank erstellt wird. Um den Status der Datenbank jederzeit genau wiederzugeben, wird das Data Dictionary automatisch von Oracle als Reaktion auf bestimmte Aktionen aktualisiert, beispielsweise wenn die Struktur der Datenbank geändert wird. Die Datenbank stützt sich auf das Datenwörterbuch, um die laufende Arbeit aufzuzeichnen, zu überprüfen und durchzuführen. Während des Datenbankbetriebs liest Oracle beispielsweise das Datenwörterbuch, um zu überprüfen, ob Schemaobjekte vorhanden sind und Benutzer ordnungsgemäßen Zugriff darauf haben.

Überblick über die Oracle-Instanz

Ein Oracle-Datenbankserver besteht aus einer Oracle-Datenbank und einer Oracle-Instanz. Jedes Mal, wenn eine Datenbank gestartet wird, wird ein System Global Area (SGA) zugewiesen und Oracle-Hintergrundprozesse werden gestartet. Die Kombination aus Hintergrundprozessen und Speicherpuffern wird als Oracle-Instanz bezeichnet.

Echte Anwendungscluster: Systeme mit mehreren Instanzen

Einige Hardwarearchitekturen (z. B. Systeme mit gemeinsam genutzten Platten) ermöglichen mehreren Computern den gemeinsamen Zugriff auf Daten, Software oder Peripheriegeräte. Real Application Clusters (RAC) nutzt diese Architektur, indem mehrere Instanzen ausgeführt werden, die sich eine einzige physische Datenbank teilen. In den meisten Anwendungen ermöglicht RAC den Zugriff auf eine einzelne Datenbank durch Benutzer auf mehreren Computern mit erhöhter Leistung.

Ein Oracle-Datenbankserver verwendet Speicherstrukturen und -prozesse, um die Datenbank zu verwalten und darauf zuzugreifen. Alle Speicherstrukturen existieren im Hauptspeicher der Computer, die das Datenbanksystem bilden. Prozesse sind Jobs, die im Speicher dieser Computer arbeiten.

Instanzspeicherstrukturen

Oracle erstellt und verwendet Speicherstrukturen, um mehrere Jobs auszuführen. Zum Beispiel speichert der Speicher den ausgeführten Programmcode und die Daten, die von den Benutzern gemeinsam genutzt werden. Zwei grundlegende Speicherstrukturen sind mit Oracle verbunden: der globale Systembereich und der globale Programmbereich. Die folgenden Unterabschnitte erläutern die einzelnen Abschnitte im Detail.

Globaler Systembereich

Die System Global Area (SGA) ist ein gemeinsam genutzter Speicherbereich, der Daten- und Steuerinformationen für eine Oracle-Instanz enthält. Oracle weist den SGA beim Start einer Instanz zu und hebt die Zuweisung auf, wenn die Instanz heruntergefahren wird. Jede Instanz hat ihre eigene SGA.

Benutzer, die derzeit mit einer Oracle-Datenbank verbunden sind, teilen sich die Daten im SGA. Für eine optimale Leistung sollte der gesamte SGA so groß wie möglich sein (während er noch in den realen Speicher passt), um so viele Daten wie möglich im Speicher zu speichern und die Platten-E/A zu minimieren.

Die im SGA gespeicherten Informationen sind in verschiedene Arten von Speicherstrukturen unterteilt, darunter Datenbankpuffer s, Redo-Log-Puffer und der gemeinsam genutzte Pool.

Datenbankpuffer-Cache des SGA

Datenbankpuffer speichern die zuletzt verwendeten Datenblöcke. Der Satz von Datenbankpuffern in einer Instanz ist der Datenbankpuffercache. Der Puffercache enthält sowohl modifizierte als auch unmodifizierte Blöcke. Da die zuletzt (und häufig am häufigsten) verwendeten Daten im Arbeitsspeicher gespeichert werden, sind weniger Festplatten-E/A erforderlich und die Leistung wird verbessert.

Redo-Log-Puffer der SGA

Der Redo-Log-Puffer speichert Redo-Einträge und ein Protokoll der an der Datenbank vorgenommenen Änderungen. Die in den Redo-Log-Puffern gespeicherten Redo-Einträge werden in ein Online-Redo-Log geschrieben, das verwendet wird, wenn eine Datenbankwiederherstellung erforderlich ist. Die Größe des Redo-Logs ist statisch.

Gemeinschaftspool der SGA

Der gemeinsam genutzte Pool enthält gemeinsam genutzte Speicherkonstrukte, wie beispielsweise gemeinsam genutzte SQL-Bereiche. Ein gemeinsam genutzter SQL-Bereich ist erforderlich, um jede eindeutige SQL-Anweisung zu verarbeiten, die an eine Datenbank gesendet wird. Ein Shared-SQL-Bereich enthält Informationen wie den Parse-Baum und den Ausführungsplan für die entsprechende Anweisung. Ein einzelner gemeinsam genutzter SQL-Bereich wird von mehreren Anwendungen verwendet, die dieselbe Anweisung ausgeben, wodurch mehr gemeinsam genutzter Speicher für andere Zwecke übrig bleibt.

"SQL-Anweisungen" für weitere Informationen zu gemeinsamen SQL-Bereichen

Anweisungshandles oder Cursors

Ein Cursor ist ein Handle oder ein Name für einen privaten SQL-Bereich, in dem eine geparste Anweisung und andere Informationen zur Verarbeitung der Anweisung aufbewahrt werden. (Oracle Call Interface, OCI, bezeichnet diese als Anweisungshandles.) Obwohl die meisten Oracle-Benutzer auf die automatische Cursorbehandlung von Oracle-Dienstprogrammen angewiesen sind, bieten die programmgesteuerten Schnittstellen Anwendungsdesignern mehr Kontrolle über Cursor.

Bei der Entwicklung von Precompiler-Anwendungen ist ein Cursor beispielsweise eine benannte Ressource, die einem Programm zur Verfügung steht und speziell zum Analysieren von in die Anwendung eingebetteten SQL-Anweisungen verwendet werden kann. Anwendungsentwickler können eine Anwendung so programmieren, dass sie die Phasen der Ausführung von SQL-Anweisungen steuert und somit die Anwendungsleistung verbessert.

Globaler Programmbereich

Der Program Global Area (PGA) ist ein Speicherpuffer, der Daten und Steuerinformationen für einen Serverprozess enthält. Ein PGA wird von Oracle erstellt, wenn ein Serverprozess gestartet wird. Die Informationen in einem PGA hängen von der Oracle-Konfiguration ab.

Oracle-Hintergrundprozesse

Eine Oracle-Datenbank verwendet Speicherstrukturen und -prozesse, um die Datenbank zu verwalten und darauf zuzugreifen. Alle Speicherstrukturen existieren im Hauptspeicher der Computer, die das Datenbanksystem bilden. Prozesse sind Jobs, die im Speicher dieser Computer arbeiten.

Die in diesem Abschnitt erläuterten Architekturfunktionen ermöglichen der Oracle-Datenbank die Unterstützung von:

Viele Benutzer greifen gleichzeitig auf eine einzige Datenbank zu

Die hohe Leistung, die von gleichzeitigen Mehrbenutzer- und Mehranwendungsdatenbanksystemen benötigt wird

Oracle erstellt für jede Instanz eine Reihe von Hintergrundprozessen. Die Hintergrundprozesse konsolidieren Funktionen, die ansonsten von mehreren Oracle-Programmen verarbeitet würden, die für jeden Benutzerprozess ausgeführt werden. Sie führen asynchron E/A durch und überwachen andere Oracle-Prozesse, um eine erhöhte Parallelität für bessere Leistung und Zuverlässigkeit zu bieten.

Es gibt zahlreiche Hintergrundprozesse, und jede Oracle-Instanz kann mehrere Hintergrundprozesse verwenden.

"Hintergrundprozesse" für weitere Informationen zu einigen der gängigsten Hintergrundprozesse

Prozessarchitektur

Ein Prozess ist ein "Steuerungsfaden" oder ein Mechanismus in einem Betriebssystem, der eine Reihe von Schritten ausführen kann. Einige Betriebssysteme verwenden die Begriffe Job oder Task. Ein Prozess hat im Allgemeinen seinen eigenen privaten Speicherbereich, in dem er läuft.

Ein Oracle-Datenbankserver verfügt über zwei allgemeine Arten von Prozessen: Benutzerprozesse und Oracle-Prozesse.

Benutzer-(Client-)Prozesse

Benutzerprozesse werden erstellt und verwaltet, um den Softwarecode eines Anwendungsprogramms (wie ein OCI- oder OCCI-Programm) oder eines Oracle-Tools (wie Enterprise Manager) auszuführen. Benutzerprozesse verwalten auch die Kommunikation mit dem Serverprozess über die Programmschnittstelle, die in einem späteren Abschnitt beschrieben wird.

Oracle-Prozesse

Oracle-Prozesse werden von anderen Prozessen aufgerufen, um Funktionen im Namen des aufrufenden Prozesses auszuführen.

Oracle erstellt Serverprozesse, um Anfragen von verbundenen Benutzerprozessen zu verarbeiten. Ein Serverprozess kommuniziert mit dem Benutzerprozess und interagiert mit Oracle, um Anforderungen des zugehörigen Benutzerprozesses auszuführen. Wenn beispielsweise ein Benutzer einige Daten abfragt, die noch nicht im Datenbankpuffer s des SGA sind, dann liest der zugehörige Serverprozess den richtigen Datenblock s aus den Datendateien in den SGA.

Oracle kann so konfiguriert werden, dass die Anzahl der Benutzerprozesse für jeden Serverprozess variiert. In einer dedizierten Serverkonfiguration verarbeitet ein Serverprozess Anforderungen für einen einzelnen Benutzerprozess. Eine Shared Server-Konfiguration ermöglicht es vielen Benutzerprozessen, eine kleine Anzahl von Serverprozessen gemeinsam zu nutzen, wodurch die Anzahl der Serverprozesse minimiert und die Nutzung der verfügbaren Systemressourcen maximiert wird.

Auf einigen Systemen sind die Benutzer- und Serverprozesse getrennt, während sie auf anderen zu einem einzigen Prozess zusammengefasst sind. Wenn ein System den gemeinsam genutzten Server verwendet oder die Benutzer- und Serverprozesse auf unterschiedlichen Computern laufen, müssen Benutzer- und Serverprozesse getrennt sein. Client/Server-Systeme trennen die Benutzer- und Serverprozesse und führen sie auf verschiedenen Computern aus.

Übersicht über den Zugriff auf die Datenbank

In diesem Abschnitt werden Oracle Net Services sowie das Starten der Datenbank beschrieben.

Netzwerkverbindungen

Oracle Net Services ist der Mechanismus von Oracle für die Verbindung mit den Kommunikationsprotokollen, die von den Netzwerken verwendet werden, die eine verteilte Verarbeitung und verteilte Datenbanken ermöglichen.

Kommunikationsprotokolle definieren die Art und Weise, wie Daten in einem Netzwerk übertragen und empfangen werden. Oracle Net Services unterstützt die Kommunikation über alle wichtigen Netzwerkprotokolle, einschließlich TCP/IP, HTTP, FTP und WebDAV.

Mit Oracle Net Services müssen sich Anwendungsentwickler nicht um die Unterstützung der Netzwerkkommunikation in einer Datenbankanwendung kümmern. Wenn ein neues Protokoll verwendet wird, nimmt der Datenbankadministrator einige geringfügige Änderungen vor, während die Anwendung keine Änderungen erfordert und weiterhin funktioniert.

Oracle Net , eine Komponente von Oracle Net Services, ermöglicht eine Netzwerksitzung von einer Clientanwendung zu einem Oracle-Datenbankserver. Sobald eine Netzwerksitzung eingerichtet ist, fungiert Oracle Net als Datenkurier sowohl für die Clientanwendung als auch für den Datenbankserver. Es stellt die Verbindung zwischen der Clientanwendung und dem Datenbankserver her und hält sie aufrecht und tauscht Nachrichten zwischen ihnen aus. Oracle Net kann diese Jobs ausführen, da es sich auf jedem Computer im Netzwerk befindet.

Starten der Datenbank

Die drei Schritte, um eine Oracle-Datenbank zu starten und für die systemweite Verwendung verfügbar zu machen, sind:

Ein Datenbankadministrator kann diese Schritte mit der SQL*Plus STARTUP-Anweisung oder Enterprise Manager ausführen. Wenn Oracle eine Instanz startet, liest es die Serverparameterdatei (SPFILE) oder die Initialisierungsparameterdatei, um die Werte der Initialisierungsparameter zu bestimmen. Dann weist es einen SGA zu und erstellt Hintergrundprozesse.

So funktioniert Oracle

Das folgende Beispiel beschreibt die grundlegendste Ebene der Operationen, die Oracle ausführt. Dies veranschaulicht eine Oracle-Konfiguration, bei der sich der Benutzer und der zugehörige Serverprozess auf separaten Computern befinden (die über ein Netzwerk verbunden sind).

Eine Instanz wurde auf dem Computer gestartet, auf dem Oracle ausgeführt wird (oft als Host- oder Datenbankserver bezeichnet).

Ein Computer, auf dem eine Anwendung ausgeführt wird (ein lokaler Computer oder eine Client-Workstation), führt die Anwendung in einem Benutzerprozess aus. Die Clientanwendung versucht, mit dem richtigen Oracle Net Services-Treiber eine Verbindung zum Server herzustellen.

Der Server führt den richtigen Oracle Net Services-Treiber aus. Der Server erkennt die Verbindungsanfrage von der Anwendung und erstellt einen dedizierten Serverprozess im Auftrag des Benutzerprozesses.

Der Benutzer führt eine SQL-Anweisung aus und schreibt die Transaktion fest. Der Benutzer ändert beispielsweise einen Namen in einer Zeile einer Tabelle.

Der Serverprozess empfängt die Anweisung und überprüft den Shared Pool auf einen Shared-SQL-Bereich, der eine ähnliche SQL-Anweisung enthält. Wird ein Shared-SQL-Bereich gefunden, prüft der Serverprozess die Zugriffsrechte des Benutzers auf die angeforderten Daten und der zuvor vorhandene Shared-SQL-Bereich wird zur Bearbeitung der Anweisung verwendet. Wenn nicht, wird der Anweisung ein neuer Shared-SQL-Bereich zugewiesen, damit sie geparst und verarbeitet werden kann.

Der Serverprozess ruft alle erforderlichen Datenwerte aus der aktuellen Datendatei (Tabelle) oder den im SGA gespeicherten ab.

Der Serverprozess modifiziert Daten im globalen Systembereich. Der Prozess DBW n schreibt geänderte Blöcke dauerhaft auf die Platte, wenn dies effizient ist. Da die Transaktion festgeschrieben ist, zeichnet der LGWR-Prozess die Transaktion sofort in der Redo-Log-Datei auf.

Wenn die Transaktion erfolgreich ist, sendet der Serverprozess eine Nachricht über das Netzwerk an die Anwendung. Wenn es nicht erfolgreich ist, wird eine Fehlermeldung gesendet.

Während des gesamten Vorgangs laufen die anderen Hintergrundprozesse und achten auf Bedingungen, die ein Eingreifen erfordern. Darüber hinaus verwaltet der Datenbankserver die Transaktionen anderer Benutzer und verhindert Konflikte zwischen Transaktionen, die dieselben Daten anfordern.

Kapitel 9, „Prozessarchitektur“ für weitere Informationen zur Oracle-Konfiguration

Überblick über Oracle-Dienstprogramme

Oracle bietet mehrere Dienstprogramme für die Datenübertragung, Datenpflege und Datenbankverwaltung, darunter Data Pump Export and Import, SQL*Loader und LogMiner.


Zugänglichkeit der Dokumentation

Informationen zum Engagement von Oracle für Barrierefreiheit finden Sie auf der Oracle Accessibility Program-Website unter http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc .

Oracle-Kunden haben über My Oracle Support Zugang zu elektronischem Support. Weitere Informationen finden Sie unter http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info oder unter http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs, wenn Sie sind hörgeschädigt.

Einführung in Oracle WebLogic Server, 11 g Release 1 (10.3.6)

Copyright © 2007, 2011, Oracle und/oder verbundene Unternehmen. Alle Rechte vorbehalten.

Diese Software und die zugehörige Dokumentation werden im Rahmen einer Lizenzvereinbarung bereitgestellt, die Nutzungs- und Offenlegungsbeschränkungen enthält, und sind durch Gesetze zum Schutz geistigen Eigentums geschützt. Sofern in Ihrer Lizenzvereinbarung nicht ausdrücklich erlaubt oder gesetzlich zulässig, dürfen Sie keinen Teil in irgendeiner Form verwenden, kopieren, reproduzieren, übersetzen, senden, ändern, lizenzieren, übertragen, verteilen, ausstellen, aufführen, veröffentlichen oder anzeigen oder auf jeden Fall. Reverse Engineering, Disassemblierung oder Dekompilierung dieser Software ist verboten, sofern dies nicht aus Gründen der Interoperabilität gesetzlich vorgeschrieben ist.

Die hierin enthaltenen Informationen können ohne vorherige Ankündigung geändert werden und es wird nicht garantiert, dass sie fehlerfrei sind. Sollten Sie Fehler finden, teilen Sie uns diese bitte schriftlich mit.

Wenn es sich um Software oder zugehörige Dokumentation handelt, die an die US-Regierung oder an eine andere Person, die diese im Namen der US-Regierung lizenziert, geliefert wird, gilt der folgende Hinweis:

RECHTE DER US-REGIERUNG Programme, Software, Datenbanken und zugehörige Dokumentation und technische Daten, die an Kunden der US-Regierung geliefert werden, sind „kommerzielle Computersoftware“ oder „kommerzielle technische Daten“ gemäß der geltenden Federal Acquisition Regulation und behördenspezifischen ergänzenden Vorschriften. Als solche unterliegen die Verwendung, Vervielfältigung, Offenlegung, Änderung und Anpassung den Beschränkungen und Lizenzbedingungen, die im geltenden Regierungsvertrag festgelegt sind, und, soweit durch die Bedingungen des Regierungsvertrags anwendbar, den zusätzlichen Rechten, die dargelegt sind in FAR 52.227-19, Kommerzielle Computersoftwarelizenz (Dezember 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

Diese Software oder Hardware wurde für den allgemeinen Gebrauch in einer Vielzahl von Informationsmanagementanwendungen entwickelt. Es ist nicht für den Einsatz in von Natur aus gefährlichen Anwendungen entwickelt oder vorgesehen, einschließlich Anwendungen, die eine Verletzungsgefahr darstellen können. Wenn Sie diese Software oder Hardware in gefährlichen Anwendungen verwenden, sind Sie dafür verantwortlich, alle geeigneten Ausfallsicherungs-, Backup-, Redundanz- und anderen Maßnahmen zu ergreifen, um ihre sichere Verwendung zu gewährleisten. Die Oracle Corporation und ihre verbundenen Unternehmen lehnen jegliche Haftung für Schäden ab, die durch die Verwendung dieser Software oder Hardware in gefährlichen Anwendungen verursacht werden.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer verbundenen Unternehmen. Andere Namen können Marken ihrer jeweiligen Eigentümer sein.

Diese Software und Dokumentation kann Zugriff auf oder Informationen zu Inhalten, Produkten und Diensten von Dritten bieten. Die Oracle Corporation und ihre verbundenen Unternehmen sind nicht verantwortlich und lehnen ausdrücklich alle Gewährleistungen jeglicher Art in Bezug auf Inhalte, Produkte und Dienstleistungen Dritter ab. Die Oracle Corporation und ihre verbundenen Unternehmen haften nicht für Verluste, Kosten oder Schäden, die durch Ihren Zugriff auf oder Ihre Nutzung von Inhalten, Produkten oder Dienstleistungen Dritter entstehen.


2 Antworten 2

Der Grund, warum Kerberos nicht über das öffentliche Internet verwendet wird, liegt wohl nicht an der Sicherheit des Protokolls oder der Offenlegung des KDC, sondern daran, dass es sich um ein Authentifizierungsmodell handelt, das nicht den Anforderungen der meisten "öffentlichen" entspricht Internet-Anwendungen.

Um Wikipedia zu zitieren, Kerberos "bietet gegenseitige Authentifizierung - sowohl der Benutzer als auch der Server überprüfen die Identität des anderen." Das bedeutet, dass der Client-Rechner über die erforderlichen Schlüssel verfügen muss, um seine Identität zu bestätigen, bevor die Benutzerauthentifizierung stattfindet. Die Verteilung dieser Schlüssel für "öffentliche Internet"-Anwendungen ist aus mehreren Gründen nicht praktikabel - bedenken Sie, wie viele PCs auf Ihre Banking-Website zugreifen, die einer Vielzahl von Personen gehört, deren Fähigkeit, Windows-Patches regelmäßig zu installieren, angespannt ist. Es ist nicht so, dass die Unternehmens-IT vorbeikommt und Kerberos für sie konfiguriert.

Kerberos erfordert eng synchronisierte Uhren - nicht das in einer zentral verwalteten Unternehmens- oder Bildungsumgebung schwer zu bewerkstelligen, viel schwieriger, wenn die Maschinen alle im Besitz und Verwaltung von völlig anderen Personen sind.

Einer der Vorteile von Kerberos ist die Möglichkeit, eine anfängliche Authentifizierung nahtlos für mehrere Anwendungszugriffe zu nutzen. Im öffentlichen Internet haben die Mehrfachanwendungen selten etwas miteinander zu tun - meine Bank, meine Post und mein /. Konto haben keine Aufforderung, einander oder denselben Personen zu vertrauen. (Dies fällt in den Bereich der Federated Identity, und es gibt Arbeit in diesem Bereich, aber es braucht nicht die gleiche Mischung von Dingen, die Kerberos auf den Tisch bringt).

Kurz gesagt, Kerberos ist eine schwergewichtige Lösung, und die Zugriffskontrolle für öffentliche Internetanwendungen ist ein leichtgewichtiges Problem.

Um Ihre eigentliche Frage direkt zu beantworten: Nein, ich glaube nicht, dass Bedenken hinsichtlich Brute-Force-Angriffen oder der Verwundbarkeit des KDC Kerberos vom Internet fernhalten. Das Protokoll wurde über mehr als 20 Jahre hinweg einigermaßen gut überprüft, angegriffen, repariert und aktualisiert. Allein die Client-(Maschinen-)Authentifizierung bietet einen enormen Schutz gegen eine Reihe von Angriffen, die in einem großen offenen Netzwerk wie dem Internet zu erwarten sind.

Kerberos selbst ist im Allgemeinen sicher über das Internet zu verwenden. Es wurde schließlich so konzipiert, dass es über eines der feindlichsten öffentlichen Netzwerke der Welt sicher ist: das MIT-Campus-Netzwerk.

Ein Kerberos-Whitepaper „Warum ist Kerberos eine glaubwürdige Sicherheitslösung?“ behandelt alle von Ihnen angesprochenen Punkte. Um auszugsweise zu zitieren:

Ein Passwort, das niemals offengelegt oder über ein Netzwerk gesendet wird, ist für einen Angreifer viel schwieriger zu entwenden. Folglich erfordert die Kerberos-Authentifizierung von Benutzern nicht, dass dem Authentifizierungsdienst Kennwörter vorgelegt werden. Stattdessen verwendet der Kerberos-Authentifizierungsdienst kryptografische Protokolle, mit denen der Benutzer den Besitz eines Kennworts nachweisen kann, ohne es tatsächlich preiszugeben.

In einer verteilten Umgebung wäre es äußerst umständlich, gemeinsame Geheimnisse wie Kennwörter auf jedem Client und Server zu verwalten, der Anforderungen authentifizieren muss. Darüber hinaus erhöht die Verteilung von gemeinsamen Geheimnissen auf viele Systeme potenzielle Schwachstellen in direktem Verhältnis zur Anzahl der Systeme – ein Problem, das durch das Phänomen des „schwächsten Glieds“ noch verschärft wird. Kerberos erfüllt diese Anforderung, indem es eine zentralisierte Datenbank verwaltet, die auf nur wenige Authentifizierungsserver verteilt ist. Während die Gesamtsicherheit entscheidend vom Schutz dieser zentralen Datenbank abhängt, ist es viel einfacher, einige Spezialserver gegen Angriffe zu schützen, als viele Allzwecksysteme zu schützen. Die zentrale Kontrolle über Authentifizierungsgeheimnisse macht es auch einfacher, neue Zugangsdaten auszugeben, vorhandene zu widerrufen und kompromittierte Zugangsdaten wiederherzustellen.

Die Kerberos-Entwickler gingen davon aus, dass jeder den Netzwerkverkehr belauschen, sich als beliebiger Benutzer ausgeben und betrügerische Server einrichten kann, die sich als legitime Dienste ausgeben können, einschließlich der Kerberos-Dienste selbst. Verschlüsselung wurde verwendet, um Lauschangriffe zu verhindern, und Sitzungsschlüssel wurden zusammen mit Zeitstempeln eingeführt, um Replay-Angriffe zu verhindern. Wenn sich Benutzer (oder Hosts/Dienste) beim Kerberos-Authentifizierungsdienst authentifizieren, authentifiziert sich der Authentifizierungsdienst wiederum beim Benutzer (oder Host/Dienst), indem er beweist, dass er das zuvor festgelegte gemeinsame Geheimnis kennt. Ein Nebenprodukt dieser Gegenmaßnahmen ist, dass Kerberos Schutz vor Man-in-the-Middle-Angriffen bietet, die damals und noch mehr als ein Jahrzehnt nach dem ersten Einsatz von Kerberos allgemein als undurchführbar galten. Leider sind Man-in-the-Middle-Angriffe keine bloßen Vermutungen mehr und im heutigen Internet, das nicht für eine feindliche Umgebung konzipiert wurde, allzu häufig.

Wenn Sie alle Systeme vernünftigerweise mit dem Kerberos-Realm verbinden können, zum Beispiel sind es alle Sites innerhalb Ihres Unternehmens, dann sollte die Verwendung in Ordnung sein. Es muss jedoch nicht unbedingt verschlüsselt werden alles HTTP wäre beispielsweise immer noch unverschlüsselt. Einige Dienste wie NFS können ihre Datenflüsse jedoch mit Kerberos verschlüsseln. Abhängig von Ihren Anwendungen und den zu übertragenden Daten möchten Sie möglicherweise trotzdem ein VPN zwischen den Standorten verwenden.

Aber wenn Ihre Anwendungen der Öffentlichkeit zugänglich sein sollen, dann ist Kerberos wahrscheinlich nicht das, was Sie wollen.


Gibt es ein Äquivalent zur MySQL-Anweisung SHOW DATABASES?

Es gibt keine solche Sache. Sie können Listener auf einem Computer ( lsnrctl status ) abfragen, um zu sehen, welche Dienste dort registriert sind, aber dies wird nicht eins zu eins der Datenbank zugeordnet (und es könnten mehrere Listener auf demselben Computer vorhanden sein). Andernfalls stellen die üblicherweise verwendeten Tools eine Verbindung zu einer Datenbankinstanz her und eine Instanz gehört zu einer einzelnen Datenbank.

Wenn Sie von Oracle RAC-Clustern sprechen, kennt jede Instanz ihre Peers (andere Instanzen, die dieselbe Datenbank bedienen) und Sie können die anderen Instanzen finden, die derzeit für diese Datenbank gestartet werden, indem Sie die gv$instance-Ansicht verwenden.
Sie können auch das Dienstprogramm crsctl verwenden, um die im Cluster registrierten Dienste (einschließlich Datenbanken) und ihren Status aufzulisten.
Wenn Sie über die Clustering-Software eines anderen Anbieters sprechen, bin ich mir ziemlich sicher, dass sie alle diese Arten von Ressourcenverwaltungsdienstprogrammen zum Abfragen haben.

Wenn Sie nur von einer Reihe von Maschinen sprechen, dann nein, es gibt keine hundertprozentig zuverlässige Möglichkeit, alle Datenbanken in einem Netzwerk aufzuzählen.

Um aktive (d. h. gestartete) Datenbanken zu finden, suchen Sie nach *_pmon_*-Prozessen unter Unix (es gibt einen pro Datenbankinstanz) und nach Oracle-Diensten unter Windows.

Um Installationen von Oracle-Datenbanksoftware zu finden, schauen Sie unter /etc/oratab unter Unix nach. Dies sollte alle installierten ORACLE_HOME s enthalten. Sie können in jedem dieser Dateien in $ORACLE_HOME/dbs nach spfile<SID>.ora- und/oder init<SID>.ora-Dateien suchen - es wird eine für jede Datenbank geben.

(Ich glaube, Sie können die Entsprechung der Informationen in oratab in den Windows-Registrierungsschlüsseln unter HKEY_LOCAL_MACHINESOFTWAREORACLE finden, aber ich kenne ihre Struktur nicht.)

Wenn Sie Ihre gesamte Datenbank bei der Installation bei einem OEM-Server (Enterprise Manager) registriert haben, finden Sie dort natürlich die vollständige Liste - aber ich denke, wenn Sie fragen, ist das nicht der Fall.


3 Antworten 3

Alter Thread, aber vielleicht findet das jemand hilfreich.

Als wir dieses Problem hatten, stellten wir fest, dass die Bibliothek für ausgeblendete Workflows die falschen Berechtigungen hatte.

Gehen Sie in SharePoint Designer zu Alle Dateien, klicken Sie dann mit der rechten Maustaste auf Workflows und wählen Sie Eigenschaften aus. Klicken Sie unter Anpassung auf Berechtigungen für diese Liste.

Überprüfen Sie, ob der Benutzer mit dem Problem über Berechtigungen für die Bibliothek verfügt. Wir haben Contribute-Berechtigungen für die betroffenen Benutzer hinzugefügt und das Problem ist behoben.

HINWEIS: Browseraktivierte InfoPath-Formulare werden nur in der SharePoint Server 2010-Version unterstützt. In einer SharePoint 2010 Foundation-Installation können InfoPath-Formulare nur von Benutzern geöffnet werden, die InfoPath auf ihren Clientcomputern installiert haben.

Wenn Ihr Formular benutzerdefinierten Code enthält, sollten Sie Ihre xsn-Vorlage nicht mit dem Infopath-Veröffentlichungsassistenten in der Dokumentbibliothek veröffentlichen. Sie müssen das Flag 'Im Browser verwenden' aktivieren und haben nur eine Option - 'Als Vorlage veröffentlichen, die vom sp-Administrator genehmigt werden muss' (so ähnlich).

Nach einer solchen Veröffentlichung müssen Sie Ihre veröffentlichte Vorlage mithilfe der sp-Administratorwebsite hochladen und für die Zielwebsite aktivieren (siehe Verwalten von vom Administrator genehmigten Formularvorlagen (SharePoint Server 2010)). Danach haben Sie den entsprechenden Inhaltstyp in Ihrer Site und müssen ihn in Ihrer Formularbibliothek verwenden.


Montag, 29. März 2021

Installation der Langzeitversion von QGIS mit Flatpak auf Ubuntu

Das Flatpak Befehl ein Ubuntu wird verwendet, um Softwarepakete zu installieren, wie z QGIS von einer Fernbedienung Flachnabe Repository. Normalerweise ist Folgendes Terminal Der Befehl zum Installieren von QGIS lautet wie folgt:


Standardmäßig installiert dies die stabil Zweig von QGIS. Im Screenshot unten ist es Version 3.18, aber dies ist möglicherweise nicht die gewünschte Version. Vielleicht wollten Sie die langfristige Release-Version verwenden, die unter einer anderen steht lts Zweig.


Zu bekommen Flatpak um die zu installieren lts Zweig von QGIS, geben Sie den folgenden Befehl in die Terminal.

$ flatpak install org.qgis.qgis//lts

Und befolgen Sie die Anweisungen, um die Installation abzuschließen.



Zum Schluss zur Kontrolle öffnen QGIS und zeigen Sie die Version an.


Schau das Video: 2019 - Running QGIS Server in production