• 検索結果がありません。

計画の展開(

Evolution

自動取得

SQL

チューニング・セットからの取得 カーソル・キャッシュからの取得

AWR

からの取得(

12.2

から)

未使用

SQL

計画ベースラインの自動削除

Export/Import (pack/unpack)

ストアド・アウトラインから

SQL

計画ベースラインに変換

1

つの

SQL

文で

1

つの

SQL

計画ベースラインのみ許可され、

SQL

計画の展開は無効

• パラレル実行でのパーティション・ワイズ分析関数(ウィンドウ関数)が可能に

– TEMP

領域の削減にも効果(「津島博士のパフォーマンス講座」第

45

回)

• 12.1

まで(結合、

Group By

)、

DISTINCT

12.2

から)

ヒント(

USE_PARTITION_WISE_WIF / NO_USE_PARTITION_WISE_WIF

SQL> select /*+ parallel(2) */ tab1.*, row_number() over (partition by c3 order by null) from tab1;

実行計画(12.2)

---| Id ---| Operation ---| Name ---| ---| Pstart---| Pstop ---| TQ ---|IN-OUT---| PQ Distrib ---|

---| 0 ---| SELECT STATEMENT ---| ---| ---| ---| ---| ---| ---| ---|

| 1 | PX COORDINATOR | | | | | | | |

| 2 | PX SEND QC (RANDOM) | :TQ10001 | | | | Q1,01 | P->S | QC (RAND) |

| 3 | WINDOW SORT | | | | | Q1,01 | PCWP | |

| 4 | PX RECEIVE | | | | | Q1,01 | PCWP | |

| 5 | PX SEND HASH | :TQ10000 | | | | Q1,00 | P->P | HASH |

| 6 | PX BLOCK ITERATOR | | | 1 | 4 | Q1,00 | PCWC | |

| 7 | TABLE ACCESS FULL| TAB02 | | 1 | 4 | Q1,00 | PCWP | |

Optimizer の拡張機能

パーティション・ワイズ操作の強化

実行計画(18c)

---| Id ---| Operation ---| Name ---| ---| Pstart---| Pstop ---| TQ ---|IN-OUT---| PQ Distrib ---|

---| 0 ---| SELECT STATEMENT ---| ---| ---| ---| ---| ---| ---| ---|

| 1 | PX COORDINATOR | | | | | | | |

| 2 | PX SEND QC (RANDOM) | :TQ10000 | | | | Q1,00 | P->S | QC (RAND) |

| 3 | PX PARTITION RANGE ALL| | | 1 | 4 | Q1,00 | PCWC | |

| 4 | WINDOW SORT | | | | | Q1,00 | PCWP | |

| 5 | TABLE ACCESS FULL | TAB1 | | 1 | 4 | Q1,00 | PCWP | |

Optimizer の拡張機能

Autonomous Database

のオプティマイザ

オンライン・オプティマイザ統計収集の強化

従来型

DML

操作以外はオンライン統計収集

Autonomous

:表が空の場合のバルク・ロードのみを

12cR1

からサポート

• Statistics-Based Query Transformation

オプティマイザ統計を使用した問合せに変換(ビュー名:

VW_SQT_xxxx

• MIN, MAX, COUNT, APPROXIMATE_COUNT_DISTINCT

パラレル度(

DOP

)と同時実行

コンシューマ・グループ(

HIGH, MEDIUM, LOW

)によって自動調整

• PARALLEL_DEGREE_POLICY

AUTO

LOW

はシリアル実行のみ)

パラレル

DML

もデフォルトで有効

– PARALLEL

ヒントによる設定

• OPTIMIZER_IGNORE_PARALLEL_HINTS=TRUE

(デフォルト無視)

• OPTIMIZER_IGNORE_HINTS=TRUE

(その他のヒントもデフォルト無視)

アジェンダ

1

2

3

Database In-Memory の機能拡張 MemOptimize プール

Optimizer の機能拡張 その他の機能

4

その他の機能

新しい

SQL

チューニング・セットのパッケージ

• SQL チューニング・セット( SQL 文のセットや実行コンテキストなど)の目的

– SQL

チューニング・アドバイザ、

SQL

アクセス・アドバイザ、

SQL

パフォーマンス・アナライザ などの入力

データベース間での

SQL

の移行(別データベースで診断やチューニングを実施)

• これまでの DBMS_SQLTUNE パッケージ

– Oracle Tuning Pack

が必要

• 新しい DBMS_SQLSET パッケージ

– Oracle Tuning Pack

が必要ない

– DBMS_SQLTUNE

と同等のサブプログラムを提供

その他の機能

Exadata

に対応した

SQL

チューニング・アドバイザ

• Exadata 対応の SQL プロファイル

システム統計の補正

失効している場合や収集するとパフォーマンスが向上する場合

システム統計の

I/O

性能(スマート・スキャンのコスト)

– I/O

シーク時間

(ioseektim)

、マルチブロック・リード・カウント

(mbrc)

I/O

転送速度

(iotfrspeed)

• システム統計( CPU 性能、 I/O 性能)

– Exadata

では固有のシステム統計を取得する

• DBMS_STATS.GATHER_SYSTEM_STATS(‘EXADATA’);

リファレンス

マニュアル・ドキュメント、連載

• Oracle Database In-Memory ガイド , 18c

https://docs.oracle.com/cd/E96517_01/inmem/index.html

• Oracle Database パフォーマンス・チューニング・ガイド , 18c

https://docs.oracle.com/cd/E96517_01/tgdba/index.html

• Oracle Database SQL チューニング・ガイド , 18c

https://docs.oracle.com/cd/E96517_01/tgsql/index.html

• 津島博士のパフォーマンス講座

http://www.oracle.com/technetwork/jp/database/articles/tsushima/

テック・ナイトアーカイブ資料と お役立ち情報

各回テック・ナイトセッション資料 ダウンロードサイト

oracle technight

技術コラム 津島 博士の

パフォーマンス 講座

技術コラム しば ちょう先生の 試して納得!

DBA

への道

もしも

みなみんが

DB

をクラウドで 動かしてみたら

関連したドキュメント