• Почему ошибка ORA-12514: TNS:listener does not currently know of service requested in connect descriptor?

    drno-reg
    @drno-reg Автор вопроса
    см не кратко
    В общем в одной подсети инстансы oracle с одинаковыми service name и портами жить могут.

    в listener.ora добавляем информацию о новом подключении по IP и меняем порт

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 2001))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2001))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.22)(PORT = 2001))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2001))
        )	
      )


    В tnsnames.ora заносим информацию о новых экземплярах

    SERVER01_DBORACLE_LOCAL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.22)(PORT = 2001))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = dboracle)
        )
      )  
      
    SERVER01_DBORACLE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 2001))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = dboracle)
        )
      )    
    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2001))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )
    
    LISTENER_DBORACLE =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 2001))


    После перезапускаем службы листенера и самой БД.

    Проверяем командой
    lsnrctl status
    LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production on 13-APR-2017 16:27:57
    
    Copyright (c) 1991, 2016, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=2001)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for 64-bit Windows: Version 12.2.0.1.0 - Production
    Start Date                13-APR-2017 15:28:54
    Uptime                    0 days 0 hr. 59 min. 2 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   D:\DataBases\Oracle\product\12.2.0\dbhome_1\network\admin\listener.ora
    Listener Log File         D:\DataBases\Oracle\diag\tnslsnr\SERVER01\listener\alert\log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=2001)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC2001ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.22)(PORT=2001)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC2001ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=SERVER01)(PORT=5500))(Security=(my_wallet_directory=D:\DATABASES\ORACLE\admin\dboracle\xdb_wallet))(Presentation=HTTP)(Session=RAW))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
      Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "dboracle" has 1 instance(s).
      Instance "dboracle", status READY, has 1 handler(s) for this service...
    Service "dboracleXDB" has 1 instance(s).
      Instance "dboracle", status READY, has 1 handler(s) for this service...

    The command completed successfully

    обязательно должна быть информация о
    Service "dboracle" has 1 instance(s).
      Instance "dboracle", status READY, has 1 handler(s) for this service...
    Service "dboracleXDB" has 1 instance(s).
      Instance "dboracle", status READY, has 1 handler(s) for this service...


    lsnrctl reload – переинициализировать листенер иногда помагает, когда инстанс не инициализовался листенером
    Ответ написан
    Комментировать
  • Как подключение к базе Oracle установленной на VM?

    tnsnames.ora должен быть расположен в $ORACLE_HOME/network/admin. $ORACLE_HOME - это путь к вашей установке instantclient. Именно в этом файле и указываете настройки подключения
    %alias%=
        (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%vm_ip%)(PORT=1521))
        (CONNECT_DATA=(SERVICE_NAME=%db-name%))
    )


    какие ещё нужны действия для подключения к VM базе

    Проверить возможность подключение к ВМ по порту 1521 (разрешения в файерволе, проброс портов (если нужно))
    Ответ написан
    1 комментарий
  • Как подключиться к нескольким версиям БД Oracle / MS?

    Oracle Сlient 11.2.0.4 без проблем подключается к Oracle Database от 9.2 до 19c включительно

    P.S. В закладках нарыл еще вот это
    Ответ написан
    3 комментария
  • Как подключиться к нескольким версиям БД Oracle / MS?

    tsklab
    @tsklab Куратор тега SQL Server
    Здесь отвечаю на вопросы.
    В Windows клиент подключения к MS SQL встроен в систему. cliconfg.exe
    Да, и этот клиент поддерживает всё: от MS JET до современных MS SQL.
    Ответ написан
    1 комментарий