OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

crontabでsql/plusの起動

  • すぐに回答を!
  • 質問No.126295
  • 閲覧数4283
  • ありがとう数6
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 94% (50/53)

シェルスクリプトで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です。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル4

ベストアンサー率 100% (1/1)

白黒ならず、黒白です。
多分ですが、以下のような環境変数を設定することで、
解決できるかと思われます。
(あくまでも参考にして下さい)
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で起動する場合は、注意していないと環境変数
については忘れがちになる部分です。

この回答でうまくいけばと思います。

でわ
お礼コメント
bunnyLove

お礼率 94% (50/53)

blackwhiteさん、親切な回答ありがとうございます。
お返事が遅くなってしまってすみません。
あれから、色々調べてやってみてblackwhiteさんの言うような
環境変数の設定までなんとかたどりつきました。
勉強不足でお手数おかけしてすみませんでした。
大変勉強になりました。ありがとうございます!
投稿日時 - 2001-10-19 10:04:15
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル10

ベストアンサー率 31% (44/140)

cronで起動した場合、下記の環境変数しか設定されません。 HOME=user's-home-directory LOGNAME=user's-login-id PATH=/usr/bin:/usr/sbin:. SHELL=/usr/bin/sh なので、パスもORACLE_HOMEも不充分となります。 起動するシェルのなかで、環境変数をちゃんと設定しないと駄目で ...続きを読む
cronで起動した場合、下記の環境変数しか設定されません。

HOME=user's-home-directory
LOGNAME=user's-login-id
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh

なので、パスもORACLE_HOMEも不充分となります。
起動するシェルのなかで、環境変数をちゃんと設定しないと駄目です。
補足コメント
bunnyLove

お礼率 94% (50/53)

回答ありがとうございます。少し補足しますと、
起動するシェルは、以下のように記述しております。

#!/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をシェルの中で設定する」という部分が
よくわからないのですが.......
投稿日時 - 2001-08-29 17:51:37
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ