Как устранить эту ошибку" ORA-01109: база данных не открыта"?

Я пытаюсь создать свою собственную базу данных с помощью SQLPlus. Поэтому сначала я вхожу в него как admin:

sqlplus sys/sys_password as sysdba

и затем я пытаюсь создать нового пользователя, называемого sqlzoo:

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

Это дает мне следующую ошибку :

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

почему он дает мне такую ошибку?

5 ответов


как говорится в сообщении об ошибке-база данных не открыта-она была ранее закрыта, и кто-то оставил ее в середине процесса запуска. Они могут быть либо преднамеренными, либо непреднамеренными (т. е. предполагалось, что они будут открытыми, но этого не произошло).

предполагая, что в самой базе данных нет ничего плохого, вы можете открыть ее с помощью простого утверждения:

ALTER DATABASE OPEN

вы пробовали SQL> alter database open; ? после первого входа?


Если ваша база данных не работает, то во время входа в систему как SYSDBA вы можете предположить это. В то время как команда login будет выполняться как sqlplus sys/sys_password как sysdba, вы получите ответ "подключен к простаивающему экземпляру" из базы данных. Это сообщение означает, что ваша база данных не работает. Вы должны проверить первое предупреждение.файл журнала о том, почему база данных не работает. Если вы обнаружили, что он был сбит нормально, вы можете выполнить команду "startup" для запуска базы данных и после этого выполнить команду create user. Если вы обнаружили, что база данных имеет проблему, как отсутствует файл данных или что-то еще, то вам нужно сначала восстановить базу данных и открыть базу данных для выполнения команды create user.

команда"alter database open" принимается только базой данных, пока она находится на этапе монтирования. Если база данных не работает, она не примет команду "alter database open".


У меня такая же проблема. Ниже показано, как я решил проблему. Я работаю над подключаемой базой данных oracle database 12c(pdb) в windows 10.

-- использование sqlplus для входа в систему как sysdba с терминала; Ниже приведен пример:

sqlplus sys / @orclpdb как sysdba

-- сначала проверьте состояние базы данных;

SQL> выберите имя, open_mode из v$pdbs;

-- Он показывает, что база данных смонтирована в мой случай. Если ваш не установлен, вы должны сначала подключить базу данных.

-- далее откройте базу данных для чтения / записи

СРЕДА SQL> ИЗМЕНИТЬ РАЗЪЕМНЫЙ ОТКРЫТОЙ БАЗЫ ДАННЫХ;

-- проверьте состояние еще раз.

SQL> выберите имя, open_mode из v$pdbs;

-- теперь ваш dababase должен быть открыт для чтения/записи и вы должны быть в состоянии создавать схемы и т. д.


та же проблема приводит меня сюда. В конце концов, я нашел эту связь, это хорошо для меня.

ссылка на источник

ПРОВЕРЬТЕ СОСТОЯНИЕ ПОДКЛЮЧАЕМОЙ БАЗЫ ДАННЫХ.

SQL> запуск; запущен экземпляр ORACLE.

общая системная глобальная область 788529152 байт фиксированный размер 2929352 байты переменный размер 541068600 байт буферы базы данных 239075328 байты повторить буферы 5455872 байт базы данных смонтированы. База данных открытый. язык SQL> выберите имя, open_mode из v$pdbs;

ИМЯ OPEN_MODE ------------------------------ ---------- PDB$SEED MOUNTED PDBORCL УСТАНОВЛЕН PDBORCL2 УСТАНОВЛЕН PDBORCL1
Конный

нам нужно запустить PDB$SEED PLUGGABLE DATABASE в состоянии обновления для этого

SQL> НЕМЕДЛЕННОЕ ЗАВЕРШЕНИЕ РАБОТЫ;

база данных закрыта. База данных отключена. Экземпляр ORACLE выключен.

SQL> ЗАПУСК Обновление;

запущен экземпляр ORACLE.

общая системная глобальная область 788529152 байт фиксированный размер 2929352 байты переменный размер 541068600 байт буферы базы данных 239075328 байты повторить буферы 5455872 байт базы данных смонтированы. База данных открытый.

SQL> ALTER PLUGGABLE DATABASE ALL OPEN UPGRADE; подключаемая база данных измененный.

SQL> выберите имя, open_mode из v$pdbs;

ИМЯ OPEN_MODE ------------------------------ ---------- PDB$SEED MIGRATE PDBORCL MIGRATE PDBORCL2 МИГРАЦИЯ PDBORCL1
MIGRATE