Меню

Oracle instant client как установить

Delphi Notes

Заметки Delphi + Oracle программиста

Страницы

пятница, 17 февраля 2012 г.

Oracle дома. Быстрый старт. Часть 3: установка и настройка oracle-клиента

Предыдущие посты: Часть 1 и Часть 2.

В этой заметке я расскажу как установить и настроить oracle-клиент в ОС Windows. Плюс немного расскажу об инструменте, который можно использовать для работы с СУБД.

Прошу обратить внимание – Windows

Т.к. в конечном итоге у нас задача написать Windows приложение в Delphi, то далее описываемые мной действия относятся в основном к Windows 7. Если у Вас Windows XP, то отличия будут минимальны.

Описываемые далее действия Вы можете выполнить либо для хост-системы, либо для другой виртуальной машины с установленной ОС Windows. Версия и разрядность ОС принципиального значения не имеют.

Настройка файла hosts (не обязательно)

Для удобства можно дописать в файл hosts такую строку:

Это позволит использовать указанное имя oracle вместо указанного IP адреса при подключении к серверу. Например, вместо ping 192.168.56.101 можно будет писать ping oracle, результат будет одинаковым.

HINT: Для редактирования файла hosts понадобятся права администратора. Можно сделать так: Пуск \ Все программы \ Стандартные, правой кнопкой мыши на Блокнот, выбрать пункт Запуск от имени администратора:

И в блокноте уже меню Файл \ Открыть… –> C:\Windows\System32\drivers\etc\hosts

Уcтановка Oracle Instant Client

Для работы с СУБД Oracle на локальном компьютере должен быть установлен так называемый oracle-клиент. Oracle-клиент – это библиотека OCI.DLL плюс ещё несколько библиотек, необходимых для работы программ с СУБД. (Отмечу правда, что возможны случаи обхода этого правила, однако я настоятельно не рекомендую их использовать.)

HINT: Oracle-клиент – это отдельный продукт, развиваемый разработчиками Oracle параллельно развитию СУБД. Oracle-клиент, как и СУБД, имеет свою версию. Как правило с выходом новой версии СУБД Oracle, в свет появляется соответствующая версия oracle-клиента. Так например, на нашей Oracle Developer Days установлена СУБД Oracle 11g, так же доступна версия 11 для oracle-клиента. Oracle рекомендует поддерживать эту параллель и своим клиентам, однако Вы можете использовать и предыдущую версию oracle-клиента для подключения к текущей версии СУБД (и наоборот).

HINT: Кроме разных версий, oracle-клиент может входить в разные дистрибутивы. Если Вы установите на своём компьютере (на хосте) СУБД Oracle, то установщик автоматически установит и Oracle-клиент. Мы же СУБД запускаем в виртуальной машине, для хоста (либо другой виртуальной машины) нам понадобиться Oracle Instant Client.

Итак, скачиваем Instant Client – выбираем версию: так как мы будем запускать Win32 приложения, то и клиент должен быть Win32: Instant Client for Microsoft Windows (32-bit).

HINT: Даже если у вас ОС 64-битная, всё равно качаем 32-битную версию клиента; в будущем, если Вы будете делать сборки приложений под Win64, то можно также скачать и Win64 версию клиента.

Скачиваем zip-архив, однако из всего архива нам достаточно будет извлечь всего три файла (это легко выявляется экспериментальным путём):

Сохраняем их в отдельный каталог, например в C:\Oracle\InstantClient.

Настройка Oracle Instant Client

Для того, чтобы приложения смогли найти oci.dll, необходимо произвести одну настройку. На самом деле, можно поступить разными способами: есть приложения, у которых в настройках можно явно задать путь к oci.dll, но в основном приложения ищут библиотеку по некоторым правилам – сначала в реестре, затем в путях, указанных в переменной среды окружения Path. Сделаем именно это: жамкаем Win+Pause и далее находим слева пункт “Дополнительные параметры системы” (это для Windows 7, для Windows XP просто выбираем вкладку “Дополнительно”):

Читайте также:  Как установить windows 10 на dvd диск

Жамкаем кнопку “Переменные среды…” и добавляем в переменную Path (через точку с запятой) путь к каталогу, куда мы распаковали архив (C:\Oracle\InstantClient). Сюда же добавляем переменную: TNS_ADMIN = C:\Oracle\InstantClient – это ссылка на каталог, где у нас будет лежать файл tnsnames.ora. Пусть это будет тот же каталог, где лежит oci.dll. У меня это всё выглядит так:

Здесь ещё можно указать NLS-параметры, подробнее о них можно почитать … мм, хотел вставить ссылку из своих закладок на хорошее описание, однако ресурс уже недоступен. На скорую руку нашёл такую интересную статью (ссылка). И ещё (ссылка).

Сохраняем изменения (ОК), для Windows XP Sp2 и ниже необходимо сделать выход из системы, чтобы эти переменные применились (ну или перезагрузить компьютер), для Windows XP Sp3 и Windows7 эти настройки применяются к текущему окружению сразу же (нужно лишь перезапустить файловый менеджер или проводник).

В принципе, на этом настройка Oracle Instant Client завершена, однако для удобства сделаем ещё одну вещь.

Настройка файла tnsnames.ora (не обязательно)

Создаём обычный текстовый файл под названием tnsnames.ora и сохраняем в каталог, на который ссылается переменная TNS_ADMIN. У нас этот файл будет содержать всего одну строку:

У меня приведён вариант с использованием упрощённого синтаксиса:

где alias – это имя, которое могут использовать приложения для подключения к БД (помните мы выбирали параметр Network Alias в предыдущей заметке, когда настраивали подключение к БД в Oracle SQL Developer?), host – IP-адрес сервера, я указал слово oracle, т.к. именно его мы прописали в файле hosts (а если не прописали, то здесь можно указать IP-адрес 192.168.56.101 явно), port – необязательный параметр, если не указать, то будет использован порт по-умолчанию 1521, sid – имя экземпляра БД, в нашем случае это orcl.

Более подробно об этом файле и как его конфигурировать – здесь.

Подключаемся к БД и выполняем запросы

Если же Вы не редактировали файл hosts и не создавали файл tnsnames.ora, то можно указать такие параметры:

Кнопка Test проверяет, можно ли подключиться к БД. Кнопка Save сохраняет введённые параметры в список слева. Кнопка Connect выполняет подключение к БД и закрывает диалог.

Выполняем простейший запрос:

И нажимаем F5, должно получиться примерно следующее:

Постскриптум

Вы наверное заметили, что “быстрый старт” – это мягко сказано: нам пришлось сделать как минимум три вещи. Если Вы не хотите заниматься всеми этими настройками, то можно поступить очень просто: скачать и установить дистрибутив СУБД Oralce для Windows, например бесплатную версию Oracle Database Express Edition 11g Release 2. При этом установщик автоматически за Вас сделает необходимую настройку Oracle-клиента. И Вам останется только запустить службу СУБД.

Однако я сознательно решил воспользоваться именно виртуальной машиной, чтобы показать на примере, с какими трудностями может столкнуться разработчик приложений под эту СУБД. Плюс, возможность использования виртуальных машин позволяет ставить СУБД (и другие виртуальные машины) на паузу, что происходит быстрее, чем остановка и запуск службы СУБД. Плюс это нам даёт такой “бонус” как перенос виртуальных машин с одной физической машины на другую. И ещё плюс – мы не “засоряем” хост-систему – “поигравшись” в разработчиков, достаточно удалить виртуальную машину и всё. Минус всей этой темы только один: СУБД в виртуальной машине работает чуть медленнее, чем на реальной физической машине, однако на сегодня, когда процессоры поддерживают виртуализацию на аппаратном уровне, это не существенно.

Читайте также:  Как установить windows 7 если есть код активации но нет диска

Источник

Oracle instant client как установить

TNS_ADMIN=/home/user1
export TNS_ADMIN
sqlplus hr/your_password@MYDB2

If TNS_ADMIN is not set, then an operating system dependent set of directories is examined to find tnsnames.ora. This search path includes looking in the directory specified by the ORACLE_HOME environment variable for network/admin/tnsnames.ora. This is the only reason to set the ORACLE_HOME environment variable for SQL*Plus Instant Client. If ORACLE_HOME is set when running Instant Client applications, it must be set to a directory that exists.

sqlplus hr/your_password@MYDB3

aincube

� ��������, �������� ��� ����� ������ � � �������, �� � ���� SQL Navigator ��������� ������ ����� ����� �������. �����������, ��� ����� ��������� ���� ���������. ���. ���� ����� � �����

������ readme_ic.html

1.2.3 Windows Configuration

The environment may be configured using SET commands in a Windows command prompt or made permanent by setting the Environment Variables in the System Properties.

For example, to set environment variables in Windows 2000 using System Properties, open System from the Control Panel, click the Advanced tab and then click Environment Variables.

Add the directory containing the Instant Client files to the PATH system environment variable. Remove any other Oracle directories from PATH.

For example add c:\instantclient to the beginning of the PATH.
Set the user environment variable SQLPATH to the directory containing the Instant Client files so glogin.sql is found.

For example create a user variable SQLPATH set to c:\instantclient
Set Oracle globalization variables required for your locale. A default locale will be assumed if no variables are set. See the Oracle Database Globalization Support Guide for more information.

For example, to set NLS_LANG for a Japanese environment, create a user environment variable NLS_LANG set to JAPANESE_JAPAN.JA16EUC.

aincube

��� ����, ����� ��������� SQLPlus, ������� ��� � ������ � ��������� ���������� ��������� ��� � ����������� ��������� ������:

������ �������� �������: 18 ��� 05, 16:21����[1398433] �������� | ���������� �������� ����������

Re: ��������� Instant Client. [new]
aincube
Member

������: �����-���������
���������: 14

shurik05, ������� �� �����������/����������.
������� �������� ������ � ��� ����������� �������� ��� ����� «readme_ic.html» %)
18 ��� 05, 16:45����[1398529] �������� | ���������� �������� ����������
Re: ��������� Instant Client. [new]
shurik05
Member

������: ���������
���������: 143

aincube

������� �������� ������ � ��� ����������� �������� ��� ����� «readme_ic.html» %)

�� ������ � instanceclient-sqlplus ��� Notes �� SQL*Plus*Instant Client Package
18 ��� 05, 16:51����[1398578] �������� | ���������� �������� ����������
����� ����������� �������� ����� 1 ����.
Re: ��������� Instant Client. [new]
Wishmaster
Member

������: ���������
���������: 204

����� ��� ��� ������� � ���� ������, � sql plus ������ ������

Error 4 initializing SQL*Plus
NLS initialization error

������: Snezhinsk
���������: 5687

. � ���� ����� sqlplus �� ���������� ��������� ������, �� ���� NLS_LANG = AMERICAN _AMERICA.RU8PC866
9 ��� 07, 13:39����[4773405] �������� | ���������� �������� ����������
Re: ��������� Instant Client. [new]
Wishmaster
Member

������: Snezhinsk
���������: 5687

�� ������� ����������
�������� � �������� �������-������� ����� ������:
qqq.cmd
SET PATH=%

������: ���������
���������: 204

2 BIz: �� ���� ��������������� � ������������� �������� ����. ������������ ����. �� �������:(
9 ��� 07, 15:22����[4774372] �������� | ���������� �������� ����������
Re: ��������� Instant Client. [new]
Nuri
Member

������:
���������: 34

Wishmaster
����� ��� ��� ������� � ���� ������, � sql plus ������ ������

Error 4 initializing SQL*Plus
NLS initialization error

Источник

Установка Oracle Client под Windows

Применимо для Windows XP x32 (Oracle Client Basic 10.2.0.4 + ODBC) и для Windows 7 x64 (Oracle Client Basic 11.1.0.6.0 x32).

В связи с участившимися вопросами «как ставить oracle client» опубликую что-то вроде инструкции из собственного опыта.

Первым делом нужно обзавестись самим клиентом, его можно скачать с сайта Oracle или еще где-то. Понадобится

Для работы PHP OCI8 и TOAD вполне будет достаточно только архива instantclient-basic. Приступим.

Распаковываем instantclient-basic-win32-10.2.0.4.zip в нужное место, в моем случае это C:\Program Files\Oracle\instantclient_10_2 (этот путь будет везде использоваться дальше по тексту, так что заменяйте на свой).

Под Windows 7 x64 клиент x32 работает вполне нормально и решает поставленные задачи, но никто не запрещает воспользоваться версией клиента x64.

Идем в Панель управления → Система → Дополнительно → Переменные среды. Там в разделе «Системные переменные» создаем следующие (имя переменной = значение)

LD_LIBRARY_PATH = C:\Program Files\Oracle\instantclient_10_2
NLS_LANG = RUSSIAN_CIS.CL8MSWIN1251
ORACLE_HOME = C:\Program Files\Oracle\instantclient_10_2
SQL_PATH = C:\Program Files\Oracle\instantclient_10_2
TNS_ADMIN = C:\Program Files\Oracle\instantclient_10_2\network\ADMIN

NLS_LANG может быть другой в зависимости от потребностей.

А к переменной PATH дописываем (не забываем про 😉

PATH += C:\Program Files\Oracle\instantclient_10_2

Для работы клиента требуются DLL

Путем долгих мучений мной было выяснено, что для того чтобы клиент заработал в системе должны присутствовать следующие DLL библиотеки (которых обычно нет):

Где их взять ответит гугль, скачиваем, распаковываем в C:\Windows\System32 (можно ребутнуться для профилактики).

Если требуется работа приложений через ODBC драйвер

Распаковываем instantclient-odbc-win32-10.2.0.4.zip в нужное место, в моем случае это C:\Program Files\Oracle\instantclient_10_2 и запускаем оттуда odbc_install.exe

После всех этих операций у большинства все начинает работать, надеюсь и вам это поможет 🙂

Если требуется работа x32 приложений через ODBC в Windows x64

Вот тут начинается самая хитрость, тк в панели управления в источниках данных ODBC нет драйвера Oracle! Поэтому нужно запустить управление ODBC x32, который, на удивление, расположен в C:\Windows\SysWoW64 (см. KB 942976 от M$). Для этого нужно выполнить команду:

И в открывшемся окне будет доступна возможность создать DSN с драйвером Oracle.

Источник