
シェルスクリプトでsql/plusを呼び出し、ストアドプロシジャを
実行しようとしているのですが、crontabを使ったスケジュール起動を
行おうとすると、以下のようなエラーになってしまいます。
Message file sp1<lang>.msb not found
Error 6 initializing SQL*Plus
not foundと言われているファイルに心当たりがありません。
sql/plusがバックグラウンドで使っているファイルなのでしょうか?
ちなみに、crontabを使わずに、コマンドラインから
このシェルスクリプトを実行すると、正常に動作します。
UNIXもシェルスクリプトも超初心者です。
ご存知の方おられましたら、ご教授願います。
OSはRedHat6.2J、Oracle8.1.7です。
No.2ベストアンサー
- 回答日時:
白黒ならず、黒白です。
多分ですが、以下のような環境変数を設定することで、
解決できるかと思われます。
(あくまでも参考にして下さい)
miya777さんの言われるように、cronでは環境変数といわれるものが
ひきつぎされないため、シェルの中で再度設定する必要があります。
setenv ORACLE_BASE /xxxx/oracle
setenv ORACLE_HOME $ORACLE_BASE/product/8.1.5
setenv ORACLE_SID xxxxx
setenv NLS_LANG Japanese_Japan.JA16EUC
setenv ORA_NLS33 $ORACLE_HOME/xxxxx/...
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib
set path=( . /usr/bin /sbin /usr/sbin /usr/ccs/bin /opt/bin /opt/local/bin /usr/ucb /xxxx/.../oracle/product/8.1.5/bin $path )
ちなみに、envコマンドにて上記のsetenvコマンドの内容は
参照できるかと思います。
結構、cronで起動する場合は、注意していないと環境変数
については忘れがちになる部分です。
この回答でうまくいけばと思います。
でわ
blackwhiteさん、親切な回答ありがとうございます。
お返事が遅くなってしまってすみません。
あれから、色々調べてやってみてblackwhiteさんの言うような
環境変数の設定までなんとかたどりつきました。
勉強不足でお手数おかけしてすみませんでした。
大変勉強になりました。ありがとうございます!
No.1
- 回答日時:
cronで起動した場合、下記の環境変数しか設定されません。
HOME=user's-home-directory
LOGNAME=user's-login-id
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh
なので、パスもORACLE_HOMEも不充分となります。
起動するシェルのなかで、環境変数をちゃんと設定しないと駄目です。
この回答への補足
回答ありがとうございます。少し補足しますと、
起動するシェルは、以下のように記述しております。
#!/bin/bash
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/oracle/product/8.1.7/
bin;
export PATH
/home/oracle/product/8.1.7/bin/sqlplus @/home/oracle/product/8.1.7/bin/test
「ORACLE_HOMEをシェルの中で設定する」という部分が
よくわからないのですが.......
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- UNIX・Linux Debianでシェルスクリプトにおいて正規表現の条件文で[[,]]が使えないので困ってます 2 2023/01/20 09:27
- BTOパソコン SSDが認識しないので色々触ってるうちにWindowsが起動しなくなりエラーコード0xc000022 4 2023/05/24 16:15
- その他(ゲーム) SkyrimSEのMod organizer で困っています。誰か助けてください。 1 2022/12/05 01:49
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Solaris マシンのjavaをアップ...
-
cronの実行結果通知メールの配...
-
自動パスワード入力でscpするス...
-
linuxで自動的にコマンドを順次...
-
crontabでrsyncを含むスクリプ...
-
Macのターミナルでコマンドが効...
-
スクリプトのエラー「unexpecte...
-
cronの@rebootでのdateコマンド...
-
シェルスクリプトで$RANDOMの値...
-
apachectl start command not f...
-
Windowsにおいて、同じ名前で異...
-
Ubuntuの『sudo visudo』コマン...
-
CentOSでcronからphp mail送れない
-
シェルスクリプトの1行目に#!を...
-
ロケールをutf8からsjisにする...
-
Cronジョブの終了時刻を簡単に...
-
JAVAをバックグラウンドで実行...
-
Dirコマンドでフォルダ内ファイ...
-
SONYの音楽ソフト「x-アプリ」...
-
ファイル名についている「-」と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
Linux 月を英語表示したい
-
Linuxでシェルスクリプトがフル...
-
Linuxで自作バッチファイルの置...
-
crontabでjavaだけが上手く動い...
-
crontabでsql/plusの起動
-
apachectl start command not f...
-
自動パスワード入力でscpするス...
-
Bシェルで文字列が日付として正...
-
Cシェルのかっこいいプロンプト...
-
sudoでNOPASSWDとしてもパスワ...
-
cronでの処理が途中で中断終了...
-
CygwinでX Windiws Systemが起...
-
シェルスクリプトで標準エラー...
-
cron(javaプログラム)からroot...
-
CentOSでcronからphp mail送れない
-
cronでシェルスクリプト実行時...
-
cron設定で正常に動作しない
おすすめ情報