Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / oracle dblink to mssql / 6 сообщений из 6, страница 1 из 1
31.07.2019, 11:02
    #39843321
Genosse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle dblink to mssql
салют, знаю тема избитая но никак не пойму почему не работает все вроде настроил... установил Oracle Database Gateway на сервер MSQL (10.10.15.247) настроил там listener, tnsnames, initdg4msql и все равно ошибка, глазюки уже все сломал

Версии:
Oracle DB 11.2.0.4
Microsoft SQL Server 2017

initdg4msql.ora из D:\product\11.2.0\tg_1\dg4msql\admin
Код: powershell
1.
2.
3.
4.
HS_FDS_CONNECT_INFO=[10.10.15.247]//BIQube
HS_FDS_TRACE_LEVEL=ON
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER



listener.ora из D:\product\11.2.0\tg_1\NETWORK\ADMIN
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ods-db-d.hcsbkkz.loc)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER=
  (SID_LIST=
      (SID_DESC=
         (SID_NAME=dg4msql)
         (ORACLE_HOME=D:\product\11.2.0\tg_1)
         (PROGRAM=D:\product\11.2.0\tg_1\BIN\dg4msql.exe)
      )
  )



tnsnames.ora оттуда же
Код: powershell
1.
2.
3.
4.
5.
6.
dg4msql  =
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=ods-db-d.hcsbkkz.loc)(PORT=1521))
    (CONNECT_DATA=(SERVICE_NAME = dg4msql))
    (HS=OK)
  ) 



пытаюсь подключиться с CentOS 7 бд oracle создаю там линк
Код: sql
1.
create public database link MSTEST connect to crmusr identified by "XXXXXXX" using 'dg4msql';



при это с сервера CentOS tnsping проходит
Код: sql
1.
2.
3.
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.15.247)(PORT = 1521)) (CONNECT_DATA = (SID = dg4msql) (HS = OK)))
OK (10 msec)



но при проверке получаю ошибку
Код: sql
1.
2.
ORA-28546: connection initialization failed, probable Net8 admin error
ORA-02063: preceding line from MSTEST



и на сервере MSQL ошибка в трейсе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
Oracle Corporation --- WEDNESDAY JUL 31 2019 13:56:13.123

Heterogeneous Agent Release 
11.2.0.4.0 

HS Agent diagnosed error on initial communication,
   probable cause is an error in network administration
   Network error 2:  NCR-00002: NCR: Invalid usage
HS Gateway:  NULL connection context at exit
...
Рейтинг: 0 / 0
31.07.2019, 13:09
    #39843447
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle dblink to mssql
Genosse,
Ничего не напутал?

хотя tnsping правильный

Genosse...
пытаюсь подключиться с CentOS 7 бд oracle создаю там линк

create public database link MSTEST connect to crmusr identified by "XXXXXXX" using 'dg4msql';

при это с сервера CentOS tnsping проходит

Код: plaintext
1.
2.
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.15.247)(PORT = 1521)) (CONNECT_DATA = (SID = dg4msql) (HS = OK)))
OK (10 msec)


Genosse...
tnsnames.ora оттуда же
Код: plsql
1.
2.
3.
4.
5.
6.
dg4msql  =
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=ods-db-d.hcsbkkz.loc)(PORT=1521))
    (CONNECT_DATA=(SERVICE_NAME = dg4msql))
    (HS=OK)
  )


...


эта tns должна быть в ORACLE_HOME (TNS_ADMIN) на CentOS

10.10.15.247 - это сервер ods-db-d.hcsbkkz.loc и это windows сервер с oracle mssql gw?

Код: plsql
1.
2.
        (ORACLE_HOME=D:\product\11.2.0\tg_1)
         (PROGRAM=D:\product\11.2.0\tg_1\BIN\dg4msql.exe)



Данные записи корректны, и
Код: plaintext
D:\product\11.2.0\tg_1\BIN\dg4msql.exe
существует?

Для понимания:

HS Соединение в общем случае можно описать следующей цепочкой

(В частном случае Узлы #1 #2 #3 могут находится на одной машине):

Красный цвет - ORACLE_HOME RDBMS
Зеленый цвет - ORACLE_HOME HS Agent
Синий цвет - ПО внешнего клиента, в простейшем случае ODBC

Предполагается все файлы конфигурации расположены по умолчанию.
Код: plaintext
1.
Узел #1 Oracle RDBMS Server
Oracle RDBMS -> DBLink -> параметр USING='<<TNS запись>>' ->
-> Oracle Client ->
-> TNS Запись (ORACLE_HOME_RDBMS/network/admin/tnsnames.ora) ->
-> используются HOST, PORT, SID/SERVICE_NAME, (HS=OK) ->



видя кляузу (OS=OK) - запись обрабатывается как HS соединение

Узел #2 Oracle HS Agent (параметр HOST из tns записи)
Oracle TNS Listener который обслуживает HS
-> Listener config файл (ORACLE_HOME_HS/network/admin SID_LIST_<<листенер имя>>)->
-> секция HS agent (записи SID=<<HS Oracle SID>> и PROGRAM= исполняемый файл) ->
-> HS Agent configuration file (ORACLE_HOME_HS/hs/admin/init<<HS ORACLE SID>>.ora) ->
-> FDC_CONNECT_INFO запись ->
-> OtherDb Client ->


Узел #3 Other DB ServerOther DB Server

Для анализа Вашего случая нужны файлы:
Код: plaintext
1.
2.
ORACLE_HOME_RDBMS/network/admin/tnsnames.ora
ORACLE_HOME_HS/network/admin/listener.ora
ORACLE_HOME_HS/hs/admin/initmap.ora


в случае odbc проверить настройки ODBC (Вкладка System а не user)
из odbc администратора.

Дополнительное ограничение (версия db 10), HS плохо работает на 64 битной Windows
нужно ставить отдельно Oracle RDBMS 32
поднимать дополнительный listener из этой ORACLE_HOME на другом порту
настраивать HS там.
...
Рейтинг: 0 / 0
31.07.2019, 15:17
    #39843540
Genosse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle dblink to mssql
Vadim LejninGenosse,
Ничего не напутал?

хотя tnsping правильный

Genosse...
пытаюсь подключиться с CentOS 7 бд oracle создаю там линк

create public database link MSTEST connect to crmusr identified by "XXXXXXX" using 'dg4msql';

при это с сервера CentOS tnsping проходит

Код: plaintext
1.
2.
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.15.247)(PORT = 1521)) (CONNECT_DATA = (SID = dg4msql) (HS = OK)))
OK (10 msec)




это потому что кто-то (т.е. я) в рабочее время когда очень сильно отвлекали пытался скрыть реальные адреса и имена серверов))) и конечно напутал...

Vadim Lejnin10.10.15.247 - это сервер ods-db-d.hcsbkkz.loc и это windows сервер с oracle mssql gw?

(ORACLE_HOME=D:\product\11.2.0\tg_1)
(PROGRAM=D:\product\11.2.0\tg_1\BIN\dg4msql.exe)


Данные записи корректны, и
D:\product\11.2.0\tg_1\BIN\dg4msql.exe
существует?

все пути существуют я их копировал из WinSCP. На сервере ods-db-d.hcsbkkz.loc (10.10.15.247) установлен только MSQL и я установил только Oracle Database Gateway, ораклового клиента или базы там не было.

Vadim LejninДля анализа Вашего случая нужны файлы:
ORACLE_HOME_RDBMS/network/admin/tnsnames.ora
ORACLE_HOME_HS/network/admin/listener.ora
ORACLE_HOME_HS/hs/admin/initmap.ora


ORACLE_HOME_RDBMS/network/admin/tnsnames.ora этого нету есть в ORACLE_HOME_HS/network/admin/ и есть на CentOS

ORACLE_HOME_HS/network/admin/listener.ora этот приводил
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
listener.ora из D:\product\11.2.0\tg_1\NETWORK\ADMIN
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ods-db-d.hcsbkkz.loc)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER=
  (SID_LIST=
      (SID_DESC=
         (SID_NAME=dg4msql)
         (ORACLE_HOME=D:\product\11.2.0\tg_1)
         (PROGRAM=D:\product\11.2.0\tg_1\BIN\dg4msql.exe)
      )
  )



ORACLE_HOME_HS/hs/admin/initmap.ora это находится здесь:
D:\product\11.2.0\tg_1\dg4msql\admin\initdg4msql.ora
Код: sql
1.
2.
3.
4.
HS_FDS_CONNECT_INFO=[10.10.15.247]//BIQube
HS_FDS_TRACE_LEVEL=ON
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
...
Рейтинг: 0 / 0
31.07.2019, 16:12
    #39843571
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle dblink to mssql
Genosse,

именно с Oracle Database Gateway for MS SQL не работал, но:

initdg4msql.ora
Код: plsql
1.
2.
3.
4.
HS_FDS_CONNECT_INFO=[10.10.15.247]//BIQube
HS_FDS_TRACE_LEVEL=ON
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER






Database Gateway Installation and Configuration Guide Customize the Initialization Parameter File

...
The default initialization parameter file already has an entry for this parameter. The syntax for HS_FDS_CONNECT_INFO is as follows:

HS_FDS_CONNECT_INFO= host_name/[instance_name][/database_name]

...

Where:

VariableDescriptionhost_nameis the host name or IP address of the machine hosting the SQL Server database.instance_nameis the instance of SQL Server running on the machine.database_nameis the SQL Server Database database name.


Both instance_name and database_name are optional. If instance_name is omitted and database_name is provided, the slash (/) is required. This can be shown as follows:

HS_FDS_CONNECT_INFO= host_name//database_name

p.s. [] - используется для обозначения необязательных параметров, их не надо указывать

например допустимы:
Код: plsql
1.
2.
3.
mssqlserver/test/web
mssqlserver/test
mssqlserver



Если нет уточнений, то будет использоваться параметры по умолчанию
...
Рейтинг: 0 / 0
02.08.2019, 09:28
    #39844422
Genosse
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle dblink to mssql
так и не удалось настроить Gateway... настроил через odbc
Спасибо
...
Рейтинг: 0 / 0
02.08.2019, 13:26
    #39844620
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
oracle dblink to mssql
Genosse,

Какая версия MS SQL ?
есть таблиц совместимости Oracle GW и MS SQL
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / oracle dblink to mssql / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]