データベース技術調査ブログ

LinuxやPostgreSQL、Oracleデータベース、AWSの知識をアウトプットしていきます

RAC用AWRレポートの取得を非対話的に実行したい!

Oracle Databaseの性能情報の分析をするときに使うAWRレポートを自動化したい!...そんなことができるのかなっと思ったら変数をいじってあげればできるみたいです。

細かい解説は...割愛します(笑)
スクリプト読むと大体わかると思います( ̄▽ ̄)


大事なのは置換変数を事前に宣言してあげることです(最初はバインド変数とかいじっているのかと想定していたらそうではなかった...!)

簡単な解説

前提:今回は基本的にはRAC用の手順です。

AWRのレポート取得はシングル用の解説記事多めかなと思います。

SQL> --こんな感じで対話的に実行する(awrrpt.sqlは内部でawrrpti.sqlを実行している)
SQL> @?/rdbms/admin/awrrpt.sql

すでに同じこと考えている方の記事があります。
gblog.hatenablog.jp



基本的には同じことをRAC用の awrgrpti.sql を同じ要領で実施するだけですが、
さらにもう一工夫でシェルから呼び出せるようにしてみました。

詳しくは GitHub に上げましたので見てください。

GitHub - jimatomo/benchmark_automation: automation benchmark report for oracle database


シェルにラップしてあげるといろいろ便利になるのですが、
メンテナンスが非常にめんどくさくなるので注意が必要ですよね(´-ω-`)
子シェル増やしすぎないように、複雑なことしないように。。。