Wie erstelle ich eine neue Datenbank nach der ersten Installation von Oracle Database 11g Express Edition?

112

Ich habe Oracle Database 11g Express Edition auf meinem PC (Windows 7) installiert und auch Oracle SQL Developer installiert.

Ich möchte zunächst eine einfache Datenbank erstellen, möglicherweise mit einer oder zwei Tabellen, und dann Oracle SQL Developer verwenden, um Daten einzufügen und abzufragen.

Wenn ich Oracle SQL Developer öffne, werde ich aufgefordert, eine neue Verbindung herzustellen. Daher wird davon ausgegangen, dass bereits eine Datenbank erstellt wurde.

Meine Frage ist also, wie erstelle ich eine erste Datenbank in Oracle 11g?

Zo72
quelle

Antworten:

56

Dieser Link: Das Erstellen der Beispieldatenbank in Oracle 11g Release 2 ist ein gutes Beispiel für das Erstellen einer Beispieldatenbank.

Dieser Link: Newbie Guide to Oracle 11g Database - Häufige Probleme sollten Ihnen helfen, wenn Sie auf häufig auftretende Probleme beim Erstellen Ihrer Datenbank stoßen.

Viel Glück!

BEARBEITEN: Wenn Sie XE verwenden, sollte bereits eine Datenbank erstellt worden sein, um eine Verbindung mit SQL * Plus und SQL Developer usw. herzustellen. Die Informationen finden Sie hier: Herstellen einer Verbindung zu Oracle Database Express Edition und Erkunden dieser .

Extrakt:

Herstellen einer Verbindung zu Oracle Database XE über SQL Developer SQL Developer ist ein Clientprogramm, mit dem Sie auf Oracle Database XE zugreifen können. In Oracle Database XE 11g Release 2 (11.2) müssen Sie SQL Developer Version 3.0 verwenden. In diesem Abschnitt wird davon ausgegangen, dass SQL Developer auf Ihrem System installiert ist, und es wird gezeigt, wie Sie es starten und eine Verbindung zu Oracle Database XE herstellen. Wenn SQL Developer nicht auf Ihrem System installiert ist, finden Sie Installationsanweisungen im Oracle Database SQL Developer-Benutzerhandbuch.

Hinweis:

Für das folgende Verfahren: Wenn Sie SQL Developer zum ersten Mal auf Ihrem System starten, müssen Sie in Schritt 1 den vollständigen Pfad zu java.exe angeben.

Für Schritt 4 benötigen Sie einen Benutzernamen und ein Passwort.

Für Schritt 6 benötigen Sie einen Hostnamen und einen Port.

So stellen Sie von SQL Developer aus eine Verbindung zu Oracle Database XE her:

Starten Sie SQL Developer.

Anweisungen finden Sie im Oracle Database SQL Developer-Benutzerhandbuch.

Wenn Sie SQL Developer zum ersten Mal auf Ihrem System starten, werden Sie aufgefordert, den vollständigen Pfad zu java.exe einzugeben (z. B. C: \ jdk1.5.0 \ bin \ java.exe). Geben Sie entweder den vollständigen Pfad nach der Eingabeaufforderung ein oder navigieren Sie zu diesem und drücken Sie die Eingabetaste.

Das Oracle SQL Developer-Fenster wird geöffnet.

Klicken Sie im Navigationsrahmen des Fensters auf Verbindungen.

Der Bereich Verbindungen wird angezeigt.

Klicken Sie im Bereich Verbindungen auf das Symbol Neue Verbindung.

Das Fenster Neue / Datenbankverbindung auswählen wird geöffnet.

Geben Sie im Fenster Neue / Datenbankverbindung auswählen die entsprechenden Werte in die Felder Verbindungsname, Benutzername und Kennwort ein.

Aus Sicherheitsgründen werden die von Ihnen eingegebenen Kennwortzeichen als Sternchen angezeigt.

In der Nähe des Felds Passwort befindet sich das Kontrollkästchen Passwort speichern. Standardmäßig ist die Auswahl aufgehoben. Oracle empfiehlt, die Standardeinstellung zu akzeptieren.

Klicken Sie im Fenster Neue / Datenbankverbindung auswählen auf die Registerkarte Oracle.

Das Oracle-Fenster wird angezeigt.

Im Oracle-Bereich:

Übernehmen Sie als Verbindungstyp die Standardeinstellung (Basis).

Übernehmen Sie für Rolle die Standardeinstellung.

Übernehmen Sie in den Feldern Hostname und Port entweder die Standardeinstellungen oder geben Sie die entsprechenden Werte ein.

Wählen Sie die Option SID.

Geben Sie im Feld SID den Standardwert (xe) akzeptieren ein.

Klicken Sie im Fenster Neue / Datenbankverbindung auswählen auf die Schaltfläche Test.

Die Verbindung wird getestet. Wenn die Verbindung erfolgreich hergestellt wurde, wechselt die Statusanzeige von leer zu Erfolgreich.

Beschreibung der Abbildung success.gif

Wenn der Test erfolgreich war, klicken Sie auf die Schaltfläche Verbinden.

Das Fenster Neue / Datenbankverbindung auswählen wird geschlossen. Im Bereich Verbindungen wird die Verbindung angezeigt, deren Namen Sie in Schritt 4 in das Feld Verbindungsname eingegeben haben.

Sie befinden sich in der SQL Developer-Umgebung.

Um SQL Developer zu beenden, wählen Sie im Menü Datei die Option Beenden.

Ollie
quelle
1
Meinen Sie damit, dass der Datenbankkonfigurationsassistent mit der Datenbank bereitgestellt wird? Ich konnte es nicht finden
Zo72
5
Entschuldigung, ich habe gerade bemerkt, dass Sie XE verwenden. Es wird nur eine Instanz zugelassen. Haben Sie bei der Installation der Software nicht aufgefordert, die Instanz zu erstellen? Sie sollten eine Datenbank mit der SID "XE" bereits erstellt haben. Sie sollten auch Ihre Kennwörter für die Benutzer SYS und SYSTEM eingerichtet haben.
Ollie
3
Vielen Dank für Ihre Hilfe. Ich werde das überprüfen und wenn es richtig ist, werde ich Sie richtig markieren
Zo72
Es ist besser, beschreibende Begriffe zu verwenden, wenn auf Links verwiesen wird, falls diese beschädigt werden, wie bei Ihrem ersten, von dem ich festgestellt habe, dass er fehlerhaft ist. Dann können Sie es über eine Google-Suche finden. HTH
James Drinkard
59

Bei der Installation von XE .... wurde automatisch eine Datenbank mit dem Namen "XE" erstellt. Sie können Ihr Anmeldesystem und Passwort verwenden, das Sie für die Anmeldung festgelegt haben.

Wichtige Informationen

Server: (Sie haben definiert)
Port: 1521
Datenbank: XE
Benutzername: Systemkennwort
: (Sie haben definiert)

Auch Oracle ist schwierig und sagt Ihnen nicht einfach, eine andere Datenbank zu erstellen. Sie müssen SQL oder ein anderes Tool verwenden, um neben "XE" weitere Datenbanken zu erstellen.

Albert T. Wong
quelle
6
Danke, tolle Antwort, genau das habe ich gebraucht. Diese Antwort sollte nach oben gewählt werden.
KevSheedy
1
Dies ist eine viel hilfreichere Antwort als die akzeptierte.
AfterWorkGuinness
1
Dies beantwortet nicht die Frage
Philip Rego
9

Wenn Sie ein neues Schema in XE erstellen möchten, müssen Sie einen USER erstellen und dessen Berechtigungen zuweisen. Folge diesen Schritten:

  • Öffnen Sie die SQL * Plus-Befehlszeile
SQL> connect sys as sysdba
  • Geben Sie das Passwort ein
SQL> CREATE USER myschema IDENTIFIED BY Hga&dshja;
SQL> ALTER USER myschema QUOTA unlimited ON SYSTEM;
SQL> GRANT CREATE SESSION, CONNECT, RESOURCE, DBA TO myschema;
SQL> GRANT ALL PRIVILEGES TO myschema;

Jetzt können Sie über Oracle SQL Developer eine Verbindung herstellen und Ihre Tabellen erstellen.

Kiefer
quelle
5

"Wie erstelle ich eine erste Datenbank?"

Sie haben bei der Installation von XE eine Datenbank erstellt. Irgendwann wurden Sie beim Installationsvorgang aufgefordert, ein Kennwort für das SYSTEM-Konto einzugeben. Verwenden Sie diese Option, um über die SQL-Befehlszeile im Anwendungsmenü eine Verbindung zur XE-Datenbank herzustellen.

Die XE-Dokumentation ist online und sehr hilfreich. Finden Sie es hier .

Es ist erwähnenswert, dass 11g XE mehrere Einschränkungen aufweist, von denen eine nur eine Datenbank pro Server ist. Die Verwendung der vorinstallierten Datenbank ist daher die sinnvolle Option.

APC
quelle
Das ist nicht wirklich eine Antwort, verwenden Sie einfach die vorhandene? Er fragte, wie man einen neuen macht.
Gherbi Hicham
1
@gherbihicham - Die eigentliche Frage des Suchers lautete: "Wie erstelle ich eine erste Datenbank?" Ich erklärte, dass der Installationsprozess eine erste Datenbank erstellt hat. Tatsächlich verwenden sie XE, bei dem eine Datenbank pro Computer ausdrücklich eingeschränkt ist. Daher wäre es sinnlos gewesen, ihnen zu sagen, wie eine andere Datenbank erstellt werden soll.
APC
1
Ok, fair, habe meine Ablehnung entfernt.
Gherbi Hicham
2

Speichern Sie den folgenden Code in einer Batchdatei (z. B. createOraDbWin.bat). Ändern Sie die Parameterwerte wie app_name, ora_dir usw. Führen Sie die Datei mit Administratorrechten aus. Die Batch-Datei erstellt eine grundlegende Oracle-Datenbank:

Hinweis : Kann viel Zeit in Anspruch nehmen (etwa 30 Minuten)

REM ASSUMPTIONS
rem oracle xe has been installed
rem oracle_home has been set
rem oracle_sid has been set
rem oracle service is running

REM SET PARAMETERS
set char_set =al32utf8
set nls_char_set =al16utf16

set ora_dir=d:\app\db\oracle
set version=11.2.0.0
set app_name=xyz
set db_name=%app_name%_db
set db_sid=%db_name%_sid
set db_ins=%db_name%_ins
set sys_passwd=x3y5z7
set system_passwd=1x4y9z

set max_log_files=32
set max_log_members=4
set max_log_history=100
set max_data_files=254
set max_instances=1

set version_dir=%ora_dir%\%version%
set db_dir=%version_dir%\%db_name%

set instl_temp_dir=%db_dir%\instl\script

set system_dir=%db_dir%\system
set user_dir=%db_dir%\user
set undo_dir=%db_dir%\undo
set sys_aux_dir=%db_dir%\sysaux
set temp_dir=%db_dir%\temp
set control_dir=%db_dir%\control

set pfile_dir=%db_dir%\pfile
set data_dir=%db_dir%\data
set index_dir=%db_dir%\index
set log_dir=%db_dir%\log
set backup_dir=%db_dir%\backup
set archive_dir=%db_dir%\archive

set data_dir=%db_dir%\data
set index_dir=%db_dir%\index
set log_dir=%db_dir%\log
set backup_dir=%db_dir%\backup
set archive_dir=%db_dir%\archive
set undo_dir=%db_dir%\undo
set default_dir=%db_dir%\default

set system_tbs=%db_name%_system_tbs
set user_tbs=%db_name%_user_tbs
set sys_aux_tbs=%db_name%_sys_aux_tbs
set temp_tbs=%db_name%_temp_tbs
set control_tbs=%db_name%_control_tbs

set data_tbs=%db_name%_data_tbs
set index_tbs=%db_name%_index_tbs
set log_tbs=%db_name%_log_tbs
set backup_tbs=%db_name%_backup_tbs
set archive_tbs=%db_name%_archive_tbs
set undo_tbs=%db_name%_undo_tbs
set default_tbs=%db_name%_default_tbs

set system_file=%system_dir%\%db_name%_system.dbf
set user_file=%user_dir%\%db_name%_user.dbf
set sys_aux_file=%sys_aux_dir%\%db_name%_sys_aux.dbf
set temp_file=%temp_dir%\%db_name%_temp.dbf
set control_file=%control_dir%\%db_name%_control.dbf

set data_file=%data_dir%\%db_name%_data.dbf
set index_file=%index_dir%\%db_name%_index.dbf
set backup_file=%backup_dir%\%db_name%_backup.dbf
set archive_file=%archive_dir%\%db_name%_archive.dbf
set undo_file=%undo_dir%\%db_name%_undo.dbf
set default_file=%default_dir%\%db_name%_default.dbf

set log1_file=%log_dir%\%db_name%_log1.log
set log2_file=%log_dir%\%db_name%_log2.log
set log3_file=%log_dir%\%db_name%_log3.log

set init_file=%pfile_dir%\init%db_sid%.ora
set db_create_file=%instl_temp_dir%\createdb.sql
set db_drop_file=dropdb.sql

set db_create_log=%instl_temp_dir%\db_create.log
set db_drop_log=db_drop.log

set oracle_sid=%db_sid%

REM WRITE DROP DATABASE SQL COMMANDS TO FILE
echo shutdown immediate;>%db_drop_file%
echo startup mount exclusive restrict;>>%db_drop_file%
echo drop database;>>%db_drop_file%

REM EXECUTE DROP DATABASE SQL COMMANDS FROM THE FILE    
rem sqlplus -s "/as sysdba" @"%db_drop_file%">%db_drop_log%

REM DELETE WINDOWS ORACLE SERVICE
rem oradim -delete -sid %db_sid%

REM CREATE DIRECTORY STRUCTURE
md %system_dir%
md %user_dir%
md %sys_aux_dir%
md %temp_dir%
md %control_dir%

md %pfile_dir%
md %data_dir%
md %index_dir%
md %log_dir%
md %backup_dir%
md %archive_dir%
md %undo_dir%
md %default_dir%
md %instl_temp_dir%

REM WRITE INIT FILE PARAMETERS TO INIT FILE
echo db_name='%db_name%'>%init_file%
echo memory_target=1024m>>%init_file%
echo processes=150>>%init_file%
echo sessions=20>>%init_file%
echo audit_file_dest=%user_dir%>>%init_file%
echo audit_trail ='db'>>%init_file%
echo db_block_size=8192>>%init_file%
echo db_domain=''>>%init_file%
echo diagnostic_dest=%db_dir%>>%init_file%
echo dispatchers='(protocol=tcp) (service=%app_name%xdb)'>>%init_file%
echo shared_servers=4>>%init_file%
echo open_cursors=300>>%init_file%
echo remote_login_passwordfile='exclusive'>>%init_file%
echo undo_management=auto>>%init_file%
echo undo_tablespace='%undo_tbs%'>>%init_file%
echo control_files = ("%control_dir%\control1.ora", "%control_dir%\control2.ora")>>%init_file%
echo job_queue_processes=4>>%init_file%
echo db_recovery_file_dest_size = 10g>>%init_file%
echo db_recovery_file_dest=%log_dir%>>%init_file%
echo compatible ='11.2.0'>>%init_file%

REM WRITE DB CREATE AND ITS RELATED SQL COMMAND TO FILE    
echo startup nomount pfile='%init_file%';>>%db_create_file%
echo.>>%db_create_file%

echo create database %db_name%>>%db_create_file%
echo user sys identified by %sys_passwd%>>%db_create_file%
echo user system identified by %system_passwd%>>%db_create_file%
echo logfile group 1 ('%log1_file%') size 100m,>>%db_create_file%
echo group 2 ('%log2_file%') size 100m,>>%db_create_file%
echo group 3 ('%log3_file%') size 100m>>%db_create_file%
echo maxlogfiles %max_log_files%>>%db_create_file%
echo maxlogmembers %max_log_members%>>%db_create_file%
echo maxloghistory %max_log_history%>>%db_create_file%
echo maxdatafiles %max_data_files%>>%db_create_file%
echo character set %char_set %>>%db_create_file%
echo national character set %nls_char_set %>>%db_create_file%
echo extent management local>>%db_create_file%
echo datafile '%system_file%' size 325m reuse>>%db_create_file%
echo sysaux datafile '%sys_aux_file%' size 325m reuse>>%db_create_file%
echo default tablespace %default_tbs%>>%db_create_file%
echo datafile '%default_file%'>>%db_create_file%
echo size 500m reuse autoextend on maxsize unlimited>>%db_create_file%
echo default temporary tablespace %temp_tbs%>>%db_create_file%
echo tempfile '%temp_file%'>>%db_create_file%
echo size 20m reuse>>%db_create_file%
echo undo tablespace %undo_tbs%>>%db_create_file%
echo datafile '%undo_file%'>>%db_create_file%
echo size 200m reuse autoextend on maxsize unlimited;>>%db_create_file%
echo.>>%db_create_file%

echo @?\rdbms\admin\catalog.sql>>%db_create_file%
echo.>>%db_create_file%

echo @?\rdbms\admin\catproc.sql>>%db_create_file%
echo.>>%db_create_file%

echo create spfile from pfile='%init_file%';>>%db_create_file%
echo.>>%db_create_file%

echo shutdown immediate;>>%db_create_file%
echo.>>%db_create_file%

echo startup;>>%db_create_file%
echo.>>%db_create_file%

echo show parameter spfile;>>%db_create_file%
echo.>>%db_create_file%

REM CREATE WINDOWS ORACLE SERVICE
oradim -new -sid %db_sid% -startmode auto

REM EXECUTE DB CREATE SQL COMMANDS FROM FILE
sqlplus -s "/as sysdba" @"%db_create_file%">%db_create_log%

pause

Begrüßen Sie Ihre Korrekturen und Verbesserungen!

AVA
quelle