Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?
Понадобилось тут прицепиться из-под 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-скрипты перестали глючить.
Hello world! =)) С вами на связи Александр Глебов и я приветствую вас на своем IT Блоге. В этой статье я рассказываю как установить Oracle Data Access Components (oracle клиент по простому) на компьютер. Статья - установка Oracle Client, это, прежде всего подсказка для самого себя, но если кому-то пригодится, то я буду только рад. Итак, поехали...
Написание этой статьи меня сподвигла необходимость установки . Там в требованиях к программному обеспечению необходимо наличие Oracle Client, вот собственно в этой статье и буду заниматься установкой оракл клиента.
Подготовка к установке Oracle Client
Каких-то особых требований к установке оракл клиента нет, самая большая сложность это скачать оракл клиента. Привожу две ссылки на официальный сайт для 32 и 64 битных версий:
- Oracle Data Access Components 32-bit - ссылка на 32 битную версию Oracle Client
- Oracle Data Access Components 64-bit - ссылка на 64 битную версию Oracle Client
Выбираем нужную вам битность (для HP Service Virtualization Designer + Server нужен 32 и 64 битный клиент установленный в разные папки) , переходи по ссылке, и видим следующую страницу:
- Соглашаемся с лицензионным соглашением (1) (Accept License Agreement).
- Нажимаем на - ODAC121024Xcopy_x64.zip
- В результате вас перекинет на страницу с входом в аккаунт oracle, после входа начнется скачивание (если уже залогинены то сразу пойдет скачивание).
Если у вас нет логина в oracle и лень там регистрироваться, то можете скачать oracle client по ссылкам ниже:
После скачивания вы получите файл ODAC121024Xcopy_32bit.zip или ODAC121024Xcopy_x64.zip в зависимости от битности. Необходимо распаковать архив, например, на диск C в папку distr. В результате получим папку как на картинке ниже:
На этом подготовительный этап установки закончили. Переходим к установке ODAC.
Установка Oracle client
Для установки клиента оракл выполним следующие шаги:
Вот в принципе и все, мы установили Oracle Client на компьютер Windows. Как видно это довольно просто, и ничего сложного. И по традиции прошу оставлять ваши отзывы, предложения, замечания в комментариях. Если понравилась данная статья, то ставим плюсики лайки, репосты. Буду вам благодарен.
Чтобы получить доступ к базе данных 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, выполните следующие действия.
- Вставьте компакт-диск Oracle Database 11g Client в привод или запустите сценарий runInstaller из промежуточного каталога.
- Выберите пункт меню Install/Deinstall Products (Установка и удаление программных компонентов) и щелкните на кнопке Next (Далее).
- Откроется Welcome (Приветствие). Щелкните на кнопке Next.
- На странице Specify File Locations (Укажите расположение файлов) примите заданный по умолчанию каталог файлов или введите имя и путь домашнего каталога Oracle. Щелкните на кнопке Next.
- На экране Select Installation Type (Выберите тип инсталляции) можно выбрать один из четырех вариантов - Instant Client, Administrator, Runtime или Custom. Выберите из списка опцию Runtime Installation (Установка компонентов времени выполнения) и щелкните на кнопке Next.
- Просмотрите компоненты, которые будут инсталлированы в процессе этого типа установки и щелкните на кнопке Install (Установить).
- После завершения установки программного обеспечения Oracle Client откроется помощник Oracle Net Configuration Assistant. Выберите опцию No, I Will Create Service Names Myself (Нет, я создам имена служб самостоятельно) и щелкните на кнопке Next.
- В поле Database SID (Системный идентификатор базы данных) введите имя базы данных и щелкните на кнопке Next.
- В качестве протокола выберите TCP и щелкните на кнопке Next.
- В поле Host Name (Имя хоста) введите имя сервера своего хоста и выберите стандартный порт. Щелкните на кнопке Next.
- Щелкните на кнопке Yes (Да), чтобы протестировать возможность подключения, а затем щелкните на кнопке Next.
- После отображения сообщения Connecting . . . Test Successful (Подключение. . . Тестирование выполнено успешно) щелкните на кнопке Next.
- Отвечая на вопрос о том, нужно ли конфигурировать другую службу, выберите опцию No (Нет). Щелкните на кнопке Next.
- Подтвердите завершение настройки имени сетевой службы, щелкнув на кнопке Next.
- Щелкните на кнопках Finish (Готово) и Exit (Выход).
Совет. При наличии нескольких установок Oracle на ПК система может содержать также несколько файлов tnsnames.ora . Пользователь может оказаться не в состоянии подключиться к новой базе данных после добавления информации о конфигурации сети в файл tnsnames.ora , если используется не этот файл. Убедитесь, что в пути ПО Oracle Client указан нужный файл tnsnames.ora.
Данная статья написана отнюдь не специалистом по базам данных 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, выполните следующие действия.
- Вставьте компакт-диск Oracle Database 11g Client в привод или запустите сценарий runInstaller из промежуточного каталога.
- Выберите пункт меню Install/Deinstall Products (Установка и удаление программных компонентов) и щелкните на кнопке Next (Далее).
- Откроется Welcome (Приветствие). Щелкните на кнопке Next.
- На странице Specify File Locations (Укажите расположение файлов) примите заданный по умолчанию каталог файлов или введите имя и путь домашнего каталога Oracle. Щелкните на кнопке Next.
- На экране Select Installation Type (Выберите тип инсталляции) можно выбрать один из четырех вариантов - Instant Client, Administrator, Runtime или Custom. Выберите из списка опцию Runtime Installation (Установка компонентов времени выполнения) и щелкните на кнопке Next.
- Просмотрите компоненты, которые будут инсталлированы в процессе этого типа установки и щелкните на кнопке Install (Установить).
- После завершения установки программного обеспечения Oracle Client откроется помощник Oracle Net Configuration Assistant. Выберите опцию No, I Will Create Service Names Myself (Нет, я создам имена служб самостоятельно) и щелкните на кнопке Next.
- В поле Database SID (Системный идентификатор базы данных) введите имя базы данных и щелкните на кнопке Next.
- В качестве протокола выберите TCP и щелкните на кнопке Next.
- В поле Host Name (Имя хоста) введите имя сервера своего хоста и выберите стандартный порт. Щелкните на кнопке Next.
- Щелкните на кнопке Yes (Да), чтобы протестировать возможность подключения, а затем щелкните на кнопке Next.
- После отображения сообщения Connecting . . . Test Successful (Подключение. . . Тестирование выполнено успешно) щелкните на кнопке Next.
- Отвечая на вопрос о том, нужно ли конфигурировать другую службу, выберите опцию No (Нет). Щелкните на кнопке Next.
- Подтвердите завершение настройки имени сетевой службы, щелкнув на кнопке Next.
- Щелкните на кнопках Finish (Готово) и Exit (Выход).
Совет. При наличии нескольких установок Oracle на ПК система может содержать также несколько файлов tnsnames.ora . Пользователь может оказаться не в состоянии подключиться к новой базе данных после добавления информации о конфигурации сети в файл tnsnames.ora , если используется не этот файл. Убедитесь, что в пути ПО Oracle Client указан нужный файл tnsnames.ora.