2016-08-04 7 views
1

Oracle DBをホストするUNIXボックスがあります。このDBのテーブルからレコードを毎日削除する必要があります。我々は、これを行うために毎日スクリプトを実行する予定のOracle以外のスケジュールされた仕事を設定しています。Oracle DB内のレコードを削除するUNIXスクリプトを作成

同じようにするために.shスクリプトファイルを作成してもらえますか?私はDBのusername/pwdを持っています。

クエリは次のとおりです。KORNでDELETE FROM AUDIT_LOG WHERE EVENT_DATE <= SYSTIMESTAMP - 1;

+0

なぜOracleの仕事を?シェルスクリプトを使わなくても同じことができます。これはオプションですか? – Aleksej

+0

正直言って、私はOracle Jobを使う方が好きです。しかし、スケジュールされた仕事のための会社の方針は、スクリプトを実行し、それを追跡する別のスケジューラを使用することです。私はOracle関連のスクリプトのスクリプトを書いたことはなく、UNIXスクリプティングに精通していません。 – user1100221

答えて

1

シェルあなたは、以下のようにこれを行うことができます:

#!/bin/ksh 

`sqlplus "<schema_name>/<password>" << EOF 

set feedback off 
set heading off 

DELETE FROM AUDIT_LOG WHERE EVENT_DATE <= SYSTIMESTAMP - 1; 

exit; 
EOF` 
+0

ありがとうございます。私はこれを試してみましょう。 – user1100221

関連する問題