Как устранить эту ошибку "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

Почему это дает мне такую ​​ошибку?

Ответ 1

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

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

ALTER DATABASE OPEN

Ответ 2

У меня такая же проблема. Вот как я решил проблему. Я работаю над базой данных оракула базы данных 12c (pdb) на окнах 10.

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

sqlplus sys/@orclpdb как sysdba

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

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

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

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

SQL > ALTER PLUGGABLE DATABASE OPEN;

- Проверить статус еще раз.

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

То же самое касается меня. В конце концов, я нашел эту ссылку, это хорошо для меня.

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

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

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

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

ИМЯ OPEN_MODE ------------------------------ ---------- PDB $SEED MOUNTED PDBORCL MOUNTED PDBORCL2 MOUNTED PDBORCL1 < ш > НАВЕСНОЙ

МЫ НУЖНО НАЧАТЬ ПЛАНОВЫЕ БАЗЫ ДАННЫХ PDB $SEED в СОГЛАШЕНИИ ОБНОВЛЕНИЯ ДЛЯ ЭТОГО

SQL > SHUTDOWN IMMEDIATE;

База данных закрыта. База данных отключилась. Экземпляр экземпляра ORACLE отключен.

SQL > STARTUP UPGRADE;

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

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

SQL > ALTER PLUGGABLE DATABASE ВСЕ ОТКРЫТОЕ ОБНОВЛЕНИЕ; Вставляемая база данных изменено.

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

ИМЯ OPEN_MODE ------------------------------ ---------- PDB $SEED MIGRATE PDBORCL MIGRATE PDBORCL2 MIGRATE PDBORCL1 < ш > MIGRATE

Ответ 6

  изменить подключаемую базу данных orclpdb open; '

работал для меня.

orclpdb - это имя подключаемой базы данных, которая может отличаться в зависимости от человека.