lsnrctl не работает с базой данных Oracle 19c

#oracle #oracle19c

#Oracle #oracle19c

Вопрос:

Независимо от того, как я редактирую, устанавливаю и экспортирую свои переменные env, lsnrctl start это не сработает.

Я уже дважды проверил все наборы для $ORACLE_HOME $ORACLE_BASE и $ORACLE_SID включил home/ oracle/bin в my $PATH , но прослушиватель продолжает возвращать сообщения об ошибках….

Мои переменные задаются следующим образом:

 export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=dbserver
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=cdb1
export PDB_NAME=pdb1
export DATA_DIR=/u02/oradata

export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=/home/oracle/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
 

Сообщение об ошибке:

 LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-DEC-2020 14:06:27

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Message 1070 not found; No message file for product=network, facility=TNSTNS-12545: Message 12545 not found; No message file for product=network, facility=TNS
 TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
  TNS-00515: Message 515 not found; No message file for product=network, facility=TNS
   Linux Error: 2: No such file or directory
 

Любой намек? Спасибо.

echo $ORACLE_HOME затем lsnrctl status :

введите описание изображения здесь

Вывод для ls -l $ORACLE_HOME

 [oracle@dbserver ~]$ ls -l $ORACLE_HOME
total 0
[oracle@dbserver ~]$ 
 

Вывод для ls -l $ORACLE_HOME/network/mesg

 [oracle@dbserver ~]$ ls -l $ORACLE_HOME/network/mesg
ls: cannot access '/u01/app/oracle/product/19.0.0/dbhome_1/network/mesg': No such file or directory
 

Комментарии:

1. Ну, мы точно не знаем, что среда была правильно настроена в сеансе , в котором вы выполнили свою команду ‘lsnrctl’. Насколько это возможно, мы даже не знаем, какую команду lsnrctl вы выдали — start? статус? службы? перезагрузить? (и большинство отображаемых вами переменных env не используются для этой ошибки). Я бы хотел увидеть полный журнал сеанса… команды и ответы .. для следующих команд: ‘echo $ ORACLE_HOME’, за которым сразу следует ‘статус lsnrctl’. Пожалуйста, обновите свой вопрос, чтобы показать это.

2. Еще одна вещь, если ваша команда lsnrctl была выдана из сценария оболочки, запущенного из cron, на ваш профиль не ссылаются. Сценарии, запускаемые из cron, отвечают за установку собственных переменных среды.

3. Спасибо за вашу поддержку. Как я уже говорил в первом предложении моего поста, команда ‘lsnrctl start’. Когда я выполнил запрос echo, который вы предлагали, возвращением было: «/u01/app/oracle/product/19.0.0/dbhome_1 статус lsnrctl»

4. Извините, мое скорочтение пропустило эту деталь в вашем вступительном предложении. Теперь я дал вам ДВЕ отдельные команды: 1) ‘echo $ ORACLE_HOME’ и 2) ‘lsnrctl status’. Похоже, вы выдали одну команду: ‘echo $ ORACLE_HOME lsnrctl start’. И я попросил вас обновить ваш первоначальный вопрос, чтобы вы могли показать его в формате и в контексте.

5. Хорошо, затем я хотел бы увидеть выходные данные этих ДВУХ команд: 1) ‘ls -l $ ORACLE_HOME’ и 2) ‘ls -l $ ORACLE_HOME / network / mesg’. И снимки экрана сеансов терминала особенно трудно читать. Я оставляю это в качестве упражнения для студента, чтобы узнать, как скопировать текст из сеанса терминала и вставить его — в формате кода — в ваш вводный вопрос.

Ответ №1:

РЕШАЕМАЯ

Я заметил проблему с установкой. В каталоге ORACLE_HOME не было всех ожидаемых файлов, каталогов и структуры.

Несмотря на то, что даже после чистой новой установки мне все равно пришлось отредактировать файл listener.ora и изменить имя хоста для IP-адреса сервера.

Комментарии:

1. Рад, что вы это исправили. Что касается вашего listener.ora, он вам вообще не нужен. Без этого прослушиватель с радостью начнет работу со всеми значениями по умолчанию, и это хорошо для подавляющего большинства установок. Просто убедитесь, что у вас есть правильная запись для имени сервера в вашем файле /etc/hosts.

2. «Это стало настоящим путешествием». Это те, из которых мы извлекаем больше всего уроков! 🙂