35
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LinuxでシェルスクリプトからOracleに接続する方法

Last updated at Posted at 2014-03-08

シェルスクリプトからOracleに接続する方法をサンプルに纏めました。
Oracleとの接続にはsqlplusを利用します。
DB切断時にエラーが発生していないか確認する方法も纏めておきました。

connectsqlplus.sh
#!/bin/sh
. /home/batch_user/.bashrc

# 終了コード:エラー
RESULT_CD_ERR=255

# ログファイル
CURRENT=$(cd $(dirname $0) && pwd)
DB_SYNC_LOG=$CURRENT/log/connectsqlplus.log

# DB接続
CONNECT_DB="connect $ORACLE_USER/$ORACLE_PASS@$DB_HOST:$DB_PORT/$DB_NAME"

#  コミット文
COMMIT_CMD='commit;'

#  SQLファイル実行
EXEC_SQLFILE="@$SQLFILE"

# DB接続 SQLPLUS ここから
sqlplus -s /nolog <<EOF >> $DB_SYNC_LOG

--エラー時の例外処理
whenever oserror exit $RESULT_CD_ERR
whenever sqlerror exit $RESULT_CD_ERR

-- DB接続
$CONNECT_DB
$EXEC_SQLFILE
$COMMIT_CMD
quit
EOF
# DB切断 SQLPLUS ここまで

# DBエラーチェック
if test $? = $RESULT_CD_ERR
then
	echo "`date '+%Y/%m/%d %T %N'` FATAL DB接続時にエラー発生:$RESULT_CD_ERR]"
	echo "`date '+%Y/%m/%d %T %N'` FATAL DB接続時にエラー発生:$RESULT_CD_ERR]" >> $DB_SYNC_LOG
	echo '------------------------------------------------------------------' >> $DB_SYNC_LOG
	exit $RESULT_CD_ERR
fi

35
37
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?