###前提・提示情報
環境情報:
OS:Windows 10 x64
Database:Oracle 11g Standard Edition x64
Tools:sqldeveloper
質問内容:
OracleでCPUが80%近い水準で高止まりし、CPU使用率が下がらないケースがあります。
実行されているSQLを調査すると以下のSQLが確認されました。
select obj#,type#,ctime,mtime,stime, status, dataobj#, flags, oid$, spare1, spare2 from obj$ where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null and linkname is null and subname is null
おそらくOracleが内部的に発行しているクエリと思われるのですが、
このSQLが6本動いており、実行状況を確認してもこのクエリの実行時間は変化していないのですが、
他に実行しているSQLも無いため、このSQLを呼び出したクエリに問題があると考えています。
しかし、linknameとあるのでデータをメモリに取り込む際に何かしている?
という程度しか、このクエリからは読み解けませんでした。
###質問事項
前述のSQLが
1.どういったケースで実行されるのか?
2.何を目的として実行されているのか?
以上の2点についてご存知でしたらお教えください。
また、結合が再帰的になっているとか、暗黙型変換の結合になっていて読み替えをしているとか、
ある程度のあたりを付けるための情報が欲しいです。
###調査に使用したSQL
select b.sql_text, a.sid, a.serial#, b.elapsed_time, b.executions from v$session a,v$sql b where a.sql_address = b.address and a.sql_hash_value = b.hash_value and a.status = 'ACTIVE' and b.executions != 0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。