Как устранить эту ошибку "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
- это имя подключаемой базы данных, которая может отличаться в зависимости от человека.