Задать вопрос
Ответы пользователя по тегу Linux
  • Почему не соединяется клиент с базой данных Oracle?

    @Oraclist
    По пунктам:
    1. Пробуй подключиться к БД локально (подключаешься по SSH, в командной строке su - oracle, прыгаешь в папку размещения sqlplus, запускаешь sqlplus /nolog, далее conn / as sysdba, вводишь пароль SYS'a.
    Если, ОК значит БД может принимать подключения.
    Заодно проверь, что экземпляр запущен.
    2. Там же из SSH пробуй подключиться через листенер (sqlplus /nolog, вводишь sys@имя_БД, если получишь приглашение на ввод пароля, то всё ОК.
    3. Если нет, то tnsping имя_БД. Если пинга нет, то настраивай tnsnames.ora. Рекомендую хранить только один экземпляр файла с таким именем на хосте. Путь к файлу можно задать через переменную окружения TNS_ADMIN.
    4. Если в п.2. ОК, то повтори п.3 с удаленного хоста.
    5. Если в п.4. ОК, то выгони инопланетян из компьютера)
    6. Если в п.4 не ОК. Пробуй сначала "telnet имя_хоста 1521". Есть приглашение - есть доступ к хосту. Нет приглашения - кури файрвол.
    7. Если есть доступ к хосту и нет связи, настраивай удаленный tnsnames.ora. Рекомендации теже.

    tnsnames.ora расположен в ORA_HOME/NETWORK/ADMIN или по пути в переменной окружения TNS_ADMIN.

    Вот пример одной настройки из файла
    Имя_БД=
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=TCP)(HOST=IP_хоста_или_доменное_имя)(PORT=1521))
    (CONNECT_DATA=(SID=SID_БД)(SERVER=DEDICATED))
    )
    SID_БД можно глянуть командой lsnrctl status в командной строке по SSH
    Ответ написан
    Комментировать