web-dev-qa-db-ja.com

SQLPlusの起動時にメッセージファイルが見つかりません

Oracle XE 11.2をFedora 18にインストールしましたが、SQLPlusを起動できません。次のエラーで終了します。

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

すべての環境変数が適切に設定されている(インストールガイドからコピー)

# ~/.zshrc
Oracle_HOME=/u01/app/Oracle/product/11.2.0/xe # It is in fact installed there
Oracle_SID=XE
NLS_LANG=`$Oracle_HOME/bin/nls_lang.sh`
PATH=$Oracle_HOME/bin:$PATH

NLS_LANGAMERICAN_AMERICA.AL32UTF8。私が理解している限り、Oracleはシステム言語に関連する変数を無視しますが、ここではとにかくそれらを示します。

LC_CTYPE=en_US.UTF-8
LANG=en_US.UTF-8

助言がありますか?

5
synapse

このエラーは通常、権限の問題により、sqlplusを別のユーザー(Oracleソフトウェアをインストールしたユーザー以外)として実行している場合に発生します。

Oracle Note:356850.1を確認してください

2
BigB

SQLPLUSフォルダーの内容をInstant_Client_12_1フォルダーにコピーすることで、この問題を解決できました。その後、SQLPlusを起動することができました。

2
user50802

追加してみてください:

エクスポートLD_LIBRARY_PATH ==/u01/app/Oracle/product/11.2.0/xe/lib

それ以外の場合は、上記のlibディレクトリにアクセスできるかどうかを確認してください。

1
Gandolf989

インスタントクライアントをディレクトリに展開したところ、LD_LIBRARY_PATH(インスタントクライアントのlibディレクトリを含む)とOracle_HOMEを更新した後、同じ問題に直面していました。これでPATH(Instant Clientのbinディレクトリを含む)が更新され、問題が解決しました。

1
Pascal

また、Oracleのドキュメントに従うと、かなりの面倒な問題が解決する場合があります。

ODBCインストールスクリプトを実行する前に、Basic Instant Clientがデプロイされていることを確認してください。

ODBCインスタントクライアントパッケージを解凍してから、ドライバーマネージャーがインストールされたディレクトリをコマンドライン引数としてodbc_update_ini.shスクリプトを実行します(完全な構文については、コマンドラインなしで「odbc_update_ini.sh」を実行してください)引数)。たとえば、ドライバマネージャが/ home/DriverManagerディレクトリにインストールされている場合

                                $ odbc_update_ini.sh  /home/DriverManger

$ HOME/.odbc.iniおよび/etc/odbcinst.iniにDSN名をOracleODBC-11gとしてDSNエントリを追加します。

インストール後、環境を次のように構成する必要があります。ディレクトリをLD_LIBRARY_PATHシステム環境変数に追加します。そうでない場合、ODBCマネージャはドライバをロード/検索できません。

OCIの.oraファイルディレクトリを指すようにTNS_ADMIN環境変数を定義します。

OCIがTNS名を解決するには、これを設定する必要があります。 TNS_ADMINが設定されていない場合、OCIはオペレーティングシステムに依存するディレクトリのセットを調べて、tnsnames.oraを見つけます。この検索パスには、ディレクトリ$ Oracle_HOME/network/admin/tnsnames.oraの検索が含まれます。これが、Oracle Instant ClientのOracle_HOME環境変数を設定する唯一の理由です。インスタントクライアントアプリケーションの実行時にOracle_HOMEが設定されている場合は、インスタントクライアントが存在するディレクトリ(この場合はC:\ Oracle\instantclient_11_2)に設定する必要があります。 Oracle_HOMEが設定されていない場合は、現在のディレクトリでtnsnames.oraを探します。

ロケールに必要なOracleグローバリゼーション変数を設定します。詳細は、 『Oracle Database 11gグローバリゼーション・サポート・ガイド』を参照してください。たとえば、LinuxでNLS_LANGを設定する場合:setenv NLS_LANG JAPANESE_JAPAN.JA16EUC

1
Pascal