シェルからsqlplusを使ってOracleのデータを取得する方法、サンプル

シェルスクリプト(shell)を使ってOracleのデータを取得する方法をご紹介します。

LinuxのコマンドでOralceへSQLを発行するには、SQL*Plusを使う方法があります。

 

SQL*Plusの使い方

構文

SQL*Plusの構文と使用例は以下の通りです。

#! /bin/bash

#SQL*PLUSの構文
sqlplus -s USERNAME/PASSWORD@HOST[:PORT][/SERVICE_NAME] <<EOT
  -- ここにSQLを記載
exit;
EOT

実際のサンプルも載せておきます。

#! /bin/bash

#SQL*PLUSのSELEC文のサンプル
sqlplus -s user01/pwd001@localhost:1521/db_01 <<EOT
  SELECT COUNT(*) FROM M_USERS;
exit;
EOT


#実行結果
  COUNT(*)
----------
     12000

 

その他に、ホスト名を指定する以外にも、SIDで接続することも可能です。

#! /bin/bash

sqlplus -s USERNAME/PASSWORD@SID <<EOT
  -- ここにSQLを記載
exit;
EOT

 

「error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory」が出た時の対処法

sqlplusを実行して以下のエラーが出る場合があります。

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

対処法としては、環境変数(LD_LIBRARY_PATH)にOracle Instant Client のSQL*Plusのディレクトリのパスを通す必要があります。

シェルクリプトい以下の一行を追加してください。

※お使いの環境によりSQL*Plusのディレクトリのパスは異なるので、自身の環境のパスを通すようにしてください。

export LD_LIBRARY_PATH=/usr/lib/oracle/19.6/client64/lib

 



投稿日:2021-07-30    更新日:2021-07-30

[スポンサーリンク]

[スポンサーリンク]

  
サイト内検索
プロフィール

プロフィール

[Name : POCO(@PocoIt2019)]
都内で社内SEをしているおじさん。
仕事で得られる知識だけでは限界を感じ、 WEBの勉強がてらITブログを開始。
サーバからWEBサイトまでフルスクラッチで開発しました。
現在は勉強のモチベーションを保つために活用中。
興味があることを雑記的に書いていきます。

[スポンサーリンク]

カテゴリ


タグ

[スポンサーリンク]