web-dev-qa-db-fra.com

Comment résoudre cette erreur "ORA-01109: la base de données n'est pas ouverte"?

J'essaie de créer ma propre base de données à l'aide de SQLPlus. Donc, je me connecte d'abord en tant qu'administrateur:

sqlplus sys/sys_password as sysdba

Et puis j'essaye de créer un nouvel utilisateur, appelé sqlzoo:

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

Cela me donne l'erreur suivante:

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

Pourquoi me donne-t-il une telle erreur?

13
Coffee

Comme l'indique l'erreur - la base de données n'est pas ouverte - elle a déjà été fermée et quelqu'un l'a laissée au milieu du processus de démarrage. Ils peuvent être intentionnels ou non intentionnels (c'est-à-dire qu'ils étaient censés être ouverts, mais ne l'ont pas fait).

En supposant que cela n'a rien de mal avec la base de données elle-même, vous pouvez l'ouvrir avec une simple déclaration:

ALTER DATABASE OPEN
14
Mureinik

J'ai un même problème. Voici comment j'ai résolu le problème. Je travaille sur une base de données enfichable Oracle Database 12c (PDB) sur Windows 10.

- utiliser sqlplus pour se connecter en tant que sysdba à partir d'un terminal; Voici un exemple:

sqlplus sys/@ orclpdb en tant que sysdba

- Vérifiez d'abord l'état de votre base de données;

SQL> sélectionner le nom, open_mode de v $ pdbs;

- Cela montre que la base de données est montée dans mon cas. Si le vôtre n'est pas monté, vous devez d'abord monter la base de données.

- Ensuite, ouvrez la base de données pour lecture/écriture

SQL> ALTER PLUGGABLE DATABASE OPEN;

- Vérifiez à nouveau l'état.

SQL> sélectionner le nom, open_mode de v $ pdbs;

- Maintenant, votre base de données devrait être ouverte en lecture/écriture et vous devriez pouvoir créer des schémas, etc.

4
Renhuai

avez-vous essayé SQL> alter database open;? après la première connexion?

2
Null

Le même problème m'amène ici. Après tout, j'ai trouvé ce lien, c'est bon pour moi.

Lien source

VÉRIFIEZ L'ÉTAT DE LA BASE DE DONNÉES PLUGGABLE.

SQL> STARTUP; L'instance Oracle a démarré.

Zone globale du système total 788529152 octets Taille fixe 2929352 octets Taille variable 541068600 octets Tampons de base de données 239075328 octets Tampons de rétablissement 5455872 octets Base de données montée. Base de données ouverte. SQL> sélectionner le nom, open_mode de v $ pdbs;

NOM OPEN_MODE ------------------------------ ---------- PDB $ SEED MONTÉ PDBORCL MONTÉ PDBORCL2 MONTÉ PDBORCL1
MONTÉ

NOUS DEVONS DÉMARRER PDB $ SEED PLUGGABLE DATABASE dans UPGRADE STATE POUR CELA

SQL> SHUTDOWN IMMEDIATE;

Base de données fermée. Base de données démontée. Arrêt de l'instance Oracle.

SQL> MISE À NIVEAU DE DÉMARRAGE;

L'instance Oracle a démarré.

Zone globale du système total 788529152 octets Taille fixe 2929352 octets Taille variable 541068600 octets Tampons de base de données 239075328 octets Tampons de rétablissement 5455872 octets Base de données montée. Base de données ouverte.

SQL> ALTER PLUGGABLE DATABASE ALL OPEN UPGRADE; Base de données enfichable modifiée.

SQL> sélectionner le nom, open_mode de v $ pdbs;

NOM OPEN_MODE ------------------------------ ---------- PDB $ SEED MIGRATE PDBORCL MIGRATE PDBORCL2 MIGRATE PDBORCL1
ÉMIGRER

1
Tri Pham

Si votre base de données est en panne, lors de la connexion en tant que SYSDBA, vous pouvez le supposer. Alors que la commande de connexion sera exécutée comme sqlplus sys/sys_password en tant que sysdba, cette fois, vous obtiendrez une réponse "connecté à l'instance inactive" à partir de la base de données. Ce message indique que votre base de données est en panne. Vous devez vérifier le premier fichier alert.log pour savoir pourquoi la base de données est arrêtée. Si vous avez trouvé qu'il était en panne normalement, vous pouvez émettre la commande "startup" pour démarrer la base de données et ensuite exécuter votre commande create user. Si vous avez trouvé que la base de données a un problème comme un fichier de données manquant ou autre chose, vous devez d'abord récupérer la base de données et ouvrir la base de données pour exécuter votre commande create user.

La commande "alter database open" n'est acceptée que par la base de données lorsqu'elle est à l'étape de montage. Si la base de données est en panne, elle n'acceptera pas la commande "alter database open".

1
doc123

alter pluggable database orclpdb open; `

travaillé pour moi.

orclpdb est le nom de la base de données enfichable qui peut être différente selon l'individu.

0
Charitha