シェル環境はOracleにとって非常に重要であり、cronを使用する場合はほとんどありません。いつものように、これを解決する方法はいくつかあります。
- 完全修飾パスを使用する-少し柔軟性がない
- スクリプトを作成して、独自の実行環境をセットアップします
- スクリプトを呼び出すときに、cronで実行環境をセットアップします。
スクリプトを使用せずに環境をセットアップするためのほぼ標準的な方法は、通常/ usr / local / bin
にあるoraenvスクリプトを使用することです。ORACLE_SID={your_sid}
ORAENV_ASK=NO
type oraenv >/dev/null 2>&1 || PATH=/usr/local/bin:$PATH
. oraenv
SQLPATH=$HOME/sql
export SQLPATH
do your stuff
cron行から:
10 10 * * * $HOME/.profile;$HOME/bin/your_script >$HOME/log/your_script.log 2>&1
これは、.profileがインタラクティブではなく、必要な環境をエクスポートすることを前提としています。