Skip to content

Instantly share code, notes, and snippets.

@yukikim
Created March 18, 2025 01:12
Show Gist options
  • Save yukikim/826bb59f3c27f5dd09bdfd34fcfdf6c9 to your computer and use it in GitHub Desktop.
Save yukikim/826bb59f3c27f5dd09bdfd34fcfdf6c9 to your computer and use it in GitHub Desktop.
ストアドパッケージ実行ファイル

OracleのストアードプロシージャやパッケージをRHEL(Red Hat Enterprise Linux)上で実行するためのシェルスクリプトを作成する手順を以下に示します。この手順では、sqlplus コマンドを使用して Oracle データベースに接続し、ストアードパッケージを実行します。

前提条件

  1. Oracle Databaseがインストールされていること。
  2. sqlplus が使用できること。
  3. Oracleの接続情報(ユーザー名、パスワード、ホスト名、サービス名など)がわかっていること。

スクリプトの作成手順

  1. エディタを開く

    お好きなテキストエディタ(vi, nano, vimなど)を使って新しいシェルスクリプトファイルを作成します。例えば、run_procedure.sh という名前のファイルを作成します。

    vi run_procedure.sh
  2. スクリプトの内容を書く

    以下の内容をスクリプトファイルに記述します。ここでは、YOUR_USERNAMEYOUR_PASSWORDTNS_ALIASYOUR_PROCEDURE を実際の値に置き換えてください。

    #!/bin/bash
    
    # Oracleの接続情報
    DB_USER="YOUR_USERNAME"
    DB_PASSWORD="YOUR_PASSWORD"
    TNS_ALIAS="TNS_ALIAS"  # TNS名またはホスト名/サービス名
    PACKAGE_NAME="YOUR_PROCEDURE"  # 実行したいパッケージ名/プロシージャ名
    
    # SQLスクリプトを定義
    SQL_SCRIPT="BEGIN ${PACKAGE_NAME}; END;"
    
    # sqlplusを使ってストアードプロシージャを実行
    echo "${SQL_SCRIPT}" | sqlplus -s ${DB_USER}/${DB_PASSWORD}@${TNS_ALIAS}
    
    # 実行結果エラーチェック
    if [ $? -eq 0 ]; then
        echo "Procedure executed successfully."
    else
        echo "Error executing procedure."
    fi
  3. スクリプトの実行権限を付与

    スクリプトに実行権限を与えます。

    chmod +x run_procedure.sh
  4. スクリプトを実行

    スクリプトを実行します。

    ./run_procedure.sh

注意点

  • セキュリティを考慮して、パスワードをスクリプトにハードコードするのは避けるべきです。適切な方法でパスワードを管理してください(例えば、環境変数や設定ファイルを使用)。
  • sqlplus が正しくインストールされていること、Oracle DBに接続できることを事前に確認してください。
  • Oracleのエラーメッセージを監視して、問題があれば対処してください。

この手順に従ってシェルスクリプトを作成すれば、Oracleのストアードパッケージを簡単に実行することができるようになります。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment