2017-02-07 1 views
1

Ich versuche, die grundlegenden Strukturen mit SQL zu verstehen. Ich bin auf das Wort "Instanz" gestoßen. Wenn ich den Begriff nach oben suche, endet er mit:Was ist eine Instanz in PL/SQL?

Eine Reihe von Speicherstrukturen, die Datenbankdateien verwalten.

Was ist eine Instanz in PL/SQL? Für Laien ist das eine separate Interaktion mit der PL/SQL-Installation?

Zum Beispiel (sorry für das Wortspiel), wenn ich eine Instanz geöffnet habe Ich interagiere mit der Datenbank durch Schreiben von Abfragen und Zuweisen von Daten. Ich könnte mehrere Instanzen geöffnet haben, mit denen ich Dateien verwalten kann.

+1

Ich könnte nicht besser erklären, als dies: https://asktom.oracle.com/pls/asktom/f?p=100:11:02:12:P11_QUESTION_ID:1631683800346891854 – evilive

+1

Und dann gibt es eine Instanz von ein PL/SQL-Typ ... (weil PL/SQL eine objektorientierte Programmiersprache ist) –

+0

@a_horse_with_no_name - Im Zusammenhang mit der Frage scheint es, dass 'Instanz' sich auf die DB-Instanz bezieht. Annahmen sind jedoch gefährlich, also "guter Ruf". – BriteSponge

Antwort

1

Grundsätzlich ist eine Instanz die Umgebung, an der Sie gerade arbeiten. Zum Beispiel arbeite ich gerade an unserer Entwicklungsumgebung, ich könnte sagen, ich arbeite an unserer Entwicklungsinstanz. Wie in den Kommentaren erwähnt, ist Instance kein PL/SQL- oder SQL-Konzept, sondern ein Datenbankkonzept.

SQL und PL/SQL sind die Sprachen, die Sie in Ihrer Instanz ausführen können.

+0

Eine "Instanz" kann auch ein "PL/SQL-Konzept" sein: [aus dem Handbuch] (https://docs.oracle.com/database/121/ADOBJ/adobjbas.htm#ADOBJ7096) "* Eine Konstruktormethode ist eine Funktion, die eine neue Instanz des benutzerdefinierten Typs zurückgibt. * " –

0

Eine Oracle-spezifische Instanz ist die Sammlung von Speicherstrukturen und Oracle-Prozessen, die für das Funktionieren des DBMS erforderlich sind.

Die Datenbank ist eine Gruppe von physischen Dateien, die die Datenbank persistent machen.

Es gibt keine separate 'Datenbankinstanz' für PL/SQL oder SQL. Auf diese Weise können Sie auf die Daten in den Datendateien über die Instanz zugreifen. Andere Möglichkeiten könnten SQL * Load, Datapump usw. sein.

Edit: Es gibt jedoch das Konzept in PL/SQL einer Instanz eines benutzerdefinierten Typs. Sie können einen Objekttyp in der Datenbank definieren und wenn Sie diesen Typ in Ihrem Code verwenden, erstellen Sie eine Instanz davon.

+0

Ja, es gibt so etwas wie eine" PL/SQL-Instanz ": Sie können einen Objekttyp in PL/SQL erstellen und dann eine Instanz dieses Typs erstellen. –