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?
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
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.
avez-vous essayé SQL> alter database open;? après la première connexion?
Le même problème m'amène ici. Après tout, j'ai trouvé ce lien, c'est bon pour moi.
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
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".
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.