Comment configurer correctement la variable ORACLE HOME sur Ubuntu 9.x?
j'ai le même problème que celui indiqué ici: comment récupérer ou changer le mot de passe Oracle sysdba bien que je n'ai pas perdu le mot de passe, je l'ai entré deux fois dans le script configure à l'origine, puis quand je suis allé à login (localhost:8080/apex, mot de passe pas accepté.
Je n'ai rien dans la base de données, je veux juste installer et utiliser Oracle-XE. J'ai essayé apt-get de l'enlever deux fois et de le réinstaller, mais si j'essaie d'exécuter /etc/init.d/oracle-xe
configurer à nouveau et je reçois "Oracle Database 10g Express Edition est déjà configuré" malgré la deuxième fois la suppression de tous les dossiers que je pourrais trouver pour Oracle XE.
j'ai essayé d'exécuter sqlplus "/ comme sysdba "mais tout ce que je reçois est:
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
j'ai essayé de régler la variable via export
. (également essayé set
).
essayé: export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/sqlplus
et tous les sous-répertoires. Même erreur à chaque fois.
Quel est le paramètre ORACLE_HOME? La seule référence que j'ai vu soit juste dire général ou dire le ci-dessus jusqu'au numéro de version alors "/db_1". Je n'ai pas de thave de db_1.
faites-moi savoir si vous avez besoin d'une clarification. Je ne comprends pas ce que j'ai fait de mal dans ce processus.
9 réponses
habituellement, les problèmes du fichier msb non trouvé sont le résultat d'un problème de configuration de l'environnement, mais dans votre cas je me méfie un peu de l'installation (Je n'ai jamais utilisé la méthode apt-get + configure).
pour vérifier la santé de l'installation:
-
ORACLE_HOME
doit être défini à un chemin de répertoire un niveau au-dessus du répertoirebin
oùsqlplus
exécutable est trouvé. - Il y certains fichiers
.msb
sous$ORACLE_HOME/sqlplus/mesg
- il devrait y avoir des centaines (pas sûr du nombre avec XE) de fichiers
.msb
sous$ORACLE_HOME
(essayezfind $ORACLE_HOME -name "*.msb" -print
pour les montrer) - votre chemin doit inclure
$ORACLE_HOME/bin
. - tous les fichiers sous
ORACLE_HOME
doivent être détenus paruser:oracle group:dba
.
j'ai eu le même problème. Dans mon dossier j'ai un script nommé sqlplus.sh qui prend soin de cela pour moi, contenant:
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
avait le même problème,
Tout ce que j'avais à faire pour définir la variable shell oracle:
. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
Sorterd!
vous devez définir LANG aussi, rechercher des fichiers nommés 'sp1*.msb', et définissez par exemple exporter LANG = us si vous trouvez un nom de fichier sp1us.msb. Le message d'erreur pourrait être mieux :)
ORACLE_HOME doit être au niveau supérieur de la structure de répertoire Oracle pour l'installation de la base de données. À partir de ce moment, Oracle sait comment trouver tous les autres fichiers dont il a besoin. Par exemple, le message d'erreur que vous obtenez est parce Qu'Oracle ne peut pas localiser les fichiers de message pour signaler des erreurs avec (devrait être dans les différents répertoires mesg au-dessous de la maison oracle. Au lieu de la valeur ci-dessus que vous donnez, je voudrais essayer
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0
une fois, j'ai aussi eu ce même type d'erreur.
I. E:
C:\oracle\product.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
Cette erreur se produit car le chemin d'accès n'est pas correctement réglé. Pour corriger cela, si vous utilisez Windows, lancez la requête suivante:
C:\oracle\product.2.0\db_2>SET ORACLE_HOME=C:\oracle\product.2.0\db_2
C:\oracle\product.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.
ou si vous utilisez Linux, remplacez set
par export
pour la commande ci-dessus comme suit:
C:\oracle\product.2.0\db_2>EXPORT ORACLE_HOME='C:\oracle\product.2.0\db_2'
C:\oracle\product.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.
C'est la bonne façon pour effacer cette erreur.
export ORACLE_HOME= / u01 / app/oracle / product / 10.2.0 / db_1 sqlplus / as sysdba
après avoir installé weblogic et forms server sur une machine Linux, nous avons rencontré quelques problèmes pour initialiser sqlplus
et tnsping
. Nous avons modifié le bash_profile
d'une manière telle que le forms_home agit comme la maison oracle. Il fonctionne très bien, les deux commandes
(sqlplus et tnsping) sont exécutables pour l'utilisateur 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
set <ORACLE_HOME> path variable
exemple
path ORACLE_HOME
valeur est C:\oraclexe\app\oracle\product\10.2.0\server