Stack Overflow на русском Asked on August 30, 2021
Есть полностью вновь установленная Docker имидж Oracle 19c.
Подключаюсь коммандой sqlplus / as sysdba
. После подключения любой запрос выдаёт ошибку, например:
SELECT * FROM all_users
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
Ну если не доступно, тогда пробую запустить БД:
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/product/19c/dbhome_1/dbs/initorclcd.ora'
Проверяю запущенные процессы:
$ ps aux | grep pmon
oracle 22 0.0 0.2 2028516 66372 ? Ss 21:52 0:00 ora_pmon_ORCLCDB
oracle 2421 0.0 0.0 9112 852 pts/1 S+ 22:47 0:00 grep --color=auto pmon
И выглядит, что всё работаеет.
Что тут не так?
Свободный перевод вопроса sqlplus :: ORA-01078: failure in processing system parameters от участника @Francesco Mantovani
У Вас не выставлены переменные окружекния
export ORACLE_SID=ORCLCDB
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_BASE=/opt/oracle
sqlplus / as sysdba
И работайте на здоровье.
Можно еще проверить содержание файла oratab.
cat etc/oratab
Answered by Manaor on August 30, 2021
Образ БД имеет SID ORCLCDB
, что видно по суфиксу PMON
процесса.
Но при попытке запустить БД, идёт обращение к файлу инициализации initorclcd.ora, а это заначит, что его поиск был для SID orclcd
.
Думаю, опечатка при установке переменной окружения ORACLE_SID
, недoстaет последней "B".
echo $ORACLE_SID
export ORACLE_SID=ORCLCDB; . oraenv
echo "export ORACLE_SID=ORCLCDB; . oraenv" >> ~/.bashrc
Теперь запустите SQL*Plus и всё должно работать.
Свободный перевод ответа от участника @Connor McDonald
Answered by 0xdb on August 30, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP