Не удается подключить мою базу данных oracle после перезапуска

#node.js #oracle #dbeaver

Вопрос:

Я пытаюсь подключить базу данных oracle DBeaver , чтобы она работала нормально, и я могу извлекать данные и подключать их, но после перезагрузки системы я получаю следующую ошибку при подключении к БД.

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

Если я попытаюсь подключить ту же базу данных из своего локального nodejs кода, это приведет к следующей ошибке.

Ошибка подключения Oracle : { [Ошибка: ORA-12170: TNS:Произошел тайм-аут подключения] Номер ошибки: 12170, смещение: 0 }

Может ли кто-нибудь помочь мне решить эту проблему?

ИЗМЕНИТЬ: Я попытался установить свой IP-адрес в строке подключения при подключении БД через Node.js

(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=SID)(CID=(PROGRAM=app.js)(HOST=HOST-URL)))(ADDRESS=(PROTOCOL=tcp)(HOST=MY-CURRENT-IP)(PORT=1524)))

все та же ошибка:

время ожидания подключения 🙁

не уверен, какой конфигурации здесь не хватает.

Заранее спасибо!

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

1. где находится база данных oracle; на том же хосте ? и что это за версия ?

2. «после перезагрузки моей системы» — возможно, у машины, на которой находится база данных, есть динамический IP-адрес, который изменился при перезагрузке; 173.36.101.240 по-прежнему является правильным IP-адресом?

3. Нет, мой текущий IP отличается от этого, как я могу изменить его на текущий IP ?

4. Запустите LSNRCTL STATUS в командной строке и проверьте, работает ли он. Также проверьте, запущены ли также службы Oracle. Я столкнулся с теми же проблемами при установке «по умолчанию» в Windows, и это было связано с тем, что службы не запускались

5. эта команда неизвестна windows не принимает эту команду в CMD. Как я могу проверить 🙁

Ответ №1:

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

  • заблокированный порт брандмауэра
  • Настройки сервера Oracle (например, «какие сетевые интерфейсы я должен прослушивать»).
  • ошибка в IP-адресе хоста или номере порта.

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

1. Это также может означать, что слушатель отключен !

2. 1-й и 2-й Я уверен, что никаких изменений вообще нет, но для 3-го пункта как я могу установить свой текущий IP в DBeaver ?

3. Не можете ли вы использовать localhost вместо IP-адреса?

4. Я новичок в Oracle, можете ли вы подсказать мне, как установить localhost вместо IP?

Ответ №2:

«Нет, мой текущий IP отличается от этого, как я могу изменить его на текущий IP»

Основная проблема заключается в том, что вы запускаете свою базу данных на компьютере, который динамически получает свой IP-адрес. Он меняется при каждом перезапуске, превращая вашу базу данных в движущуюся цель. Если это ваш персональный компьютер, то лучшим решением будет использовать VirtualBox для создания виртуальной машины. Настройте эту виртуальную машину с помощью адаптера ТОЛЬКО для хоста, затем, когда ОС будет установлена, укажите ей фиксированный IP-адрес, а затем установите oracle.

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

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

1. Это моя офисная машина, поэтому я не могу создать на ней виртуальную машину, а что касается сервера, то на сервере установлена моя база данных oracle, и я не имею об этом большого представления. связано ли это с конфигурацией bcu серверной машины на компьютере Mac, к которому я могу подключиться без каких-либо ошибок, так что?

2. Первое, что нам нужно сделать, это посмотреть, что делает слушатель. В командной строке на компьютере, на котором запущена база данных, выполните команду «состояние lsnrctl». Затем скопируйте команду и ответ из окна командной строки и вставьте их в исходный вопрос.

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

4. Я бы согласился, что это не «проблема сервера», но мы должны знать, что делает сервер и как он настроен, прежде чем мы сможем узнать, как настроить клиент. Так почему же вы не работаете над этим со своим администратором базы данных — парнем, у которого есть доступ к серверу?