https://blogs.oracle.com/UPGRADE/entry/sleeping_beauties_upgrade_to_11
USのお客様から先週LinkedInを通じて連絡があり、次の質問をいただきました。
"Is it expected that my patch set upgrade from Oracle 11.2.0.3 to Oracle 11.2.0.4 takes over 3 hours?"当然ながら、Noです。そんなことはありません。
(Oracle 11.2.0.3から11.2.0.4へのアップグレードのためのパッチセットって3時間以上かかるもの?)
以下はutlu112s.sqlを使ってアップグレード後に収集したアップグレード統計情報です。
いやいや、全くもって想定外です。ってわけで、問題のアップグレード・スクリプトSQL> @?/rdbms/admin/utlu112s.sql ; .
Oracle Database 11.2 Post-Upgrade Status Tool 10-31-2014 10:05:29
Component Current Version Elapsed Time
Name Status Number HH:MM:SS
Oracle Server
. VALID 11.2.0.4.0 02:46:19
JServer JAVA Virtual Machine
. VALID 11.2.0.4.0 00:08:34
[..]
Final Actions
. 00:00:00
Total Upgrade Time: 03:06:47
c1102000.sql
内の上記ステートメントを見つけ、根本的な原因を見極めることを試みました。194 -- wri$_optstat_histhead_history2.
195 execute immediate
196 q'#create unique index i_wri$_optstat_hh_obj_icol_st on
197 wri$_optstat_histhead_history (obj#, intcol#, savtime, colname)
198 tablespace sysaux #';
199
200 execute immediate
201 q'#create index i_wri$_optstat_hh_st on
202 wri$_optstat_histhead_history (savtime)
203 tablespace sysaux #';
204 end;
205 /
この箇所は、ヒストグラム表の索引を再作成しています。既定の統計情報保持期間が31日なので、お客様の環境には非常に大量の統計情報があります。索引の再構築が(並列実行せず、NOLOGGING句がないため)あまり効率的に行われていないのは明らかです。こうしたことが発生する可能性があり、この事象が何ら問題ないことも時としてあります。しかし、今回の場合、索引の再構築のためだけに2時間以上を要しました。
幸いにも、同僚のCindyが、こうした事象に対応するすばらしい人材です。私たちのチームへ問い合わせをもらった後、私はこの件でバグ番号を取り、コードの修正をすでにチェックイン(現在レビュー中)したことを返信しました。
bug19855835:追伸
Upgrade from 11.2.0.2 to 11.2.0.4 is slow
この問題に目を向けさせてくれたTanの功績です。ご不便をおかけして申し訳ありません。
0 件のコメント:
コメントを投稿