AWSサービスに取り組んでいます。 ec2 ( centos )
インスタンスがあります。このcentosマシンでSQL * Plusクライアントを構成する必要があります。
接続したいサーバーが遠隔地にあります。サーバーのバージョンはOracle-se(11.2.0.2)
です
CentOSマシンにクライアントをインストールしてください。
前もって感謝します。
Oracle Linux x86-64インスタントクライアント ダウンロードページに移動
一致するクライアントをダウンロードする
Oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
Oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
インストール
rpm -ivh Oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
rpm -ivh Oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
~/.bash_profile
で環境変数を設定します
Oracle_HOME=/usr/lib/Oracle/11.2/client64
PATH=$Oracle_HOME/bin:$PATH
LD_LIBRARY_PATH=$Oracle_HOME/lib
export Oracle_HOME
export LD_LIBRARY_PATH
export PATH
.bash_profile
(jbassが推奨)またはユーザーをログアウトして再度ログインするだけで、source ~/.bash_profile
をリロードします。
これで、SQL * Plusを使用してサーバーに接続する準備が整いました。入力:
sqlplus "username/pass@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=192.168.2.1)(PORT=1521))(CONNECT_DATA=(SID=YOURSID)))"
@ChamaraKeragalaによる解決策は優れていますが、ログアウト/ログインする必要はありません。代わりに次を入力します。
source ~/.bash_profile
まだ次のエラーが発生するすべての人に対して:
sqlplusコマンドが見つかりません
元の投稿は環境変数のセットを参照しており、最も重要なのはOracle_HOME
。これは、Oracleバイナリがインストールされる親ディレクトリです。
ダウンロードしたOracleのバージョンに応じて、Oracle_HOME
それに応じて。たとえば、元の質問のOracle_HOME
は次のように設定されました。
Oracle_HOME=/usr/lib/Oracle/11.2/client64
Oracleのバージョンはたまたま12.1なので、Oracle_HOME
に設定されています:
Oracle_HOME=/usr/lib/Oracle/12.1/client64
ダウンロードしたバージョンが不明な場合は、次のことができます。
cd /usr/lib/Oracle
インストール後、バージョンを見つけます。$ subjectに関する優れたブログ投稿[1]があります。最小限の労力でUbuntuでOracleクライアントをセットアップします。以下は、クライアントをステップアップする方法の主なステップです。私の場合、エイリアンパッケージを使用してrpmファイルをインストールしていました。
エイリアンと関連パッケージをインストールする
Sudo apt-get install alien
Alienを使用してOracleクライアントパッケージをインストールします。
Sudo alien -i Oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
Sudo alien -i Oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
私の意見では、これらの2つのステップは、Oracleクライアントrpmをubuntuシステムにインストールする最も簡単な方法です。 (エクスポートのOracle固有の変数については、上記の回答で既に明確に説明されているため言及しません)
それが誰かを助けることを願っています。
[1] http://pumuduruhunage.blogspot.com/2016/04/setup-Oracle-sql-plus-client-on-aws.html
プロキシを使用している人は、bashプロファイルに追加の行を追加する必要があります。少なくともこれが私にとってうまくいった理由です。私はcntlmを使用しています。
エクスポートno_proxy =