|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Добрый день , решил обратиться к вам , уже 2 день мучаюсь . Хочу настроить связь между базой оракл и базой mysql . Настраивал по этому гиду. listener.oraLISTENER= (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.44.32.xxx)(PORT = 1521)) ) ) SID_LIST_LISTENER= (SID_LIST= (SID_DESC=. (SID_NAME=cibdbdrctest) (ORACLE_HOME=/u01/app/oracle/product/12.2.0.1.0/db_1/) (PROGRAM=dg4msql) ) ) tnsnames.oraMAINBASE= (DESCRIPTION =. (ADDRESS = (PROTOCOL = TCP)(HOST = 10.44.32.xxx)(PORT = 1521)) (CONNECT_DATA =. (SERVER = DEDICATED) (SERVICE_NAME = MAINBASE) ) ) ...... dg4msql= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP) (HOST=10.44.32.xxx)(PORT=1521)) (CONNECT_DATA= (SID=cibdbdrctest) (HS=OK) )) Файл инициализации initdg4msql.ora находится в /ORACLE_HOME/dbs/initdg4msql.ora initdg4msql.ora] HS_FDS_CONNECT_INFO=cibdbdrctest HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=bankflexread HS_FDS_RECOVERY_PWD=FwqOp5Tz при старте : [oracle@MidDBM admin]$ lsnrctl start; LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 12-FEB-2019 11:29:13 Copyright (c) 1991, 2016, Oracle. All rights reserved. Starting /u01/app/oracle/product/12.2.0.1.0/db_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 12.2.0.1.0 - Production System parameter file is /u01/app/oracle/product/12.2.0.1.0/db_1/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/MidDBM/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.44.32.xxx)(PORT=1521))) TNS-01201: Listener cannot find executable /u01/app/oracle/product/12.2.0.1.0/db_1/hs/admin/dg4msql for SID cibdbdrctest Listener failed to start. See the error message(s) above... В чем проблема ? Что за исполняющий файл он ищет ? И что он должен содержать ? Спасибо всем за помощь . ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 10:42 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, ls -la /u01/app/oracle/product/12.2.0.1.0/db_1/hs/admin/dg4msql ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 11:01 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, автор Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Код: plsql 1. 2. 3. 4. 5. 6. 7.
Где Вы видите dg4msql? Мессир Вы все напутали Настройка Oracle HS AgentАрхитектура Oracle HS agent узел #2 и узел #3 обычно одна машина, хотя и не обязательно Путь по которому oracle обращается к удаленной базе Узел #1 Oracle RDBMSOracle RDBMS -> DBLink -> Oracle Client -> HS TNSnames Запись -> Узел #2 Oracle HS Agent-> TNS Listener -> HS Listener Запись Listener.ora -> HS agent (dg4xxx.exe) -> config $OH/hs/admin/init<HS ORACLE_SID> -> FDC_CONNECT_INFO запись -> OtherDb Client -> Узел #3 OtherDB-> OtherDB ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 11:03 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, и вообще, это драйвер не для mysql :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 11:04 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim Lejninmaverick2104, автор Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Код: plsql 1. 2. 3. 4. 5. 6. 7.
Где Вы видите dg4msql? Мессир Вы все напутали Настройка Oracle HS AgentАрхитектура Oracle HS agent узел #2 и узел #3 обычно одна машина, хотя и не обязательно Путь по которому oracle обращается к удаленной базе пропущено... пропущено... пропущено... читать узел #1 и узел #2 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 11:05 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim Lejnin, Так спасибо , хотяб понял порядок соеденений . Я там понимаю в моем случае нужно использовать dg4odbc ? ls $ORACLE_HOME/bin/dg4* /u01/app/oracle/product/12.2.0.1.0/db_1/bin/dg4odbc /u01/app/oracle/product/12.2.0.1.0/db_1/bin/dg4odbcO /u01/app/oracle/product/12.2.0.1.0/db_1/bin/dg4pwd /u01/app/oracle/product/12.2.0.1.0/db_1/bin/dg4pwdO Исправил в listener.ora PROGRAM=/u01/app/oracle/product/12.2.0.1.0/db_1/bin/dg4odbc Исправил название файла инициализаций на initcibdbdrctest.ora Запускаю : авторServices Summary... Service "cibdbdrctest" has 1 instance(s). Instance "cibdbdrctest", status UNKNOWN, has 1 handler(s) for this service... tnsping возвращает No Listener. Здесь уже пробема сети , или я опять напутал с настройками ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 11:21 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, tnsping не проверяет настройки listener.ora Он проверяет только tnsnames.ora Код: plsql 1. 2. 3. 4.
HOST/PORT настроены правильно? Обычно tnsping сообщает куда он пытается соедениться Код: plsql 1. 2. 3.
Сравни эту строку с аналогичной в Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 11:33 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim Lejnin, Да Вы правы . Уточнил у админов , порт другой = 1433 . Выдает : TNS[oracle@MidDBM admin]$ tnsping cibdbdrctest TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 12-FEB-2019 12:42:07 Copyright (c) 1997, 2016, Oracle. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP) (HOST=10.44.32.xxx)(PORT=1433)) (CONNECT_DATA= (SID=cibdbdrctest) (HS=OK))) TNS-12537: TNS:connection closed Как я понимаю это вина файрвола на стороне sql сервера ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 11:54 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, Код: plsql 1. 2. 3. 4.
Вы напутали, вы пытаетесь через tnsping соединится к mySQL он этого не умеет, с mysql умеет соединяться dg4odbc используя системные библиотеки odbc используя системные настройки odbc. (Для этого должен быть установлен и настроен odbc for linux) HS agent (dg4odbc) для библиотеки подключения использует запись запись HS_FDS_SHAREABLE_NAME в $OH/hs/admin/initHSORACLE_SID.ora и имя подключения определенной в записи HS_FDS_CONNECT_INFO из файла ODBC.ini системы для tnsping hs - обычный sql*net клиент и для него (как и для dblink) нужно определять HOST/PORT где запущен tnslsnr от oracle А вот дальше listener увидит что это HS клиент и отправит разбираться с этим шлюзу oracle <-> odbc (dg4odbc) listener должен быть от oracle и hs должен быть на одной машине ( не обязательно там где находится oracle rdbms Если сервер за каналом, то ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 12:18 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Вот ссылка как и что настраивать How To Access MySQL from Oracle With ODBC and SQL Единственно, вам не нужно компилить odbc, обычно для linux уже доступны все необходимые пакеты. Их нужно будет только установить Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 12:28 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim Lejninсоединится к mySQLКуплен ли или украден, от этого MSsql не становится MYsql. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 12:28 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
-2-Vadim Lejninсоединится к mySQLКуплен ли или украден, от этого MSsql не становится MYsql. Да вроде все-же MySQL: автор... Хочу настроить связь между базой оракл и базой mysql . ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 12:30 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim LejninДа вроде все-же MySQL:автор... Хочу настроить связь между базой оракл и базой mysql . ...Ссылка, которую автор не смог освоить, про mssql server. Будучи неудачником, автор мог попутать и то, и другое и вместе взятое. Так что брать его показания в расчет нельзя. Но вот ошибиться сразу в четырех цифрах из того, что ему сообщили админы "порт другой = 1433", нужно быть одаренным на всю голову. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 12:44 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim Lejnin, Спасибо за маленький урок . -2- , Опуститесь пожалуйста на землю . ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2019, 13:03 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
-2- , Я очень быстро обучаюсь . Добрый всем , сделал DBLINK Oracle>MSSQL через unixODBC si freetds . Все ок , все конектится и читается . Проблема состоит в том что запрос через линк ( средствами PL/SQL Developer ) возвращает только первую букву/цифру , а не все поле . Через SQL-Plus все ОК . Через ORACLE SQL Developer все ОК. В чем может быть проблема ? Спасибо . ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2019, 13:27 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, Скорее всего, причина в версии Oracle Client который Вы используете для PL/SQL Dev, или в bug PL/SQL Dev. попробуйте установить новый клиент и переключить PL/SQL Dev на него ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2019, 13:52 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104В чем может быть проблема ? Спасибо . я бы еще посмотрел на NLS параметры. в сессии где pl-sql developer; ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2019, 16:09 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim Lejninmaverick2104, Скорее всего, причина в версии Oracle Client который Вы используете для PL/SQL Dev, или в bug PL/SQL Dev. попробуйте установить новый клиент и переключить PL/SQL Dev на него До последнего думал что да проблема в этом , но оказалось что нет . Установил Oracle client 12c и PL SQL 13 , проблема осталась . Скорее всего нужно выставить какой-та параметр в initSID.ora . ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2019, 18:24 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, У Вас авторЧерез SQL-Plus все ОК . Через ORACLE SQL Developer все ОК. проблема в PL/SQL dev, или его настройках ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2019, 18:26 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim Lejninmaverick2104, У Вас авторЧерез SQL-Plus все ОК . Через ORACLE SQL Developer все ОК. проблема в PL/SQL dev, или его настройках Правильно , но они не используют Oracle client , а PL SQL использует . Кстати жаба тоже не выводит нужные данные . Буду копать... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2019, 18:33 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104Через SQL-Plus все ОКmaverick2104они не используют Oracle clientНу-ну. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2019, 18:57 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
, maverick2104Правильно , но они не используют Oracle client , а PL SQL использует . Наоборот. SQLPlus не может не использовать клиент. "Первая буква" это обычно признак получения utf-16 там, где его не ожидают. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2019, 19:01 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
-2-maverick2104Через SQL-Plus все ОКmaverick2104они не используют Oracle clientНу-ну. Ну да Вы правы , но я забыл упомянуть что база на сервере , а не на localhost , и именно на сервере sqlplus работает без проблем . автор"Первая буква" это обычно признак получения utf-16 там, где его не ожидают. Как это лечится ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 09:36 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104-2-пропущено... пропущено... Ну-ну. Ну да Вы правы , но я забыл упомянуть что база на сервере , а не на localhost , и именно на сервере sqlplus работает без проблем . UPD. SQL-PLUS через oracle клиент тоже работает ок. Значит дело в PL/SQL Dev ( девелоперы требуют работоспособность именно в нем ) . Вопрос остается открытым , как я понял проблема в кодировке . автор"Первая буква" это обычно признак получения utf-16 там, где его не ожидают. Как обойти эту проблему ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 09:48 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, dump ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 09:54 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
-2-maverick2104, dump Что вы имеете ввиду ? Настройки в PL/SQL dev : setCharacter Sets Character size: 1 byte(s) CharSetID: 171 NCharSetID: 2000 Unicode Support: True NLS_LANG: AMERICAN_AMERICA.CL8MSWIN1251 NLS_NCHAR_CHARACTERSET: AL16UTF16 NLS_CHARACTERSET: CL8MSWIN1251 Еще заметил странность , когда тем же SQLplus делаю запрос получаю space между буквами слова : Пример : отображается только первый символ в PL/SQL Код: plsql 1. 2. 3. 4. 5.
отображается нормально в PL/SQL Код: plsql 1. 2. 3. 4. 5.
Думаю именно из-за них у меня читается только первый символ , дальше когда встречает этот "пробел" он падает . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 10:19 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104Как обойти эту проблему ? покажи уже содержимое файлов /etc/odbc.ini initSID.ora в нем, кстати. можно включить трассировку. и смотреть обмен. также не лишним будет написать кодировку базы mysql и оракла. поля нормально не передаются только символьные? или проблема касается чисел,дат ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 10:24 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104в PL/SQL devplsql developer пишут жопорукие рукожопы, не догадавшиеся, что в данных может встретиться символ с кодом 0. Либо настраивай корректно дблинк, либо пусть "девелоперы требуют" используют dump и по распечатке таблицы символов читают юстас-алексу. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 10:27 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Надфильmaverick2104Как обойти эту проблему ? покажи уже содержимое файлов /etc/odbc.ini initSID.ora в нем, кстати. можно включить трассировку. и смотреть обмен. также не лишним будет написать кодировку базы mysql и оракла. поля нормально не передаются только символьные? или проблема касается чисел,дат ? odbc.ini[BASE] Description = MSSQL connection Driver = TDS Database = BankFlexArchive Server = 10.44.32.182 UserName = bankflexread Password = FwqOp5Tz Port = 1433 initSID.ini HS_FDS_CONNECT_INFO = MAV HS_FDS_TRACE_LEVEL = ON HS_FDS_SHAREABLE_NAME =/usr/local/lib/libodbc.so HS_FDS_SUPPORT_STATISTICS=FALSE # # ODBC specific environment variables # set ODBCINI=/etc/odbc.ini oracle SQL> show parameter nls NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ nls_calendar string GREGORIAN nls_comp string BINARY nls_currency string $ nls_date_format string DD-MON-RR nls_date_language string AMERICAN nls_dual_currency string $ nls_iso_currency string AMERICA nls_language string AMERICAN nls_length_semantics string BYTE nls_nchar_conv_excp string TRUE nls_numeric_characters string ., NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ nls_sort string BINARY nls_territory string AMERICA nls_time_format string HH.MI.SSXFF AM nls_time_tz_format string HH.MI.SSXFF AM TZR nls_timestamp_format string DD-MON-RR HH.MI.SSXFF AM nls_timestamp_tz_format string DD-MON-RR HH.MI.SSXFF AM TZR В MSSQL : character_set_name= UNICODE collation_name = SQL_Latin1_General_CP1_CI_AS ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 11:09 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Надфильполя нормально не передаются только символьные? или проблема касается чисел,дат ? Проблема наблюдается у все полей где в mssql collation_name = SQL_Latin1_General_CP1_CI_AS ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 11:17 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, Ой. извини. оказывается тут МС скл. к счастью, не приходилось его по ДБлинку подключать к ораклу. по опыту с mysql приходится долго и нужно настраивать параметры в файле initSID в частности HS_LANGUAGE - лично мне помогла настройка RUSSIAN_RUSSIA.CL8MSWIN1251 при этом и майскуль и оракл в уникоде... что нужно поставить в твоем случае я не могу сказать. гугли по названию параметра. экспериментируй. некоторые сочетания настроек приводят к ора-600 или 745 это про дату. если вдруг и поля с датой "портятся" при передаче по линку. HS_NLS_DATE_LANGUAGE HS_NLS_DATE_FORMAT трассировка тоже может помочь включается HS_FDS_TRACE_LEVEL отличным от 0 значением. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 11:25 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
НадфильRUSSIAN_RUSSIA.CL8MSWIN1251 ой проверил себя там другое значение AMERICAN_AMERICA.CL8MSWIN1251 но, думаю, особого значения это не имеет в данном случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 12:02 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
maverick2104, Попробуйте: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 12:29 |
|
Link Oracle 12c > MySQL
|
|||
---|---|---|---|
#18+
Vadim Lejninmaverick2104, Попробуйте: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Спасибо Вам Огромное . Заработало . Сохраню себе все настройки , буду знать . Остальным тоже спасибо . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 12:37 |
|
|
start [/forum/topic.php?all=1&fid=52&tid=1882798]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 155ms |
0 / 0 |