Ich habe mich für ein Praktikum in einem Unternehmen beworben und als Frage haben sie mich gebeten, ein Schema für ihr Unternehmen mit bestimmten Anforderungen zu erstellen und ihnen die DDL- Datei zu senden . Ich habe Oracle Database 11g Express Edition installiert, aber wie erstelle ich ein neues Schema in Oracle Database 11g? Ich habe im Internet nach einer Lösung gesucht, konnte aber nicht verstehen, was ich tun soll. Und welche Datei soll ich nach dem Erstellen eines Schemas per E-Mail senden?
82
create user foo ...
. Bitte lesen Sie das HandbuchAntworten:
Im Allgemeinen ist ein Schema in Oracle dasselbe wie ein Benutzer. Oracle Database erstellt automatisch ein Schema, wenn Sie einen Benutzer erstellen. Eine Datei mit der Dateierweiterung DDL ist eine SQL Data Definition Language-Datei.
Neuen Benutzer erstellen (mit SQL Plus)
Grundlegende SQL Plus-Befehle:
Öffnen Sie SQL Plus und protokollieren Sie:
Die sysdba ist eine Rolle und ähnelt "root" unter Unix oder "Administrator" unter Windows. Es sieht alles, kann alles. Wenn Sie eine Verbindung als sysdba herstellen, wird Ihr Schemaname intern als SYS angezeigt.
Erstellen Sie einen Benutzer:
Alle Benutzer anzeigen und prüfen, ob der Benutzer johny da ist:
Wenn Sie jetzt versuchen, sich als Johny anzumelden, wird eine Fehlermeldung angezeigt:
Der Benutzer, der sich anmeldet, muss mindestens ein Sitzungsprivileg erstellen, daher müssen wir dem Benutzer diese Berechtigungen gewähren:
Jetzt können Sie als Benutzer Johny verbinden:
Um den Benutzer loszuwerden, können Sie ihn fallen lassen:
Dies war ein einfaches Beispiel, um zu zeigen, wie ein Benutzer erstellt wird. Es könnte komplexer sein. Oben haben wir einen Benutzer erstellt, dessen Objekte im Standardtabellenbereich der Datenbank gespeichert sind. Damit die Datenbank aufgeräumt wird, sollten wir Benutzerobjekte in seinem eigenen Bereich platzieren (Tabellenbereich ist eine Zuweisung von Speicherplatz in der Datenbank, der Schemaobjekte enthalten kann).
Bereits erstellte Tablespaces anzeigen:
Tabellenbereich erstellen:
Temporären Tabellenbereich erstellen (Temporärer Tabellenbereich ist eine Zuweisung von Speicherplatz in der Datenbank, der vorübergehende Daten enthalten kann, die nur für die Dauer einer Sitzung bestehen bleiben. Diese vorübergehenden Daten können nach einem Prozess- oder Instanzfehler nicht wiederhergestellt werden.):
Erstellen Sie den Benutzer:
Gewähren Sie einige Privilegien:
Melden Sie sich als Johny an und überprüfen Sie, welche Berechtigungen er hat:
Mit der Berechtigung zum Erstellen einer Tabelle kann der Benutzer Tabellen erstellen:
Daten einfügen:
Wählen:
Um DDL-Daten abzurufen, können Sie das Paket DBMS_METADATA verwenden, das "eine Möglichkeit bietet, Metadaten aus dem Datenbankwörterbuch als XML- oder Erstellungs-DDL abzurufen und das XML zum erneuten Erstellen des Objekts zu senden". (mit Hilfe von http://www.dba-oracle.com/oracle_tips_dbms_metadata.htm )
Für Tabelle:
Ergebnis:
Für den Index:
Ergebnis:
Mehr Informationen:
DDL
DBMS_METADATA
Schemaobjekte
Unterschiede zwischen Schema und Benutzer
Privilegien
Benutzer / Schema erstellen
Tabellenbereich erstellen
SQL Plus-Befehle
quelle
/ as sysdba
am Anfang bedeutet, "c:\oraclexe\app\oracle\product\11.2.0\server\bin\sqlplus.exe / as sysdba
" von einer Windows-Befehlsshell aus auszuführen .sqlplus system/oracle@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=127.0.0.1)(Port=1521))(CONNECT_DATA=(SID=XE)))
und dann alle Ihre Befehle eingegeben. Aber dannconnect myuser
bekomme ich den FehlerORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist̀
sqlplus
Befehl geben? Wie, basierend auf dem Benutzer, der gerade oben erstellt wurde, mit dem vollständigen Befehlsqlplus ???/???@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=127.0.0.1)(Port=1521))(CONNECT_DATA=(SID=???))
Es ist ein funktionierendes Beispiel:
quelle
alter session set "_ORACLE_SCRIPT"=true;
" ausgeführt wird.Lassen Sie uns loslegen. Haben Sie Kenntnisse in Oracle?
Zuerst müssen Sie verstehen, was ein SCHEMA ist. Ein Schema ist eine Sammlung logischer Datenstrukturen oder Schemaobjekte. Ein Schema gehört einem Datenbankbenutzer und hat denselben Namen wie dieser Benutzer. Jeder Benutzer besitzt ein einzelnes Schema. Schemaobjekte können mit SQL erstellt und bearbeitet werden.
Um auf das Schema eines anderen Benutzers zugreifen zu können, müssen Sie Berechtigungen für ein bestimmtes Objekt in diesem Schema erhalten oder optional die SYSDBA-Rolle zugewiesen bekommen.
Damit sollten Sie loslegen.
quelle
quelle
Führen Sie vom Oracle Sql-Entwickler Folgendes im SQL-Arbeitsblatt aus:
Klicken Sie dann mit der rechten Maustaste auf "Oracle-Verbindung" -> Neue Verbindung, und führen Sie vom Verbindungsnamen bis zum Kennwort für den Benutzernamen alles auf den neuesten Stand. Testverbindung muss bestehen. Nach dem Verbinden sehen Sie das Schema.
quelle