Solaris-Oracle11g подключен к linux-mysql

Эксперимент Oracle11g(solaris64sparc)+mysql(linux)

 


Целью данного эксперимента является реализация SMS-платформы на ebs R12 компании , подключенной к mysql.Раннее предупреждение и оперативная информация в ebs ,

Один, окружающая среда

имя хоста        ip                                          платформа база данных       dbname

ebs234 192.168.1.234 Solaris 10 64 sparc oralce 11g ebstest

mysql 192.168.1.247 linux redhad up4 mysql 5.1 mccdb

Во-вторых, принцип подключения

+-----------------------------<Хост клиента ODBC>---------------- ------------+

| |

| [ORACLE] <---> [DG4ODBC] <---> [Диспетчер драйверов ODBC] <---> [Драйвер ODBC] |

| | |

+------------------------------------------------- ------------------|-------+

                                                                   /|\

                                                                    |

                                                                 СЕТЬ

                                                                    |

                                                                   \|/

                                                        +--<узел сервера MySQL>--+

                                                        | |

                                                            | [Сервер MySQL] |

                                                        | |

                                                        +--------------------------------------+  

Это основной процесс соединения. Теперь разделите дорогу, чтобы подготовить этот процесс,

Готовим его задом наперёд, и можно постепенно понять принцип

Сначала определите версию двух баз данных и систему периодов.

файл $ORACLE_HOME/bin/dg4odbc

Версию системы, версию Linux и версию mysql легко проверить, без повторений.

Сначала создайте пользователя на mysql

предоставить все привилегии на mccdb .* для APPS @192.168.1.234, идентифицированного как «123456», с опцией предоставления;

сброс привилегий; ( обновить настройки привилегий )

Следующие операции выполняются на хосте оракула

1) Драйвер odbc --> mysql

  mysql находится на хосте 192.168.1.247 . Oracle 11g на платформе Solaris должен подключаться к mysql через драйвер odbc .

Таким образом, вам необходимо установить драйвер odbc для mysql на платформе Solaris.В то же время вам необходимо установить программное обеспечение для управления, которое управляет драйвером odbc , то есть диспетчер драйверов odbc.

a , адрес загрузки - это менеджер драйверов odbc,  выберите соответствующий драйвер и выберите его прямо с земли.

   http://sourceforge.net/projects/unixodbc/files/unixODBC/

   http://www.unixodbc.org/download.html

б, скачать адрес драйвера odbc

http://www.mysql.com/downloads/connector/odbc/5.1.html

c , установить ( пользователь oratest )

   mkdir /ebstest/app/etc

   mkdir /ebstest/app/myodbc

      mkidr /ebstest/app/unixodbc-2.2.14

Переместите драйвер odbc в myodbc

Переместите диспетчер драйверов odbc, а именно unixodbc-2.2.14-sunos-sparc-64.tar.gz, в unixodbc -2.2.14.

Распаковать отдельно

Настройте распакованный каталог в диспетчере odbc dirver , то есть переместите сгенерированный файл bin lib include под usr в каталог unixodbc-2.2.14 .

Смысл в том, что каталог не должен быть таким глубоким, смотреть лучше, и удалить usr

Переименуйте длинное имя файла, разблокированное в myodbc . Длинное имя файла mv также лучше использовать в mysqlodbc .

Хорошо, теперь основная работа готова

1, настроить переменные среды

PATH=/ebstest/app/unixodbc-2.2.14/bin :/ebstest/app/prod/apps/tech_st/10.1.2/OPatch/opatch:$PATH

экспортировать ПУТЬ

LD_LIBRARY_PATH=/ebstest/app/unixodbc-2.2.14/lib:$LD_LIBRARY_PATH

экспортировать LD_LIBRARY_PATH

ДИСПЛЕЙ=192.168.1.196:0.0; экспорт ДИСПЛЕЙ

ODBCINI=/ebstest/app/etc/odbc.ini

экспорт ODBCINI

ODBCSYSINI=/ebstest/приложение/и т.д.

экспорт ODBCSYSINI

2, зарегистрируйтесь и сгенерируйте odbcinst.ini

Введите mysqlodbc/bin в каталог myodbc .

зарегистрировать водителя;

    $ myodbc3i -a -d -t"Драйвер MySQL ODBC 3.51;Driver=/usr/lib/libmyodbc3.so;Setup=/usr/lib/libmyodbc3S.so"

  Создайте имя источника данных пользователя;

    $ myodbc3i -a -su -t"DSN=MyDSN;Драйвер=Драйвер MySQL ODBC 3.51;Сервер=localhost;UID=pharvey"

Согласно этим двум командам

改一下./ myodbc3i -a -d -t "Драйвер MySQL ODBC 3.51;Driver=/ebstest/app/myodbc/mysqlodbc/lib/libmyodbc3.so;Setup=/ebstest/app/myodbc/mysqlodbc/lib/libmyodbc3_r.so "

Таким образом, файл odbcinst.ini создается в каталоге, указанном в переменной среды.

И в соответствии с именем источника данных пользователя, эта команда для создания файла odbc.ini

./ myodbc3i -a -su -t "DSN=mccdb;Driver=/ebstest/app/myodbc/mysqlodbc/lib/libmyodbc3.so;Server=192.168.1.247;UID=apps"

----------------------------

./configure --prefix=/ebs/app/myodbc/unixODBC --includedir=/usr/include --libdir=/usr/lib --bindir=/usr/bin --sysconfdir=/ebs/app/myodbc/ и т. д.

делать

сделать установку

./myodbc-installer -d -a -n "Драйвер MySQL ODBC 5.1" -t "ДРАЙВЕР=/ebstest/app/myodbc/mysqlodbc5/lib/libmyodbc5.so;Setup=/ebstest/app/myodbc/mysqlodbc5/lib/ libmyodbc5.so"

./myodbc-installer -s -a -c2 -n "mccdb" -t "ДРАЙВЕР = Драйвер MySQL ODBC 5.1; СЕРВЕР = 192.168.1.247; БАЗА ДАННЫХ = mccdb; UID = приложения; PWD = 123456"

Проблема версии 5.1 изменена, как указано выше.

----------------------------

Выполните его . Возможно, он не может быть сгенерирован . Это не имеет значения. Вы можете вручную собрать odbc.ini в / ebstest/app/etc

Содержание следующее :

$ more odbc.ini -- на самом деле это имя драйвера DSN

[Источники данных ODBC]

data_source_name = mccdb

[mccdb]

Драйвер = /ebstest/app/myodbc/mysqlodbc/lib/libmyodbc3.so

БАЗА ДАННЫХ = mccdb

ОПИСАНИЕ = Драйвер MySQL ODBC 3.51

СЕРВЕР = 192.168.1.247

UID = приложение с

ПАРОЛЬ = 123456

ПОРТ = 33306

РОЗЕТКА =

Конкретное содержание может быть изменено

Вышеупомянутые файлы драйвера odbc настроены Теперь вам нужно зарегистрироваться в менеджере драйверов odbc .

компакт-диск /ebstest/приложение/unixodbc-2.2.14/bin

./odbcinst -i -d -f /ebstest/app/etc/odbcinst.ini     -i (установить) -d (драйвер) -q (запрос)

./odbcinst -i -s -l -f /etc/odbc.ini                               -i(install) -s(источник данных) -l system dsn -f (следует имя файла template.ini)

                                                                             Вы можете использовать -f

------------------------

$ ./odbcinst -i -d -f /ebstest/app/etc/odbcinst.ini

odbcinst: Драйвер установлен. Количество использований увеличено до 2.

    Целевой каталог — /ebstest/app/etc.

$ ./odbcinst -i -s -l -f /ebstest/app/etc/odbc.ini

Версия 5.1 , как указано выше

------------------------

Проверить подключение

Введите /ebstest/app/unixodbc-2.2.14/bin

./odbcinst -s -q , чтобы узнать, может ли быть обнаружено имя драйвера dsn подключения mccdb .

./isql mccdb -v

посмотрите, подключено ли оно

В теории нет ничего плохого.Конечно, если есть проблема, надо выяснить причину

2) [ORACLE] <---> [DG4ODBC] Подготовьте этот раздел ( у oracle 11g уже есть dg4odbc , нет необходимости устанавливать шлюз)

В этом пункте мы должны понимать , что oracle 11g связан с dg4odbc  , то есть оснащен tnsnames.ora и listener.ora

tnsnames.ora (oracle_home/network/)

Добавьте следующий абзац

mccdb =

        (ОПИСАНИЕ =

                 (АДРЕС = (ПРОТОКОЛ = TCP) (ХОСТ = 192.168.1.234) (порт = 1529))

   (CONNECT_DATA =

    (SID = mccdb) )

   (ГС=ОК)

  )

Если вы хотите узнать адрес хоста , порт не следует использовать повторно.

listener.ora добавляет следующие два абзаца

mccdb =

  (DESCRIPTION_LIST =

    (ОПИСАНИЕ =

      (АДРЕС = (ПРОТОКОЛ = TCP) ( ХОСТ = ebs2.riso.com.cn) (ПОРТ = 1529 ))

    )

  )

SID_LIST_MCCDB=

  (SID_LIST =

    (SID_DESC =

    (ПРОГРАММА=dg4odbc)

    (SID_NAME = mccdb)

    ( ENV=/ebstest/app/unixodbc-2.2.14/lib )

    )

  )

После выделения проверьте , не запускается ли он .

tnsping mccdb

Успех означает , что проблемы нет Oracle 11g с DG4ODBC работает успешно .

3) [DG4ODBC] <---> [ODBC Driver Manager] Даже этот раздел , собственно, настоящее ядро ​​этого раздела — файл параметров инициализации в каталоге hs

cd $ORACLE_HOME//hs/admin

cp initdg4odbc.ora initmccdb.ora

Измененный файл выглядит следующим образом :

$ больше initmccdb.ora

# Это пример файла инициализации агента, который содержит параметры HS,

# требуется для шлюза базы данных для ODBC

#

# Параметры инициализации HS

#

HS_FDS_CONNECT_INFO = mccdb

HS_FDS_TRACE_LEVEL = Отладка

HS_FDS_SHAREABLE_NAME = /ebstest/app/unixodbc-2.2.14/lib/libodbc.so     -- эта строка является ключом , не переходить в каталог myodbc.myodbc подключен к mysql.Теперь это драйвер dg4odbc->odbc

HS_LANGUAGE=АМЕРИКАНСКИЙ_АМЕРИКА.WE8ISO8859P1

#HS_LANGUAGE=американский_америка.al32utf8

HS_NLS_DATE_FORMAT=ГГГГ-ММ-ДД

#HS_FDS_FETCH_ROWS=100

#

# Специальные переменные среды ODBC

#

установить ODBCINI=/ebstest/app/etc/odbc.ini

установить ODBCINSTINI=/ebstest/app/etc/odbcinit.ini

установить ODBCSYSINI=/ebstest/app/etc

установить ORACLE_HOME=/ebstest/app/prod/db/tech_st/11.1.0

#

# Переменные среды, необходимые для системы, отличной от Oracle

#

После включения отладки .

Сначала создайте dblink

создать общедоступную ссылку на базу данных myodbc, подключиться к приложениям , идентифицированным 123456, с помощью « mccdb »;

Подключитесь к другому столу и повторите попытку.

выберите * из msg_table@myodbc;

Согласно информации об ошибке , проверьте причину ошибки в hs/admin/log

Если вы понимаете ясно, будет легко найти проблему

последняя возможная проблема

 Во-первых, это проблема версии, можно найти только одну строку

Во-вторых, существует проблема искаженных символов.

Guess you like

Origin blog.csdn.net/2301_76957510/article/details/130404633