Установка Переменных окружения
Переменные окружения Oracle:
ORACLE_BASE: Основа структуры каталогов Oracle. Рекомендуется установить ее перед установкой.
ORACLE_HOME: Среда, в которой работают продукты Oracle. Не требуется перед установкой, если установлена ORACLE_BASE .
ORACLE_SID: Не требуется перед установкой, но полезна впоследствии для простоты взаимодействия с определенным экземпляром
NLS_LANG: Дополнительная переменная окружения, которая управляет языком, территорией, и клиентскими настройками набора символов
Есть множество переменных окружения Oracle, включенных в каждую среду Oracle. Упомянутые здесь важны для успешной установки и использования базы данных Oracle. Ни одна из них не обязана быть установленной, но можно избежать будущих проблем, если установить эти переменные.
ORACLE_BASE: Определяет основу структуры каталогов Oracle для Оптимальной Гибкой Архитектуры (OFA), которая рекомендуется Oracle Support. Использование является опциональным; если используется, это может облегчить будущие установки и обновления. Это — путь к каталогу, как показано в следующем примере:
ORACLE_HOME: Среда, в которой работают продукты Oracle. Не обязательна перед установкой, если установлена ORACLE_BASE. OUI может использовать ORACLE_BASE, чтобы определить рекомендуемый ORACLE_HOME для Вашей установки. Наличие этой переменной окружения облегчает обслуживание и управление программным обеспечением Oracle. Это — путь к каталогу, как показано в следующем примере:
ORACLE_SID: системный идентификатор для экземпляра Oracle, такого как orcl для базы данных или +ASM для экземпляра ASM. Не требуется перед установкой, но полезен впоследствии для простоты взаимодействия с определенным экземпляром.
NLS_LANG: Дополнительная переменная окружения, которая управляет языком, территорией, и клиентскими настройками набора символов как в следующем примере:
Для получения дополнительной информации о допустимых языках, территориях, наборы символов, и поддержка языка, см. Oracle Database Globalization Support Guide.
Переменные среды oracle для windows
This appendix describes variables that can be specified in the ORAENV file, the structured system variable SYSPOSIX , or the POSIX shell. Oracle parameters, such as ORACLE_SID and NLS_LANG , may be specified in the ORAENV file, system variable SYSPOSIX , or POSIX shell. If you use a ORAENV file, then you must follow the ORAENV rules for specifying environment variables as described in the following sections. If you use the system variable SYSPOSIX , then you must follow the rules to set a SDF-P variable. For example, if the variable name contains an underscore ‘_’ , then you must use a hyphen ‘-‘ instead of the underscore. In the POSIX shell, you must follow the UNIX rules to set and export the environment variables.
This appendix contains the following topics:
The following table describes the variables that are categorized into three classes:
These variables are for database administration purposes. Most DBA variables are evaluated only during the database startup.
These variables can be specified by ordinary users as well as by the DBA. When these variables are specified in a particular user’s ORAENV file, they modify that user’s environment only.
These variables apply to Oracle Net Services components.
The class (or classes) to which a variable belongs is noted in the variable descriptions in this appendix.
Any DBA or NET variables specified in an ordinary user’s ORAENV file are ignored.
B.1 ORAENV Rules
Consider the following general rules when you create or modify ORAENV files:
All lines which begin with a slash or asterisk (/ or *) are ignored.
All variable names must be written in uppercase.
Spaces must not be included immediately before and after the equals sign (=).
Do not enclose values in quotation marks unless you want the quotation marks to be part of the value.
Errors in variable names are not recognized. This means that the value of any variable whose name is typed incorrectly is not modified.
There is only limited checking of variable assignments. An incorrect value may generate an error message, but may also be interpreted as a null value.
When variable assignments refer to other variables, BS2000 command file substitution syntax applies. Substitution takes place when the variable is stored in the local environment.
assigns the value $ORACINST . RDBMS . ADMIN to the variable SQLPATH . If ORAUID is changed, then SQLPATH automatically reflects the new value.
The sequence of items in the ORAENV file is not generally significant. If an item occurs more than once, then the first occurrence is used.
If a value is not specified for a variable, then the default value is used, if it exists.
B.2 Built-in Variables
The following variables are always defined, and may be referenced in other variable assignments:
Установка Oracle 10g XE в Windows 7 x64
Данная статья написана отнюдь не специалистом по базам данных 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
rem Корневой путь установки базы
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
rem Путь к бинарникам и настройкам
setx /m ORACLE_HOME «C:\oraclexe\app\oracle\product\10.2.0\server»
rem Путь, куда будет писать Oracle MTS. Остальные параметры ORAMTS — по умолчанию
setx /m ORAMTS_CP_TRACE_DIR «C:\oraclexe\app\oracle\product\10.2.0\server\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. Запускаем инсталлятор. Установка вполне тривиальна — в отличие от 10g Standart и выше, тут используется инсталлятор InstallShield, который уж совсем прост. Путь установки указываем тот, который мы указали в переменной ORACLE_BASE, то есть по умолчанию это будет C:\oraclexe. После установки переходим в браузере на 127.0.0.1:8080/apex/ и пытаемся зайти под логином SYS и паролем, которым мы указали при инсталляции.
У меня всё заработало. И у вас должно. Далее создаём пользователя БД, накатываем скрипты, импортируем схему, и так далее. Единственное, надо будет разрешить TCP соединение порт 1521 в системном или стороннем брандмауэре.
Установка клиента 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. На нахождение верного пути я убил достаточно много нервов и времени, поэтому, надеюсь, для кого-то эта статья окажется весьма полезной.
Жду справедливой критики.
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Переменные среды oracle для windows
ORACLE_BASE=/u01; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/11.2; export ORACLE_HOME
OH=/u01/app/oracle/product/11.2; export OH
ORACLE_SID=PFDB; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data ; export ORA_NLS33
NLS_LANG=american_america.utf8 ; export NLS_LANG
TZ=Europe/Moscow ;export TZ
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
[oracle@pfsrv1 bin]$ lsnrctl start
bash: lsnrctl: command not found
� ���� ���, �� ��������:
[oracle@pfsrv1 app]$ cd /u01/app/oracle/product/11.2/bin
[oracle@pfsrv1 bin]$ ./lsnrctl
LSNRCTL> start
Starting /u01/app/oracle/product/11.2/bin/tnslsnr: please wait.
TNSLSNR for Linux: Version 11.2.0.4.0 — Production
System parameter file is /u01/app/oracle/product/11.2/network/admin/listener.ora
Log messages written to /u01/diag/tnslsnr/pfsrv1/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=pfsrv1)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 — Production
Start Date 29-APR-2014 15:08:25
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2/network/admin/listener.ora
Listener Log File /u01/diag/tnslsnr/pfsrv1/listener/alert/log.xml
Listening Endpoints Summary.
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=pfsrv1)(PORT=1521)))
The listener supports no services
The command completed successfully
��� ��� ����������, � ��� ����, �������� ���������� ��������� ���������. �������!
| |
MazoHist Guest | PATH ���������. env|grep PATH ��� �������? |
29 ��� 14, 16:45����[15953560] �������� | ���������� �������� ���������� |
| |||
erkatrina Member ������: |
]$ | ||
29 ��� 14, 17:03����[15953729] �������� | ���������� �������� ���������� |
| |||||
Vadim Lejnin Member ������: |
�� � ��� � PATH ORACLE_HOME p.s. | ||||
29 ��� 14, 19:23����[15954647] �������� | ���������� �������� ���������� |
| |
��������� ����� Guest | � bash ��� ������� ��������� �� �������� �������� ���� ��������� ./ � ����������� ������ ���� ������������ ������ ��������� � �������� BIN, ������ � /u01/app/oracle/product/11.2/bin, ��� � ����� lsnrctl |
30 ��� 14, 10:47����[15956700] �������� | ���������� �������� ���������� |
| |
erkatrina Member ������: | Vadim Lejnin, ]$ env ]$ lsnrctl status � ����� ������� �� �������. |
30 ��� 14, 11:06����[15956831] �������� | ���������� �������� ���������� |
| |
123�� Member ������: | erkatrina, ��� ��� ����������� ������ 15954647 |
30 ��� 14, 11:10����[15956854] �������� | ���������� �������� ���������� |
| |||
erkatrina Member ������: |
|