Как установить instant client oracle windows

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 версию клиента.

Далее соглашаемся с лицензионным соглашением и выбираем версию *Instant Client Package — Basic Lite (18,4 Мб) – лайт версии нам вполне хватит. При желании можете скачать ещё *Instant Client Package — SQL*Plus – SQL Plus это консольная утилита для исполнения SQL-запросов, именно она чаще всего используется для иллюстрации примеров в книгах, документации и на форумах. Однако я буду использовать другую бесплатную утилиту, об этом чуть ниже.

Читайте также:  How take screenshot windows

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

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

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

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

Жамкаем кнопку “Переменные среды…” и добавляем в переменную 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.

Читайте также:  Как подключить роутер d link dir 300 windows 10

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

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

Итак, Instant Client установлен и сконфигурирован. Скачиваем бесплатную утилиту SQLTools (сайт программы — http://www.sqltools.net/). Устанавливаем. Запускаем. При первом запуске программа предложит ввести пароль – это можно сделать, если Вы хотите, чтобы другие пользователи Вашего компьютера не смогли воспользоваться подключениями, которые будут сконфигурированы в SQL Tools, я же отказался от такой возможности. А далее мы увидим окно, в котором можно создавать подключения к базам данных. Здесь параметры аналогичны параметрам подключения программы Oracle SQL Developer (пароль – oracle):

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

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

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

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

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

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

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

How to Install Oracle Instant Client 19.5 on Windows 10

In the following article, I am going to show you how to install the latest Oracle instant client 19.5 on Windows 10. As you know, Oracle Instant Client is a set of tools you need to connect and manage the Oracle database server. With this tool, we can connect to both local or remote Oracle database. Not like many other software, it needs extra steps in order to install the instant client. But don’t worry, we will cover it shortly.

Steps to Install Oracle Instant Client on Windows 10

Step 1. Install Microsoft Visual Studio 2017 Redistributable

The Oracle Instant Client 19.5 requires the installation of the Microsoft Visual Studio 2017 Redistributable. Make sure you have this software installed on Windows 10.

Step 2. Create a new directory for the instant client

Create a new folder under C:/ or any other folder. This new folder will be used to store the oracle instant client files. In this example, I will create a new folder called C:\oracle

Step 3. Download the Oracle Instant Client

Now download the latest version of Oracle Instant Client. Choose the correct architecture that match your system. Or, if you are using Windows 10 64 bit, you can use the link below to directly download it. Choose one of these below

Читайте также:  Amadeus 2 mac os

Basic Light Package

You will also need to download the Instant Client SDK Package below

Save these two files inside the folder we created earlier.

Step 4. Extract the package

I assume you have two files below:

First, extract the file instantclient-basic-windows.x64-19.5.0.0.0dbru.zip. It will produce a new subfolder called instantclient_19_5. Next, extract the file instantclient-sdk-windows.x64-19.5.0.0.0dbru.zip. The second file should be extracted into the instantclient_19_5 directory. Here are the folder content result

Step 5. Modify the Environment Variable

In this section, we are going to edit the Environment Variable. We will include the Oracle Instant Client path into the environment variable. To do this, follow these steps:

  1. Open Control Panel >> Settings
  2. Click Advanced System Settings
  3. On the Advanced tab, click Environment variables
  4. Under System Variables, create OCI_LIB64 if it does not exist. Set the value OCI_LIB64 to C:\oracle\instantclient_19_5
  5. Under System Variables, edit PATH and include C:\oracle\instantclient_19_5

Create OCI_LIB64 Edit PATH for Oracle Instant Client

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

Краткое руководство по установке Oracle Client на Windows-машину.

1. Скачать Oracle Client 11G win32_11gR1_client.zip (552,398,260 bytes). Для скачивания требуется регистрация, но не требуется отправка СМС .
2. Установить, запустив setup.exe после распаковки. Золотая середина (имхо) Runtime-набор клиента.
3. Прописать нужный TNS в tnsnames.ora (если вы не меняли пути при установке C:\app\admin\product\11.2.0\client_1\network\admin\tnsnames.ora) используя следующий синтаксис:

4. Протестировать коннект в cmd: tnsping db
Если с коннектом все удачно, вы увидите OK и миллисекунды пинга.
Такая быстрая установка, естественно, не подразумевает откидывания на спинку кресла в отличии от самой Windows.

Дополнение:
В Runtime-наборе клиента оракла есть средство разработки под названием SQL Developer. Этот товарищ работает без tnsnames.ora (хост/порт, логин/пароль указываются при создании соединения) и не зависит от языковых настроек сервера оракл. Тогда как при попытке коннекта к серверу PL/SQL Developer-ом можно увидеть сообщение:

В двух словах: не совпадают языковые настройки клиента и сервера. Смотрим что стоит на сервере:

Полученное значние вписываем в качестве значения ключа NLS_LANG ветки реестра HKLM/Software/Oracle и рестартим Windows. Теперь все ок.

  • Ошибка ORA-12505: TNS: прослушиватель в данный момент не имеет данных о SID, заданном в дескрипторе соединения(ORA-12505: TNS: listener could not resolve SID given in connection description) говорит о том, что служба с именем указанном в SID не существует.

Запись опубликована 08.12.2010 в 3:19 пп и размещена в рубрике Вопрос-Ответ. Вы можете следить за обсуждением этой записи с помощью ленты RSS 2.0. Можно оставить комментарий или сделать обратную ссылку с вашего сайта.

Оцените статью