2014-12-03 25 views
9

Sto provando a creare il mio database personale utilizzando SQLPlus. Quindi, prima mi si consente l'accesso come amministratore:Come posso risolvere questo errore "ORA-01109: database non aperto"?

sqlplus sys/sys_password as sysdba 

E poi cerco di creare un nuovo utente, chiamato sqlzoo:

CREATE USER sqlzoo IDENTIFIED BY sqlzoo 
DEFAULT TABLESPACE tbs_perm_01sqlzoo 
TEMPORARY TABLESPACE tbs_perm_01sqlzoo 
QUOTA 20M ON tbs_perm_01sqlzoo; 

Questo mi dà il seguente errore:

ERROR at line 1: 
ORA-01109: database not open 

Perché mi sta dando un errore?

risposta

8

Come indica l'errore - il database non è aperto - è stato precedentemente chiuso e qualcuno lo ha lasciato nel mezzo del processo di avvio. Possono essere intenzionali o non intenzionali (vale a dire, doveva essere aperto, ma non è riuscito a farlo).

Partendo dal presupposto che c'è niente di sbagliato con il database stesso, si potrebbe aprire con una semplice affermazione:

ALTER DATABASE OPEN 
+0

Grazie !! Per qualche ragione, quando ho inserito quel comando mi dice "Oracle non disponibile" ..non sicuro – Coffee

+0

Penso che dovrei evitare di usare l'utente 'sysdba'? – Coffee

+1

si noti che senza il punto e virgola (;) alla fine dell'istruzione questo non funzionerà (almeno dall'interno di SqlPlus) –

1

hai provato SQL> alter database aperto;? dopo il primo accesso?

+0

Hmm, io questo codice, mi dice "Oracle non disponibile" ?? – Coffee

+1

se non disponibile come effettuare il login? controllare i servizi di database e listener e riprovare – jfun

+0

Penso perché accedo usando: 'sqlplus sys/sys_password as sysdba' - penso che dovrei usare un utente normale? – Coffee

1

Se il database è in basso e poi durante il login come SYSDBA si può presumere questo. Mentre il comando di login verrà eseguito come sqlplus sys/sys_password come sysdba, quella volta si otterrà la risposta "connessa all'istanza idle" dal database. Questo messaggio indica che il tuo database è inattivo. Dovresti controllare il primo file alert.log sul motivo per cui il database è inattivo. Se si trova che è stato scaricato normalmente, è possibile eseguire il comando "startup" per l'avvio del database e successivamente eseguire il comando create user. Se il database ha riscontrato problemi come file di dati mancanti o qualcos'altro, è necessario ripristinare prima il database e aprire il database per l'esecuzione del comando di creazione dell'utente.

comando "alter database open" accettato solo dal database mentre è su Mount stage. Se il database è inattivo, non accetterà il comando "alter database open".

1

Ho avuto lo stesso problema. Di seguito è come ho risolto il problema. Sto lavorando su un database di Oracle 12c database collegabile (pdb) su Windows 10.

- utilizzando sqlplus per accedere come sysdba da un terminale; Di seguito è riportato un esempio:

sqlplus sys/@ orclpdb come sysdba

- controllare prima lo stato della base di dati;

SQL> selezionare il nome, open_mode da v $ pdbs;

- Mostra che il database è montato nel mio caso. Se il tuo non è montato, devi prima montare il database.

- Avanti aprire il database per la lettura/scrittura

SQL> ALTER DATABASE PLUGGABLE APERTO;

- Controllare di nuovo lo stato.

SQL> selezionare il nome, open_mode da v $ pdbs;

- Ora il vostro dababase dovrebbe essere aperto per la lettura/scrittura e si dovrebbe essere in grado di creare schemi, ecc

0

Lo stesso problema mi porta qui. Dopo tutto, ho trovato questo link, è buono per me.

Source link

controllare lo stato del DATABASE innesto.

SQL> STARTUP; Istanza di ORACLE avviata.

totale del sistema Global Area 788529152 byte dimensione fissa 2929352 byte Formato variabile 541068600 byte Database Buffer 239.075.328 byte Redo montato buffer 5455872 byte Database. Database aperto. SQL> seleziona nome, open_mode da v $ pdbs;

NOME OPEN_MODE ------------------------------ ---------- PDB $ SEED MONTATO MONTATO PDBORCL PDBORCL2 MONTATO PDBORCL1
MONTATO

abbiamo bisogno di iniziare PPB $ SEED DATABASE PLUGGABLE in UPGRADE dI STATO pER CHE

SQL> SHUTDOWN IMMEDIATE;

Database chiuso. Database smontato. L'istanza di ORACLE si spegne.

SQL> STARTUP UPGRADE;

L'istanza di ORACLE è stata avviata.

totale del sistema Global Area 788529152 byte dimensione fissa 2929352 byte Formato variabile 541068600 byte Database Buffer 239.075.328 byte Redo montato buffer 5455872 byte Database. Database aperto.

SQL> ALTER PLUGGABLE DATABASE ALL OPEN UPGRADE; Database innestabile modificato.

SQL> selezionare il nome, open_mode da v $ pdbs;

NOME OPEN_MODE ------------------------------ ---------- PDB $ SEED MIGRATE PDBORCL MIGRATE PDBORCL2 MIGRATE PDBORCL1
MIGRATE