Как правильно установить переменную ORACLE_HOME в Ubuntu 9.x? - PullRequest
45 голосов
/ 01 мая 2010

У меня та же проблема, что и здесь: Как восстановить или изменить пароль Oracle sysdba , хотя я не потерял пароль, я сначала вводил его дважды в сценарии настройки, а затем, когда зашел в логин (localhost: 8080 / apex, пароль не принят.

У меня ничего нет в базе данных, я просто хочу установить и использовать Oracle-XE. Я попытался apt-get удалить его дважды и переустановить, но если я попытаюсь запустить /etc/init.d/oracle-xe configure снова и получу «Oracle Database 10g Express Edition уже настроен», несмотря на то, что второй раз удаляю все папки, которые я могу найти для Oracle XE.

Я попытался запустить sqlplus "/ as sysdba", но все, что я получил, это:

Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

Я попытался установить переменную с помощью export. (также пытался set).

Попробовал: export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/sqlplus и все подкаталоги этого. Одна и та же ошибка каждый раз.

Что должен быть установлен ORACLE_HOME? Единственная ссылка, которую я видел, это либо просто сказать общее, либо сказать выше, вплоть до номера версии, затем "/ db_1". Я не Thave DB_1.

Дайте мне знать, если вам нужны какие-либо разъяснения. Я не понимаю, что я сделал не так в этом процессе.

Ответы [ 9 ]

79 голосов
/ 01 мая 2010

Обычно проблемы с файлом msb not found являются результатом проблемы настройки среды, но в вашем случае я немного подозрительно отношусь к установке (я никогда не использовал метод apt-get + configure).

Чтобы проверить работоспособность установки:

  • ORACLE_HOME должен быть указан в качестве пути к каталогу на один уровень выше каталога bin, в котором находится исполняемый файл sqlplus.
  • Там должно быть несколько .msb файлов под $ORACLE_HOME/sqlplus/mesg
  • Должно быть сотни (не уверенных в числе с XE) файлов .msb под $ORACLE_HOME (попробуйте find $ORACLE_HOME -name "*.msb" -print показать их)
  • Ваш PATH должен включать $ORACLE_HOME/bin.
  • Все файлы в ORACLE_HOME должны принадлежать user:oracle group:dba.
21 голосов
/ 02 мая 2010

У меня была такая же проблема.В моей домашней папке у меня есть скрипт с именем sqlplus.sh, который позаботится об этом для меня, содержащий:

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog
13 голосов
/ 07 января 2014

Была такая же проблема,

Все, что мне нужно было сделать, это установить переменную оболочки Oracle:

. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

Sorterd!

5 голосов
/ 01 ноября 2012

Вам также нужно установить LANG, найти файлы с именем 'sp1 * .msb' и установить, например, export LANG = us, если вы найдете имя файла sp1us.msb. Сообщение об ошибке может быть лучше:)

1 голос
/ 26 июня 2015

После установки сервера weblogic и форм на компьютере с Linux мы столкнулись с некоторыми проблемами при инициализации sqlplus и tnsping. Мы изменили bash_profile таким образом, чтобы формы_дома действовали как дом оракула. Работает нормально, обе команды (sqlplus и tnsping) являются исполняемыми для пользователя oracle

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export JAVA_HOME=/mnt/software/java/jdk1.7.0_71
export ORACLE_HOME=/oracle/Middleware/Oracle_FRHome1
export PATH=$PATH:$JAVA_HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=/oracle/Middleware/Oracle_FRHome1/lib
export FORMS_PATH=$FORMS_PATH:/oracle/Middleware/Oracle_FRHome1/forms:/oracle/Middleware/asinst_1/FormsComponent/forms:/appl/myapp:/home/oracle/myapp
1 голос
/ 28 июня 2014

Это правильный способ устранить эту ошибку.

export ORACLE_HOME = / u01 / app / oracle / product / 10.2.0 / db_1 sqlplus / as sysdba

1 голос
/ 16 апреля 2013

Однажды я тоже получил такую ​​же ошибку.

т.е:

C:\oracle\product\10.2.0\db_2>SQLPLUS SYS AS SYSDBA
Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

Эта ошибка возникает из-за того, что домашний путь указан неправильно. Чтобы исправить это, если вы используете Windows, запустите следующий запрос:

C:\oracle\product\10.2.0\db_2>SET ORACLE_HOME=C:\oracle\product\10.2.0\db_2
C:\oracle\product\10.2.0\db_2>SQLPLUS SYS AS SYSDBA

SQL*Plus: Release 10.2.0.3.0 - Production on Tue Apr 16 13:17:42 2013

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Или, если вы используете Linux, замените set на export для вышеуказанной команды, например, так:

C:\oracle\product\10.2.0\db_2>EXPORT ORACLE_HOME='C:\oracle\product\10.2.0\db_2'
C:\oracle\product\10.2.0\db_2>SQLPLUS SYS AS SYSDBA

SQL*Plus: Release 10.2.0.3.0 - Production on Tue Apr 16 13:17:42 2013

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
1 голос
/ 01 мая 2010

ORACLE_HOME должен находиться на верхнем уровне структуры каталогов Oracle для установки базы данных. С этого момента Oracle знает, как найти все другие необходимые ему файлы. Например, сообщение об ошибке, которое вы получаете, заключается в том, что Oracle не может найти файлы сообщений для сообщения об ошибках (они должны находиться в различных каталогах сообщений под домашней страницей оракула. ​​Вместо указанного выше значения я бы попробовал

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0
0 голосов
/ 12 апреля 2016
set <ORACLE_HOME> path variable

пример

path ORACLE_HOME

значение C: \ oraclexe \ app \ oracle \ product \ 10.2.0 \ server

enter image description here

...