アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

よろしくお願いします。

A 回答 (2件)

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


実行してみましょう。

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


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

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

この回答への補足

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

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

補足日時:2002/07/22 19:54
    • good
    • 0

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



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

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

.login や /etc/profile をいじる必要があるのかも。
    • good
    • 0
この回答へのお礼

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

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!