質問: ### 前提・実現したいこと 現在、あるSQLを実行した際のCPU上昇率を確認するため、毎秒のCPU利用率を取得したいと思っているところです。 しかし、DBサーバーは自社のものではないため、タスクマネージャーなどで確認できず、 SQLを使って取得するしかないと考えています。 ところが、ネット上で検索してもなかなか方法が見つからずに困っている状況です。 バージョン:Oracle 11g ### 試したこと select metric_name, value, metric_unit from v$sysmetric where metric_name ='CPU Usage Per Sec'; CPU使用率らしきものは出てくるのですが、毎秒ではないようで、望んだものとは異なっています。 何か情報お持ちの方がいれば、回答をお願いいたします。
回答: V$SERVICEMETRICやV$SERVICEMETRIC_HISTORYが目的のものかもしれません。 サービスメトリック 21.1.2 エンドツーエンド・アプリケーションのトレースで収集した統計の表示 特定のSQLに対してなら、SQLトレースにはCPU使用時間(秒)もありますけれど。 21.4 SQLトレース機能とTKPROFの使用方法