Come creare un nuovo database dopo l'installazione iniziale di Oracle Database 11g Express Edition?


112

Ho installato Oracle Database 11g Express Edition sul mio pc (windows 7) e ho installato anche Oracle SQL Developer.

Voglio creare un semplice database con cui iniziare, magari con una o due tabelle e quindi utilizzare Oracle SQL Developer per inserire dati e interrogarli.

Quando apro Oracle SQL Developer, mi chiede di creare una nuova connessione, quindi presume che sia già stato creato un database.

Quindi la mia domanda è: come faccio a creare un database iniziale in Oracle 11g?

Risposte:


56

Questo collegamento: Creazione del database di esempio in Oracle 11g Release 2 è un buon esempio di creazione di un database di esempio.

Questo collegamento: Guida per principianti ai problemi comuni del database Oracle 11g dovrebbe aiutarti se incontri alcuni problemi comuni durante la creazione del tuo database.

Buona fortuna!

EDIT: Dato che stai usando XE, dovresti avere un DB già creato, per connetterti usando SQL * Plus e SQL Developer ecc. Le informazioni sono qui: Connessione a Oracle Database Express Edition ed esplorazione .

Estratto:

Connessione a Oracle Database XE da SQL Developer SQL Developer è un programma client con cui è possibile accedere a Oracle Database XE. Con Oracle Database XE 11g Release 2 (11.2), è necessario utilizzare SQL Developer versione 3.0. Questa sezione presuppone che SQL Developer sia installato sul sistema e mostra come avviarlo e connettersi a Oracle Database XE. Se SQL Developer non è installato sul sistema, consultare la Guida per l'utente di Oracle Database SQL Developer per le istruzioni di installazione.

Nota:

Per la seguente procedura: la prima volta che si avvia SQL Developer sul sistema, è necessario fornire il percorso completo a java.exe nel passaggio 1.

Per il passaggio 4, sono necessari un nome utente e una password.

Per il passaggio 6, è necessario un nome host e una porta.

Per connettersi a Oracle Database XE da SQL Developer:

Avvia SQL Developer.

Per istruzioni, consultare la Guida per l'utente di Oracle Database SQL Developer.

Se è la prima volta che si avvia SQL Developer sul sistema, viene richiesto di immettere il percorso completo di java.exe (ad esempio, C: \ jdk1.5.0 \ bin \ java.exe). Digitare il percorso completo dopo il prompt o sfogliarlo, quindi premere il tasto Invio.

Viene visualizzata la finestra Oracle SQL Developer.

Nel riquadro di navigazione della finestra, fare clic su Connessioni.

Viene visualizzato il riquadro Connessioni.

Nel riquadro Connessioni, fare clic sull'icona Nuova connessione.

Viene visualizzata la finestra Nuova / Seleziona connessione database.

Nella finestra Nuova / Seleziona connessione database, digitare i valori appropriati nei campi Nome connessione, Nome utente e Password.

Per sicurezza, i caratteri della password digitati vengono visualizzati come asterischi.

Vicino al campo Password c'è la casella di controllo Salva password. Per impostazione predefinita, è deselezionato. Oracle consiglia di accettare l'impostazione predefinita.

Nella finestra Nuovo / Seleziona connessione database, fare clic sulla scheda Oracle.

Viene visualizzato il riquadro Oracle.

Nel riquadro Oracle:

Per Tipo di connessione, accetta il valore predefinito (Base).

Per Ruolo, accetta l'impostazione predefinita.

Nei campi Nome host e Porta, accettare i valori predefiniti o digitare i valori appropriati.

Seleziona l'opzione SID.

Nel campo SID, digita accetta il valore predefinito (xe).

Nella finestra New / Select Database Connection, fare clic sul pulsante Test.

La connessione viene testata. Se la connessione riesce, l'indicatore di stato cambia da vuoto a riuscito.

Descrizione dell'illustrazione success.gif

Se il test è andato a buon fine, fare clic sul pulsante Connetti.

La finestra Nuova / Seleziona connessione database si chiude. Il riquadro Connessioni mostra la connessione il cui nome è stato immesso nel campo Nome connessione al passaggio 4.

Ti trovi nell'ambiente SQL Developer.

Per uscire da SQL Developer, seleziona Esci dal menu File.


1
vuoi dire che Database Configuration Assistant è distribuito con il database? Non sono riuscito a trovarlo
Zo72

5
Mi scuso, ho appena notato che stavi usando XE. Consente solo un'istanza, non ti è stato chiesto di creare l'istanza quando hai installato il software? Dovresti avere un database con il SID "XE" già creato. Dovresti anche aver impostato le tue password per gli utenti SYS e SYSTEM.
Ollie

3
Grazie per il tuo aiuto, lo verificherò e se corretto ti
segnerò

È meglio usare termini descrittivi quando si fa riferimento ai collegamenti nel caso in cui si rompano, come con il tuo primo, che ho trovato non funzionante. Quindi puoi trovarlo tramite una ricerca su Google. HTH
James Drinkard

59

Quando hai installato XE .... ha creato automaticamente un database chiamato "XE". Puoi usare il tuo "sistema" di accesso e la password che hai impostato per accedere.

Informazioni chiave

server: (definita dall'utente)
porta: 1521
database: XE
nome utente:
password di sistema : (definita dall'utente)

Anche Oracle è difficile e non ti dice di creare facilmente un altro database. Devi usare SQL o un altro strumento per creare più database oltre a "XE".


6
Grazie, ottima risposta, questo è esattamente ciò di cui avevo bisogno. Questa risposta dovrebbe essere votata tra le prime.
KevSheedy,

1
Questa è una risposta molto più utile di quella accettata.
AfterWorkGuinness

1
Questo non risponde alla domanda
Philip Rego

9

Se desideri creare un nuovo schema in XE, devi creare un USER e assegnarne i privilegi. Segui questi passi:

  • Apri la riga di comando SQL * Plus
SQL> connect sys as sysdba
  • Immettere la password
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;

Ora puoi connetterti tramite Oracle SQL Developer e creare le tue tabelle.


5

"Come creo un database iniziale?"

Hai creato un database quando hai installato XE. Ad un certo punto il processo di installazione ti ha chiesto di inserire una password per l'account SYSTEM. Usalo per connetterti al database XE utilizzando la riga di comando SQL nel menu dell'applicazione.

La documentazione XE è online e molto utile. Trovalo qui .

Vale la pena ricordare che 11g XE ha diverse limitazioni, una delle quali è solo un database per server. Quindi utilizzare il database preinstallato è l'opzione sensata.


Non è davvero una risposta, usa solo quella esistente? Ha chiesto come crearne uno nuovo.
Gherbi Hicham

1
@gherbihicham - la vera domanda del Cercatore era "come faccio a creare un database iniziale?" Ho spiegato che il processo di installazione ha creato un database iniziale. In effetti, stanno usando XE che ha un'esplicita limitazione di un database per macchina, quindi dire loro come creare un altro database sarebbe stato inutile.
APC

1
Ok, ho rimosso il mio voto negativo.
Gherbi Hicham,

2

Salva il seguente codice in un file batch (es. CreateOraDbWin.bat). Modifica i valori dei parametri come app_name, ora_dir ecc., Esegui il file con privilegi amministrativi. Il file batch crea un database Oracle di base:

Nota : potrebbe richiedere molto tempo (diciamo circa 30 minuti)

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

Benvenuto alle tue correzioni e miglioramenti!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.