либо. Поэтому мы и смонтировали директорию в директорию. Теперь для Вашей системы в директории /m01 отдельная файловая система.
Потом, когда Вы обзаведетесь дополнительным диском и создадите на нем отдельную файловую систему, будет достаточно соответствующе отредактировать /etc/fstab, смонтировать эту файловую систему в /m01 и перенести содержимое /compat/linux/m01 в /m01, а директорию /compat/linux/m01 удалить. Возможно, при этом Вы первый раз испытаете преимущество OFA. ;-)
18. Создаем домашнюю директорию для пользователя oracle
Создаем домашнюю директорию для пользователя oracle. # mkdir /usr/oracle
# cd /usr/oracle
В любом текстовом редакторе наберите БЕЗ ОШИБОК текстовый файл с содержимым приведенным ниже, и сохраните этот файл как /usr/oracle/.profile
ORACLE_BASE=/m01/app
ORACLE_HOME=$ORACLE_BASE/product/oracle/8.1.7
ORACLE_DOC=$ORACLE_HOME/doc
ORACLE_SID=OSID
export ORACLE_HOME ORACLE_BASE ORACLE_SID ORACLE_DOC
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
#NLS_LANG=AMERICAN_CIS.UTF8
#NLS_LANG=AMERICAN_CIS.CL8ISO8859P5
#NLS_LANG=AMERICAN_CIS.CL8MACCYRILLIC
#NLS_LANG=AMERICAN_CIS.CL8MSWIN1251
#NLS_LANG=AMERICAN_CIS.CL8KOI8R
ORA_NLS32=$ORACLE_HOME/ocommon/nls/admin/data
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/precomp/lib
export NLS_LANG ORA_NLS32 ORA_NLS33 LD_LIBRARY_PATH
JRE_LOCATION=/usr/local/jre118_v3
PERL5LIB=$ORACLE_HOME/Apache/perl/lib/5.00503
TMPDIR=/var/tmp
PATH=$PATH:$ORACLE_HOME/bin
export JRE_LOCATION PERL5LIB TMPDIR PATH
umask 022
unset LANG
unset LC_ALL
Если Вы собираетесь использовать систему управления реляционной базой данных (СУРБД) Oracle8i на территории России, то трудность в понимании этого файла, видимо, вызовет только значение $NLS_LANG. Уж в чем "повезло" русским, так это с количеством различных наборов символов. :-) Поэтому маленькое разъяснение не помешает.
Переменная окружения $NLS_LANG принимает значения LANGUAGE_TERRITORY.CHARACTERSET, где LANGUAGE - указывает на язык сообщений; TERRITORY - указывает, как нужно представлять даты, разделители и т. п., а также определяет сортировку по умолчанию; CHARACTERSET - указывает язык, в котором работает клиент и желает видеть и вводить данные.
Для того чтобы СУРБД Oracle8i выдавала сообщения на русском языке можно определить значение LANGUAGE равным RUSSIAN.
Значение TERRITORY для стран СНГ равно CIS. Сортировку по умолчанию можно переопределить, с помощью переменной окружения $NLS_SORT.
Значение CHARACTERSET для русских кодировок может принимать значения: CL8ISO8859P5, RU8PC866, RU8BESTA, RU8PC855, CL8MACCYRILLIC, CL8MACCYRILLICS, CL8MSWIN1251, CL8KOI8R, UTF8.
Примечание: В случае если Вы собираетесь использовать Oracle Internet Directory (OID), то Ваш выбор должен обязательно остановиться на UTF8.
19. Создаем файл /usr/oracle/root
В текстовом редакторе наберите текст, приведенный ниже, и сохраните его как файл /usr/oracle/root.
#!/bin/sh
# Переходим в директорию $ORACLE_HOME и делаем копию файла root.sh
cd $ORACLE_HOME
cp root.sh root.sh.orig
# Вносим исправления в файл root.sh
sed -e ''''s|/bin/chown|/usr/sbin/chown|g'''' root.sh.orig \
| sed -e ''''s|/usr/bin/test|/bin/test|g'''' \
| sed -e ''''s|/bin/awk|/usr/bin/awk|g'''' \
| sed -e ''''s|/bin/grep|/usr/bin/grep|g'''' \
| sed -e ''''s|/usr/local/bin/sed|/usr/bin/sed|g'''' \
| sed -e ''''s|RMF=/bin/rm -f|RMF="/bin/rm -f"|g'''' \
| sed -e "s|) ''''{print \$1}\`|) ''''{print \$1}''''\`|g" > root.sh
# Удаляем файл root.sh.orig
rm root.sh.orig
# Переходим в $ORACLE_HOME/bin и вносим изменения в netasst и в netca
cd $ORACLE_HOME/bin
cp -p netasst netasst.orig
cp -p netca netca.orig
sed -e ''''s|\$JRE -classpath|\$JRE -native -classpath|g'''' netasst.orig > netasst
sed -e ''''s|\$JRE -classpath|\$JRE -native -classpath|g'''' netca.orig > netca
# Вносим исправления во все файлы сообщений СУРБД Oracle8i отвечающих за сообщения на русском языке
echo ''''echo $1
cp -p $1 $1.orig
printf "\003\014\043\011\023\017\043\043\040\044\020\040\000\000\000\000" > $1
dd if=$1.orig of=$1 bs=16 seek=1 skip=1'''' > /tmp/$$.ru.msb.sh
find $ORACLE_HOME -follow -name "*ru.msb" -exec /bin/sh /tmp/$$.ru.msb.sh {} ";"
rm /tmp/$$.ru.msb.sh
Этот файл, как и пакет procps-2.0.4-2.i386.rpm, очень сильно повлияет на установщик Oracle8i, чтобы обеспечить его нормальную работу.
Во время установки Oracle Universal Installer будет просить Вас запустить файл $ORACLE_HOME/root.sh, который содержит неправильные пути к командам с точки зрения FreeBSD, и две синтаксические ошибки с точки зрения командного интерпретатора sh. Вот перед запуском $ORACLE_HOME/root.sh, Вы и запустите /usr/oinstall/root, который исправит все эти ошибки.
Не путайте скрипт $ORACLE_HOME/orainstRoot.sh, который Вам тоже еще предстоит запускать, и скрипт $ORACLE_HOME/root.sh, это два разных файла!
Изменения в netasst и в netca, которые также вносит /usr/oracle/root, делаются для того, чтобы обеспечить нормальную работу Net8 Configuration Assistant на FreeBSD. Скрипты netasst и netca во время установки, запуская JRE без ключа -native, приводят к неверной работе Net8 Configuration Assistant, что влечет за собой зависание установщика Oracle8i. Следовательно, необходимо позаботиться, чтобы этого не произошло, что и сделает /usr/oinstall/root.
В файлах с расширением *.msb сохранены сообщения от различных компонентов СУРБД Oracle8i, которые будут выдаваться во время работы с СУРБД. Изменения в файлы *ru.msb вносятся для того, чтобы сообщения на русском языке, выдаваемые СУРБД Oracle8i во время ее работы, правильно перекодировались на стороне клиента. То есть, если Вы решите назначить переменную окружения $NLS_LANG c LANGUAGE равной RUSSIAN, то СУРБД будет разговаривать на русском языке, но без изменения файлов *ru.msb, эти сообщения будут в неверной кодировке. СУРБД Oracle8i может разговаривать на самых различных языках, достигается это за счет того, что СУРБД в зависимости от значения LANGUAGE в переменной окружения $NLS_LANG использует для сообщений те msb-файлы, которые предназначены для этого языка. Если на какой-то компонент СУРБД Oracle8i отсутствуют msb-файлы с требуемым языком, то СУРБД игнорирует значение LANGUAGE в переменной окружения $NLS_LANG и использует для выдачи сообщений msb-файлы для английского языка. Первые 16 байт каждого msb-файла несут информацию о кодировке в которой сохранены сообщения в самом msb-файле, и файлы *ru.msb отвечающие за сообщения на русском языке, здесь не исключение. Да вот беда, набор символов в России не один, и даже не два... :-) И вот с русскими msb-файлами, приключилась неприятная история в недрах корпорации Oracle. В файлах, *ru.msb первые 16 байт, должны иметь следующую последовательность:
-
для CP1251
03 0C 23 0D 13 17 09 0E 1C 1D 20 1C 00 00 00 00
-
для ISO8859-5
03 0C 23 09 13 0F 23 23 20 24 10 20 00 00 00 00
-
для CP866
12 15 23 10 03 23 21 21 00 00 00 00 00 00 00 00
Сообщения перекодируются из кодировки msb-файла в кодировку, указанную в части CHARACTERSET, переменной окружения $NLS_LANG, и если заголовок msb-файла неверный, то вместо нужного текста идет "китайская грамота". Именно это и произошло с файлами *ru.msb, сообщения в этих файлах сохранены в кодировке ISO8859-5, а первые 16 байт говорят, что сообщения в CP1251 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页 [系统软件]EXP-00008: ORACLE error 904 encountered的解决方… [常用软件]PB7 连接 Oracle 的配置方法 [Web开发]oracle Export and Import 简介 [Web开发]ADO访问Oracle结果集的心得 [JAVA开发]JDBC+Hibernate将Blob数据写入Oracle [JAVA开发]J2EE应用中与Oracle数据库的连接 [JAVA开发]Oracle Application Serve_ [其他]HP-UXrx2600B.11.22Uia64安装oracle9i9.2foria64手… [其他]在RedhatEnterpriseserver3上安装oracle9iR2的注意… [其他]PROC++批量导入导出ORACLE数据库表
|