Установка oracle client из командной строки. Установка oracle client для HP Service Virtualization

Чтобы получить доступ к базе данных Oracle с ПК, вначале на нем необходимо инсталлировать программное обеспечение Oracle Client . Программное обеспечение Oracle Client поставляется вместе с программным обеспечением Oracle Server. Кроме того, его можно загрузить также из сайта OTN (http://technet.oracle.com ). Программное обеспечение Oracle Client доступно для загрузки отдельно. Хотя версии Oracle Server и Oracle Client не обязательно должны совпадать, в Oracle рекомендуют применять соответствующие версии ПО, чтобы можно было полностью воспользоваться преимуществами новых функциональных возможностей.

Версию Oracle Client можно выяснить, просмотрев вывод при вызове утилиты SQL*Plus , как показано в следующем примере:

$ sqlplus C:\>sqlplus SQL*Plus: Release 11.1.0.6.0 - Production on Thu Mar 20 09:27:14 2008 Copyright (c) 1982, 2007, Oracle. All rights reserved. Enter user-name:

Приведенный вывод команды SQL*Plus показывает, что в системе установлено программное обеспечение Oracle Client версии 11.1.0.6.0.

При установке программного обеспечения Oracle Client можно выбрать одну из четырех опций.

  • Administrator (Администратор). Позволяет приложениям подключаться к локальным или удаленным базам данных Oracle и управлять ими.
  • Runtime (Компоненты времени выполнения). Позволяет подключаться к локальным или удаленным базам данным Oracle.
  • Custom (Пользовательская установка). Позволяет выбирать отдельные компоненты из числа устанавливаемых при вариантах установки Administrator и Runtime.
  • Instant Client (Мгновенный клиент). Производится инсталляция только библиотек совместного использования, необходимых для OCI (Oracle Call Interface - Интерфейс вызова Oracle), OCCI (Oracle C++ Call Interface - Интерфейс вызова C++ Oracle) и приложениям Java Database Connectivity OCI (Java-OCI подключения к базе данных).

На заметку! Новая опция Instant Client описана в наших блогах в статье “Мгновенный клиент Oracle”.

Установка Oracle Client

Чтобы установить программное обеспечение Oracle Client, выполните следующие действия.

  1. Вставьте компакт-диск Oracle Database 11g Client в привод или запустите сценарий runInstaller из промежуточного каталога.
  2. Выберите пункт меню Install/Deinstall Products (Установка и удаление программных компонентов) и щелкните на кнопке Next (Далее).
  3. Откроется Welcome (Приветствие). Щелкните на кнопке Next.
  4. На странице Specify File Locations (Укажите расположение файлов) примите заданный по умолчанию каталог файлов или введите имя и путь домашнего каталога Oracle. Щелкните на кнопке Next.
  5. На экране Select Installation Type (Выберите тип инсталляции) можно выбрать один из четырех вариантов - Instant Client, Administrator, Runtime или Custom. Выберите из списка опцию Runtime Installation (Установка компонентов времени выполнения) и щелкните на кнопке Next.
  6. Просмотрите компоненты, которые будут инсталлированы в процессе этого типа установки и щелкните на кнопке Install (Установить).
  7. После завершения установки программного обеспечения Oracle Client откроется помощник Oracle Net Configuration Assistant. Выберите опцию No, I Will Create Service Names Myself (Нет, я создам имена служб самостоятельно) и щелкните на кнопке Next.
  8. В поле Database SID (Системный идентификатор базы данных) введите имя базы данных и щелкните на кнопке Next.
  9. В качестве протокола выберите TCP и щелкните на кнопке Next.
  10. В поле Host Name (Имя хоста) введите имя сервера своего хоста и выберите стандартный порт. Щелкните на кнопке Next.
  11. Щелкните на кнопке Yes (Да), чтобы протестировать возможность подключения, а затем щелкните на кнопке Next.
  12. После отображения сообщения Connecting . . . Test Successful (Подключение. . . Тестирование выполнено успешно) щелкните на кнопке Next.
  13. Отвечая на вопрос о том, нужно ли конфигурировать другую службу, выберите опцию No (Нет). Щелкните на кнопке Next.
  14. Подтвердите завершение настройки имени сетевой службы, щелкнув на кнопке Next.
  15. Щелкните на кнопках Finish (Готово) и Exit (Выход).

Совет. При наличии нескольких установок Oracle на ПК система может содержать также несколько файлов tnsnames.ora . Пользователь может оказаться не в состоянии подключиться к новой базе данных после добавления информации о конфигурации сети в файл tnsnames.ora , если используется не этот файл. Убедитесь, что в пути ПО Oracle Client указан нужный файл tnsnames.ora.

Понадобилось тут прицепиться из-под Windows 2003 к базе на Oracle 11g, если не ошибаюсь. Гугль вывел на страницу загрузки разных вариантов Oracle Instant Client .

Под линуксом всё оказалось просто: скачал нужный архив, распаковал из него папку instantclient_12_2, в строгом соответствии с инструкциями сделал пару линков на нужные библиотеки, прописал в /etc/ld.so.conf полный путь этого самого instantclient_12_2 и вызвал ldconfig. Всё. SQL*Plus сразу начал цепляться куда надо, и осталась одна проблема: Python 2.7 через cx_Oracle не сразу понял русские буквы, и потребовалось добавить в начало скрипта конструкцию:
import os os.environ["NLS_LANG"] = "American_America.AL32UTF8" А для SQL*Plus не потребовалось и этого.

Иное дело Windows 2003. Под ним я тоже распаковал instantclient_12_2, в эту же папку сгрузил файлы из архивов для ODBC и SQL*Plus, добавил её полный путь в системную переменную окружения PATH и попытался создать системный DSN. Безуспешно. На экран вывалились одна за одной ошибки "Не удается загрузить программы установки для драйвера ODBC Oracle in instantclient_12_2 из-за системной ошибки с кодом 127" и "Не удается загрузить программу установки или библиотеку транслятора" , и начался квест, закончившийся полным провалом. Ставлю Microsoft Visual Studio 2013 Redistributable - не помогает. Нахожу замечательную утилиту Dependency Walker 2.2 , которая, по аналогии с линуксовой ldd показывает зависимости библиотек, натравливаю её на sqora32.dll и sqoras32.dll, выясняется, что этим библиотекам для счастья нужны mfc110.dll и msvcr110.dll, нахожу их в установленных каких-то левых программах, копирую в instantclient_12_2 - всё без толку. Мало того, даже sqlplus.exe запускаться не желает. Может, в оракле перепутали 32-х и 64-х битную версии?

Разбираться не стал. Снёс Instant Client 12.2, поставил Instant Client 11.2. Тому тоже не хватает библиотек, на этот раз mfc80.dll и msvcr80.dll. Их найти легче, у меня они валялись в установленном клиенте SQL Server 2005. Подпихнул их в папку instantclient_11_2, окно настройки свойств подключения появилось.

Но на этом приключения не закончились. Как известно, описания оракловских подключений хранятся в файле tnsnames.ora, путь к папке которого по идее должен быть указан в переменной окружения TNS_ADMIN. Описываю своё подключение, выбираю его в окне настройки свойств "Oracle ODBC Driver Configuration" в поле TNS Sеrvice Name, пытаюсь сделать проверку подключения - получаю ошибку "ORA-12154 TNS:could not resolve the connect identifier specified" . Пришлось схитрить: в поле TNS Sеrvice Name прописать подключение в формате host:port/service_name.

Ладно, так или иначе, подключился. Опять возникла проблема с русскими буквами. Причем на ровном месте. В SQL*Plus выдаётся всё хорошо, запрос
select * from v$nls_parameters where parameter like "%CHARACTERSET%"; показывает обнадёживающее "CL8MSWIN1251", то есть, никакая перекодировка не нужна, но простейший ASP-скрипт в кодировке cp1251:
Dim Conn Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=MSDASQL.1;Password=***;Persist Security Info=True;User ID=huh-muh;Data Source=MYORA" Set RS = Server.CreateObject("ADODB.Recordset") strSQL = "select "привет" from dual" RS.Open strSQL, Conn RS.MoveFirst Response.Write RS.Fields(0) RS.Close Set RS = Nothing Conn.Close Set Conn = Nothing вместо обнадёживающего "привет" рисует на странице удручающие знаки вопроса: "??????". Оказывается, надо прописать параметр NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251, но где это сделать, совершенно непонятно. В конце концов, пристроил этот параметр в реестр:
"NLS_LANG"="RUSSIAN_CIS.CL8MSWIN1251" Правда, после этого неожиданно русифицировались SQL*Plus и сообщения оракла об ошибках, но и чёрт с ними. Главное, ASP-скрипты перестали глючить.

Oracle Client - это программа, которая позволяет работать с базой данных Oracle, установленной на удаленном компьютере или сервере. Как и указано в названии, приложение представляет собой клиентскую часть, которая предназначена для выполнения авторизации, проверки прав доступа и составления запросов. То есть благодаря ей вы можете "общаться" с БД, используя для этого хоть и несколько архаичный, но все же удобный интерфейс.

Версии

Несмотря на то, что на момент написания данного обзора самой свежей является версия 12.0, наиболее "популярна" версия 11g. Именно ее чаще всего используют на предприятиях. Клиент доступен в вариантах для 32 битных и 64 битных операционных систем. Важный момент заключается в том, что версия x32 дает возможность работать Toad, SQL Developer и другими визуальными инструментами. В версии x64 такая возможность, к сожалению, отсутствуют.

Инсталляция

В процессе установки ПО пользователю будет предоставлена возможность выбрать один из трех вариантов: Instant Client, Administrator, Runtime и Custom. Первый вариант предполагает установку исключительно разделенных библиотек. При выборе Administrator в дополнительные к библиотекам будет инсталлирована также консоль администратора (Oracle Manager Standalone Console). Runtime устанавливает большой пакет дополнительных инструментов, упрощающих взаимодействие с БД. Ну и вариант Custom, как несложно догадаться, будет полезен тем, кто желает самостоятельно выбрать компоненты для установки.

После выбора режима установщик выполнит все необходимые операции самостоятельно. Oracle Client не требует дополнительных драйверов и самостоятельно прописывает в меню автозагрузки. Скачать клиент можно совершенно бесплатно.

Ключевые особенности

  • служит для обеспечения доступа к удаленным базам данных;
  • предлагает несколько режимов установки;
  • совместим с любыми версиями Windows (как x32 так и x64);
  • является официальным программным обеспечением от Oracle;
  • доступен для загрузки совершенно бесплатно.

Данная статья написана отнюдь не специалистом по базам данных Oracle и не специалистом по Microsoft Windows, поэтому глубоких изысканий и теории не будет. Также, решение описанное в этой статье может быть в чём-то не верным. А по сути оно - шаманство. Но я смог успешно установить Oracle 10g XE на Windows 7 x64.

Цель этой статьи - помочь тем, кто столкнулся с установкой Oracle 10g Express (XE) на Windows 7 x64 и не может понять, почему у него не получается установить. Проблема заключается в том, что вроде бы база устанавливается - инсталлятор не выдаёт никаких ошибок, сервисы создаются и запускаются, но файлы базы не инициализируется, и, естественно, после установки сервер БД просто не работает. Гугл и другие поисковики выдают несколько ссылок по этой проблеме, но ни одного полноценного решения я не нашёл, поэтому пришлось самому докапываться до истины.

В статье я приведу несколько действий или правил, которые помогли мне справиться с проблемной установкой. Не могу сказать, всё ли верно и применимо, однако, эти действия позволили мне установить сервер базы данных Oracle 10g XE и клиент Oracle 10g XE Client на несколько машин с Windows 7 x64. Думаю, эти же действия помогут и при установке на Windows Server 2008.

Предисловие
Зачем это всё понадобилось? От субподрядчика, разработавшего программный комплекс, который мы поддерживаем, осталась зависимость от базы данных Oracle. С субподрядчиком мы уже давно благополучно разошлись, но зависимость осталась, после чего мы дописали несколько важных подсистем, которые тоже требуют наличия этой СУБД. Клиентам наиболее полезна именно Express (XE) версия - она бесплатна и вполне устраивает их даже со своими ограничениями. А Express версия существует только версии 10g.

Клиенты уже думают о переходе на Windows 7 (или для серверов Windows Server 2008), а некоторые уже перешли, так что придётся выкручиваться.

Общие шаги
Перечислю два правила, полученных танцами с бубном вокруг неработающего сервера БД:

Первое. Oracle 10g XE отказывается устанавливаться под доменным пользователем, даже если он состоит в группе Администраторы. При этом если запускать установку, запуская инсталлятор от имени локального администратора, то опять таки база будет установлена криво. Чем это обусловлено - абсолютно не ясно. Решение таково - зайти в систему под локальным администратором и выполнять установку от его имени. Такое решение пришло после того, как на одинаковых операционных системах на одной СУБД не установилась. Разница была в том, что одна из машин была в домене, а другая - нет. Если кто знает почему так просходит - прошу просветить.

Второе. Oracle Database требует ряд системных переменных среды при работе у установке, но инсталлятор их не будет создавать (однако Path поправит), поэтому их надо предварительно добавить вручную (Компьютер - Свойства - Дополнительные параметры системы - Дополнительно - Переменные среды… - Системные переменные - Создать...) или же BAT-сценарием. Какие конкретно переменные нужно создать, я ниже напишу. Все ли обязательны, я не берусь сказать - по идее те, которые не будут заданы, будут иметь значение по умолчанию.

Установка сервера Oracle 10g XE Database
Начнём.

0. Заходим в систему . Скачаем куда-либо, допустим, себе на рабочий стол инсталлятор БД - OracleXEUniv.exe .

1. Добавим ряд системных переменных. Можно создать и вручную, но я предлагаю добавлять командой setx с ключём -m (или /m), который позволит добавить системную переменную среды, а не пользовательскую, которая добавилась бы без этого ключа. Синтаксис команды такой: setx /m Переменная Значение .

Переменные нам нужны следующие: имена сервиса, пути к базе и утилитам, путь к настройкам в реестре и прочее. Если вы будете устанавливать БД по другим путям, то поправьте переменные. Самый простой вариант добавления всех параметров - написать небольшой BAT сценарий следующего содержания:

Rem Имя сервиса
setx /m ORACLE_HOME_NAME XE

setx /m ORACLE_BASE "C:\oraclexe"
rem Путь в реестре. Для x86 системы было бы "SOFTWARE\ORACLE\KEY_XE"
setx /m ORACLE_HOME_KEY "SOFTWARE\Wow6432Node\ORACLE\KEY_XE"
rem Имя сервиса
setx /m ORACLE_SID XE

setx /m ORACLE_HOME "C:\oraclexe\app\oracle\product\10.2.0\server"

setx /m ORAMTS_CP_TRACE_DIR "C:\oraclexe\app\oracle\product\10.2.0\server\oramts\trace"
rem Далее идут языковые параметры, они не столь важны, но могут быть полезны


rem Сообщения от базы в консоли будут писаться не крякозябликами или знаками вопроса, а нормально - по-английски

Сохраняем этот сценарий с расширением.bat и явно запустим с правами администратора (правой кнопкой мыши - Запуск от имени администратора). После каждой строки сценария должна быть запись «Успешно».

Теперь надо проверить, все ли переменные добавились так, как мы хотели. Проходим длинный путь Компьютер - Свойства - Дополнительные параметры системы - Дополнительно - Переменные среды… и смотрим Системные переменные. Всё хорошо? Если да, то приступаем к установке.

2. Запускаем инсталлятор. Установка вполне тривиальна - в отличие от 10g Standart и выше, тут используется инсталлятор InstallShield, который уж совсем прост. Путь установки указываем тот, который мы указали в переменной ORACLE_BASE, то есть по умолчанию это будет C:\oraclexe. После установки переходим в браузере на 127.0.0.1:8080/apex/ и пытаемся зайти под логином SYS и паролем, которым мы указали при инсталляции.

Установка клиента Oracle 10g XE Client
А теперь на клиентские машины надо установить клиент БД Oracle. Приступим.

Шаги тут будут схожи, за исключением некоторых нюансов.

0. Опять же, заходим в систему под именем локального администратора . Положим поближе инсталлятор клиента БД - OracleXEClient.exe .

1. Добавим ряд системных переменных. BAT-сценарий для их добавления будет такой:

Rem Имя сервиса
setx /m ORACLE_HOME_NAME XEClient
rem Корневой путь установки базы
setx /m ORACLE_BASE "C:\XEClient"
rem Путь в реестре. Для x86 системы было бы "SOFTWARE\ORACLE\KEY_XEClient"
setx /m ORACLE_HOME_KEY "SOFTWARE\Wow6432Node\ORACLE\KEY_XEClient"
rem Путь к бинарникам и настройкам
setx /m ORACLE_HOME "C:\XEClient"
rem Путь, куда будет писать Oracle MTS. Остальные параметры ORAMTS - по умолчанию
setx /m ORAMTS_CP_TRACE_DIR "C:\XEClient\oramts\trace"
rem Языковые параметры, они не столь важны, но могут быть полезны
setx /m NLS_NUMERIC_CHARACTER ". "
setx /m NLS_DATE_FORMAT "dd.mm.yyyy"
rem Английский язык сообщений
setx /m NLS_LANG "AMERICAN_AMERICA.CL8MSWIN1251"

Сохраняем сценарий.bat и запускаем с правами администратора.

2. Запускаем инсталлятор клиента в режиме совместимости с Windows Vista - иначе у меня не получилось. Установка совсем проста - надо указать лишь путь.

После установки надо как-то проверить, всё ли получилось. Запускаем в консоли (cmd) sqlplus и попытаемся законнектится к базе. Тут хочу сказать, что sqlplus по какой-то причине достаточно часто крашится. Но уж если запустился, то работает честно.

Вывод
Вот такими не совсем внятными действиями мы добились успешной работы Oracle 10g XE Database и ПО, который требует Oracle 10g XE Client. На нахождение верного пути я убил достаточно много нервов и времени, поэтому, надеюсь, для кого-то эта статья окажется весьма полезной.

Жду справедливой критики.

Теги: oracle, oracle database, oracle 10g XE, windows 7,

Чтобы получить доступ к базе данных Oracle с ПК, вначале на нем необходимо инсталлировать программное обеспечение Oracle Client . Программное обеспечение Oracle Client поставляется вместе с программным обеспечением Oracle Server. Кроме того, его можно загрузить также из сайта OTN (http://technet.oracle.com ). Программное обеспечение Oracle Client доступно для загрузки отдельно. Хотя версии Oracle Server и Oracle Client не обязательно должны совпадать, в Oracle рекомендуют применять соответствующие версии ПО, чтобы можно было полностью воспользоваться преимуществами новых функциональных возможностей.

Версию Oracle Client можно выяснить, просмотрев вывод при вызове утилиты SQL*Plus , как показано в следующем примере:

$ sqlplus C:\>sqlplus SQL*Plus: Release 11.1.0.6.0 - Production on Thu Mar 20 09:27:14 2008 Copyright (c) 1982, 2007, Oracle. All rights reserved. Enter user-name:

Приведенный вывод команды SQL*Plus показывает, что в системе установлено программное обеспечение Oracle Client версии 11.1.0.6.0.

При установке программного обеспечения Oracle Client можно выбрать одну из четырех опций.

  • Administrator (Администратор). Позволяет приложениям подключаться к локальным или удаленным базам данных Oracle и управлять ими.
  • Runtime (Компоненты времени выполнения). Позволяет подключаться к локальным или удаленным базам данным Oracle.
  • Custom (Пользовательская установка). Позволяет выбирать отдельные компоненты из числа устанавливаемых при вариантах установки Administrator и Runtime.
  • Instant Client (Мгновенный клиент). Производится инсталляция только библиотек совместного использования, необходимых для OCI (Oracle Call Interface - Интерфейс вызова Oracle), OCCI (Oracle C++ Call Interface - Интерфейс вызова C++ Oracle) и приложениям Java Database Connectivity OCI (Java-OCI подключения к базе данных).

На заметку! Новая опция Instant Client описана в наших блогах в статье “Мгновенный клиент Oracle”.

Установка Oracle Client

Чтобы установить программное обеспечение Oracle Client, выполните следующие действия.

  1. Вставьте компакт-диск Oracle Database 11g Client в привод или запустите сценарий runInstaller из промежуточного каталога.
  2. Выберите пункт меню Install/Deinstall Products (Установка и удаление программных компонентов) и щелкните на кнопке Next (Далее).
  3. Откроется Welcome (Приветствие). Щелкните на кнопке Next.
  4. На странице Specify File Locations (Укажите расположение файлов) примите заданный по умолчанию каталог файлов или введите имя и путь домашнего каталога Oracle. Щелкните на кнопке Next.
  5. На экране Select Installation Type (Выберите тип инсталляции) можно выбрать один из четырех вариантов - Instant Client, Administrator, Runtime или Custom. Выберите из списка опцию Runtime Installation (Установка компонентов времени выполнения) и щелкните на кнопке Next.
  6. Просмотрите компоненты, которые будут инсталлированы в процессе этого типа установки и щелкните на кнопке Install (Установить).
  7. После завершения установки программного обеспечения Oracle Client откроется помощник Oracle Net Configuration Assistant. Выберите опцию No, I Will Create Service Names Myself (Нет, я создам имена служб самостоятельно) и щелкните на кнопке Next.
  8. В поле Database SID (Системный идентификатор базы данных) введите имя базы данных и щелкните на кнопке Next.
  9. В качестве протокола выберите TCP и щелкните на кнопке Next.
  10. В поле Host Name (Имя хоста) введите имя сервера своего хоста и выберите стандартный порт. Щелкните на кнопке Next.
  11. Щелкните на кнопке Yes (Да), чтобы протестировать возможность подключения, а затем щелкните на кнопке Next.
  12. После отображения сообщения Connecting . . . Test Successful (Подключение. . . Тестирование выполнено успешно) щелкните на кнопке Next.
  13. Отвечая на вопрос о том, нужно ли конфигурировать другую службу, выберите опцию No (Нет). Щелкните на кнопке Next.
  14. Подтвердите завершение настройки имени сетевой службы, щелкнув на кнопке Next.
  15. Щелкните на кнопках Finish (Готово) и Exit (Выход).

Совет. При наличии нескольких установок Oracle на ПК система может содержать также несколько файлов tnsnames.ora . Пользователь может оказаться не в состоянии подключиться к новой базе данных после добавления информации о конфигурации сети в файл tnsnames.ora , если используется не этот файл. Убедитесь, что в пути ПО Oracle Client указан нужный файл tnsnames.ora.