Windows 7 установка oracle client. Windows: установка Oracle Instant Client

2- Download Oracle 11g

Oracle позволяет скачатьь бесплатно. Вы можете зайти на главную страницу Oracle чтобы скачать эту программу.

Проверьте вашу операционную систему, которая 32bit или 64bit для правильного скачивания.

После завершения скачивания у вас есть 2 файла zip . Извлеките их в одну папку.

3- Установка Oracle 11g на Windows

Для начала, нам нужно понять структуру Oracle :
Структура Oracle включает:

  1. Программное обеспечение Oracle
  2. И Database

В каждой Database имеется много SCHEMA , и имя Schema так же является именем User для доступа втот Schema . В 1-ом Schema lимеется система таблиц, view , функций (function ), процедур (procedure ), package ,....

Это означает, что после установки программы Oracle , вы можете создать один или более database. Обычно вам понадобится только 1.

Как показано в иллюстрации ниже, нужно установить программу Oracle , и создать 2 database с именами Db11g и Orcl . Названия Database так же называются SID . (Вы можете назвать database по вашему желанию)

Установить Oracle:

Если вы извлечете 2 файла zip Oracle в 2 папки, и установите файл setup в папке 1. В процессе установки, потребуется указать позицию папки 2 для продолжения установки.

Установим программное обеспечение Oracle и сразу создадим Database с названием db11g (или SID = db11g ).

Для обучения или для маленьких компаний, выбрать:

  • Desktop class

  • Character Set : Unicode (AL32UTF8)
  • Global database name : db11g (Вы можете выбрать другое название, это название database, или так называемого SID)

И ждем завершения установки.

Теперь установка Oracle завершена Параметры связанные с базой данных будут синтезированы, вам следует запомнить эту информацию.

В следующем шаге, установщик создаст Database с названием db11g как мы именовали в предыдущем шаге.

Обобщенная информация после успешного завершения установки:

Если Windows показывает предупреждения о блокировании работы Oracle , нажмите на "Allow access" чтобы разрешить работу oracle .

4- Проверить установку и установить расширение

После завершения установки, service в Oracle запускаются (Start ) автоматически. Вы можете зайти в Service в Windows чтобы проверить.

Имеется 7 service в Oracle , но для работытребуется только 3 service:

  • OracleDBConsole
  • OracleOra_home1TNSListener
  • OracleService

4.1- Oracle DB Console

Serivce OracleDBConsole помогает вам зайти на административную страницу для управления Database через URL:

Используя OracleDBConsole вы можете смотреть в общем как работает ваш сервис (DB). Как используются ресурсы. Как работают пользователи и в каком порядке выполняются команды.... (в данном документе я не буду описывать это подробно).

Если ваш Oracle используется только с целью обучения, вы можеет выключить сервис OracleDBConsole , чтобы избежать пустую трату ресурсов компьютера. Лучше всего, переключите режим запуска на Manual , чтобы сервис не запускался автоматически каждый раз при включении компьютера. Можете запустить сервис если есть необходимость.

4.2- SQL Plus

SQL Plus это простой инструмент Console позволяющий вам выдавать команды SQL . Обычно мы работаем больше с визуальными инструментами (Не имеется при установке Oracle ) вам нужно установить отдельно, это может быть программа предоставленная третьей стороной.

Create a new SCHEMA whose name is myschema and password is 1234. In essence, we create a user whose name is myschema , as user and schema are the same name in Oracle .

Create user (schema), password 1234 Create user myschema identified by 1234; -- Grant to myschema. -- For example: dba: DB Admin. grant dba to myschema;

Соединить с Schema который только что создали:

Попробуйте запросить таблицу:

Заметка: DUAL это виртуальная таблица имеющаяся в любой SCHEMA , вы можете попробовать выбрать (select) .

DUAL is a system table. Select * from Dual;

Попробовать другие команды.

Create table Account Create table Account (User_Name varchar2(30), Full_Name varchar2(64)) ; -- Insert 2 row to Account. Insert into Account(user_name, full_name) values ("gates", "Bill Gate"); Insert into Account(user_name, full_name) values ("edison", "Thomas Edison"); -- Query Select * from Account;

Чтобы получить доступ к базе данных 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.

Чтобы получить доступ к базе данных 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 и не специалистом по 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,