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_LANG
はAMERICAN_AMERICA.AL32UTF8
。私が理解している限り、Oracleはシステム言語に関連する変数を無視しますが、ここではとにかくそれらを示します。
LC_CTYPE=en_US.UTF-8
LANG=en_US.UTF-8
助言がありますか?
このエラーは通常、権限の問題により、sqlplusを別のユーザー(Oracleソフトウェアをインストールしたユーザー以外)として実行している場合に発生します。
Oracle Note:356850.1を確認してください
SQLPLUSフォルダーの内容をInstant_Client_12_1フォルダーにコピーすることで、この問題を解決できました。その後、SQLPlusを起動することができました。
追加してみてください:
エクスポートLD_LIBRARY_PATH ==/u01/app/Oracle/product/11.2.0/xe/lib
それ以外の場合は、上記のlibディレクトリにアクセスできるかどうかを確認してください。
インスタントクライアントをディレクトリに展開したところ、LD_LIBRARY_PATH(インスタントクライアントのlibディレクトリを含む)とOracle_HOMEを更新した後、同じ問題に直面していました。これでPATH(Instant Clientのbinディレクトリを含む)が更新され、問題が解決しました。
また、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