こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

RSHコマンドでのsqlplusの起動

RSHコマンドを使用し、リモートサーバのsqlplusを操作したいと考えています。

検証環境として、ローカルサーバ(RedHat Linux7.2)、リモートサーバ(RedHat Linux6.2)で検証を行い、うまくいったので本番環境としてローカルサーバ(RedHat Linux7.2)、リモートサーバ(Solaris8)で検証を行ったところうまく動いてくれません。

rsh -l oracle リモートサーバ名 sqlplus
上記のコマンドを打つとsqlplus not foundと帰ってきます。検証環境ではちゃんとOracleのプロンプトが帰って来てたのですが。一応自分ではLinuxとSolarisのRSHの違いかなと思いつつ・・・。かといってOracleのほうの設定も間違っているのかと思い質問させて頂いています。

sqlplus not foundとでてくるのでフルパスで書けば大丈夫なのかと思い
rsh -l oracle リモートサーバ名 $ORACLE_HOME/bin/sqlplus
と打つと以下のエラーが帰ってきます。

message file sql<lang>.msb not found
Error6 initializing SQL*Plus

どなたか、同じような経験、解決策などご存知の方がいらっしゃいましたらお知恵をお借りできればと思います。

よろしくお願いします。

投稿日時 - 2002-07-22 19:13:00

QNo.319943

暇なときに回答ください

質問者が選んだベストアンサー

では、以下のコマンドを打ってみて、リモートサーバの方の環境変数を確かめてみては?

% rsh -l oracle リモートサーバ名 env

マニュアルをきちんと読まないと分からないけど、$HOME/.profile が
処理されていないのかもしれませんね。

.login や /etc/profile をいじる必要があるのかも。

投稿日時 - 2002-07-22 20:22:33

お礼

まさにその通りでした。ありがとうございます。

Linuxではrshを行った際、リモートサーバ側の.profileを読み込んでくれていたのですが、Solarisでは読み込んでくれてなかったみたいです。

リモートサーバ側にシェルスクリプトを置き、そこにexportコマンドを使い環境変数を設定すると実行できるようになりました。

% rsh -l oracle リモートサーバ名 シェルスクリプト

----シェルスクリプト----

ORACLE_HOME=/u01/app/oracle
export ORACLE_HOME

PATH=/u01/app/oracle/bin
export PATH

sqlplus

----シェルスクリプト----

ありがとうございました。

投稿日時 - 2002-07-24 14:45:40

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

まずは、本番環境のリモートサーバに直接 oracle でログインして、sqlplus を
実行してみましょう。

多分、環境変数がきちんと定義されていなくて sqlplus が not found になるはず
なので、.cshrc や .profile をログインシェルに応じて、きちんと設定しましょう。


> rsh -l oracle リモートサーバ名 $ORACLE_HOME/bin/sqlplus

こりゃあ無茶です。ローカルの環境変数を使ったって、他に必要な定義があれば
駄目なわけだし。たまたまローカルサーバの方にも、環境変数 ORACLE_HOME が
定義されていて、同じディレクトリにインストールしているから、中途半端に
動いているように見えますが。

投稿日時 - 2002-07-22 19:22:55

補足

.profileを設定していて、今までリモートサーバ側で作業を行っていたので環境変数は問題ないはずです。sqlplusで作業を行っていました。

なにか他にお気づきの点などありましたら教えていただければと思います。

投稿日時 - 2002-07-22 19:54:22

あなたにオススメの質問