Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 1Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
Oracle Database 19cの
注目ポイント 15
2019年07月23日株式会社コーソル 渡部亮太
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 2
自己紹介+所属会社紹介
• 渡部 亮太(わたべ りょうた)
– Oracle ACE (Oracle Database分野、日本に4名)
– 著書「オラクルマスター教科書 Gold Oracle Database 12c」、「Oracleの基本」、「プロとしてのOracleアーキテクチャ入門」
– JPOUG 共同創設者、ボードメンバー
– ORACLE MASTER Platinum 12c/11g/10gMySQL OCP 5.6、OSS-DB Gold(INACTIVE)
• 株式会社コーソル
– 「CO-Solutions=共に解決する」の理念のもと、Oracle技術および仮想化技術に特化した事業を展開中。心あるサービスの提供とエンジニアの育成に注力している
– 社員数: 134名 (2019年7月時点)
– ORACLE MASTER Platinum保持者数4年連続日本一11g 保持者数 47名 / 12c 保持者数 40名
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 3
ORACLE MASTER Platinum保持者数 4年連続 No.1コーソル紹介
http://www.oracle.com/jp/education/promotion/showcase-jpawardfy19-5032444-ja.html
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 4
3拠点体制 - 24x365/DR/グローバル化のニーズに対応
コーソル紹介
福岡
東京 カナダトロント
オラクル製品他各種製品サポート
基幹系DBの運用支援
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 5
今日の発表について
• Oracle Database 19cについて、新機能を中心に個人的に注目するポイントを15個まとめました。
• 新機能の選択には、渡部の業務上のバイアスがかかっています
– 例えば、弊社にはインメモリを使用しているお客様はほとんどいないため、どうしても選択から外れがちです
• ごめんなさい、環境および準備時間の関係上、すべての機能を検証しているわけではありません。
• 紙面と発表時間の関係上、注意点については記載できていません。併せてマニュアルを参照ください。
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 6
Long Term Support Release
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 7
19c ≒ 12.2.0.3Long Term Support Release
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 8
Long Term Support Releaseのご利益
• 品質が高いことが「期待される」
– 同一リリースファミリー内の最終リリースであるため、品質が高いことが「期待される」
• パッチ提供期間が長い
– Extended Supportの対象であり、その分パッチ提供期間が延長される
– Extended Supportは原則有償だが、一定期間 無償のケースが最近多い
• 将来的にバージョンアップがしやすい
– 直接アップグレードで、アップグレード元バージョンとしてサポートされる可能性が高い
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 9Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
SE-RACのサポート終了
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 10
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 11
SE-RACのサポート終了
• 10g R1から提供されたSE-RAC(Standard Edition RAC)が19cでサポート終了
• SE-RACの普及度が高いため、インパクトは大
– SE-RACが売れた理由
• Active-ActiveクラスタとしてのRACの優秀さ
• 低コスト : Enterprise Edition不要 / 有償オプション不要 / クラスタウェア不要 / 共有ファイルシステム不要 / 導入・設計コスト低
• SE-RACの移行先
– Enterprise Edition RAC
– 他の高可用ソリューション(基本スタンバイなど)
– Oracle Cloud Autonomous Database
• 現在オラクル社はStandard EditionユーザーにBYOLでのOracle Cloud Autonomous Databaseへの乗り換えを促進
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 12Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
Oracle Fail Safeの非推奨
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 13
Oracle Fail Safeの非推奨
• あくまでも「非推奨」であり、「サポート終了」ではありません。
– サポート終了:×使用不可
– 非推奨: 将来的にサポート終了になる可能性あり
• Oracle Fail Safeとは
– Windows環境でHAクラスタ(共有ディスク型のActive-Standbyクラスタ)を構築する製品
– 追加費用が不要なため、小規模かつ可用性が求められるWindows環境で比較的流行
Oracle Fail Safe(HAクラスタ)
Active
Oracle RAC
Active ActiveStandby
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 14Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
RHEL6系Linuxの非サポート
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 15
RHEL6系Linuxの非サポート
• Oracle製品では比較的使用されることが多かったRHEL6系Linuxがとうとう非サポートに
• RHEL系LinuxのサポートはRHEL7系Linuxのみ
– Red Hat Enterprise Linux 7
– Oracle Linux 7
• ちなみに・・・長らくOracle Linux 6(RHEL6系Linux)を使用してきたExadataも、 Oracle Exadata System Software 19.1.0 でOracle Linux 7 (RHEL7系Linux)に移行済み
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 16Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
自動索引付けAutomatic Indexing
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 17
Automatic Indexing / 自動索引付け
• アプリケーションが表のどの列にアクセスするかを監視し、索引を自動的に作成する
• 事前にパフォーマンス検証を行い、性能が実際に向上する場合のみ索引が作成される
• 使用されない索引は自動的に削除される
• Exadata限定の19c新機能
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 18
Automatic Indexingの動き
SQL
検証の結果、性能向上するなら
長時間使用されないなら
2. 不可視索引として作成
3. 可視索引に変更
4. 削除
1. 列へのアクセス状況から自動索引候補を識別
SQL
SQL
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 19Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
SQLの隔離SQL Quarantine
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 20
SQLの隔離 / SQL Quarantine
• 高負荷な実行計画のSQLの実行を早期に抑止する
– SQL_ID+実行計画ハッシュ値で識別
• リソースマネージャでCANCEL_SQL対象となる高負荷SQLを3回実行したときのイメージ
• いくつかのユースケースをサポート
– 隔離後にしきい値を緩める調整が可能
– 高負荷実行する前に、あらかじめ隔離を構成しておくことが可能
• Exadata限定の19c新機能
従来
t
リソース使用
リソース使用
中断 中断 中断
19c SQLの隔離
t
中断
中断 中断しきい値
しきい値
不適切実行計画のSQL実行
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 21Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
リアルタイム統計Real-Time Statistics
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 22
リアルタイム統計 / Real-Time Statistics
• 通常のDML処理の実行中にオプティマイザ統計を収集する
• 重要なオプティマイザ統計のみが収集される
– Min, Max, Num_rows など
– ここで収集されないオプティマイザ統計は、従来通り自動オプティマイザ統計収集などで収集
• Exadata限定の19c新機能
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 23Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
高頻度自動オプティマイザ統計収集High-Frequency Automatic
Optimizer Statistics Collection
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 24
高頻度自動オプティマイザ統計収集
• 15分間隔でオプティマイザ統計を収集する
– 収集間隔は変更可能
• 対象: 失効("STALE")したオブジェクト
– 失効とは?: 全データの10%以上が更新された状態
• Exadata限定の19c新機能
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 25Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
DMLリダイレクションActive Data Guard DML
Redirection
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 26
Active Data Guard DML Redirection
• スタンバイDBでDMLが実行可能に
– スタンバイDBで発行されたDMLはプライマリDBにリダイレクトされ、プライマリDBでDMLが実行される
– DDLの実行は原則不可
• CREATE GLOBAL TEMPOLARY TABLEは例外的にOK
• スタンバイDBの用途が広がる
– 少量のデータ更新を行うアプリケーションの実行
プライマリDB
Active Data Guard スタンバイDB
参照/SELECT
更新/DMLDML Redirection(19c) 更新を伴う
処理をオフロード
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 27
[参考] スタンバイDBで実行可能な処理を拡大する最近の機能拡張
プライマリDB
Active Data Guard スタンバイDB
参照/SELECT
更新/DML
参照/SELECT
Support for DML on
Global Temporary Tables
(12.1)
Private Temporary Tables
(18c)
DML Redirection(19c)
一時表
シーケンスSupport for Sequences(12.1)
Session Sequence (12.1)
レポート生成に活用
Support for In-Memory (12.2)
Support for SQL Tuning Advisor(12.2)
Support for Diagnostics Pack(12.2)
Support for SPA (11.2.0.4)
更新/DML
更新を伴う処理をオフロード
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 28Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
ハイブリッドパーティション表Hybrid Partitioned Tables
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 29
ハイブリッドパーティション表
ハイブリッドパーティション表
order_hyb
order2016.csv
パーティション1
パーティション2
セグメント1
セグメント2
パーティション3
パーティション4 order2015.csv
テキストファイル
通常のパーティション
外部表で構成されるパーティション
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 30
ハイブリッドパーティション表とBig Data SQL
ハイブリッドパーティション表
order_hyb
パーティション1
パーティション2
セグメント1
セグメント2
パーティション3
パーティション4HDFS/Hive
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 31Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
Oracle JETベースのEnterprise Manager Express
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 32
Oracle JETベースのEM Express
• EM ExpressをOracle JETで再実装
– しかし機能は少ない・・・
• 従来からあるAdobe FlashベースのEM Expressは非推奨扱いに
– Adobe Flashは2020年末でサポート終了
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 33Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
ヒント使用状況レポートReporting on hint usage
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 34
ヒント使用状況レポート
• 指定したSQLヒント(/*+ ... */)が適切に使用されているかを表示
SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR);
SELECT /*+ FULL(tab0) */ t.name FROM tab0 t WHERE id = 1---------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |---------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | | | 1 (100)| || 1 | TABLE ACCESS BY INDEX ROWID| TAB0 | 1 | 2004 | 1 (0)| 00:00:01 ||* 2 | INDEX UNIQUE SCAN | PK_TAB0 | 1 | | 0 (0)| |---------------------------------------------------------------------------------------Hint Report (identified by operation id / Query Block Name / Object Alias):Total hints for statement: 1 (N - Unresolved (1))---------------------------------------------------------------------------
1 - SEL$1N - FULL(tab0) ←★N: ヒントが未解決
Oracleが適用対象を決められなかった ≒ ヒントの指定ミス
※: 上記実行結果は一部省略あり
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 35Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
実行計画の比較Plan comparison function
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 36
DBMS_XPLAN.COMPARE_PLANS
--------------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost | Time |--------------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | | | 12 | || 1 | NESTED LOOPS | | 10 | 40120 | 12 | 00:00:01 || 2 | TABLE ACCESS BY INDEX ROWID | PA | 1 | 2004 | 1 | 00:00:01 || * 3 | INDEX UNIQUE SCAN | PK_PA | 1 | | 0 | || 4 | TABLE ACCESS BY INDEX ROWID BATCHED | CH | 10 | 20080 | 11 | 00:00:01 || * 5 | INDEX RANGE SCAN | IDX_CHPA | 10 | | 1 | 00:00:01 |--------------------------------------------------------------------------------------------:
--------------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost | Time |--------------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | | | 12 | || 1 | MERGE JOIN CARTESIAN | | 10 | 40120 | 12 | 00:00:01 || 2 | TABLE ACCESS BY INDEX ROWID | PA | 1 | 2004 | 1 | 00:00:01 || * 3 | INDEX UNIQUE SCAN | PK_PA | 1 | | 0 | || 4 | TABLE ACCESS BY INDEX ROWID BATCHED | CH | 10 | 20080 | 11 | 00:00:01 || * 5 | INDEX RANGE SCAN | IDX_CHPA | 10 | | 1 | 00:00:01 |--------------------------------------------------------------------------------------------:
Comparison Results (1):-----------------------------1. Query block SEL$1, Alias "PA"@"SEL$1": Some columns (OPERATION, OPTIONS) do
not match between the reference plan (id: 1) and the current plan (id: 1).
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 37Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
権限分析がEnterprise Editionで使用可能に
Privilege Analysis Now Available in Oracle Database Enterprise Edition
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 38
権限分析がEnterprise Editionで使用可能に
• 有償オプションOracle Database Vaultの一部だった権限分析がEnterprise Editionで使用可能に
– 19cだけでなく、12c、18cでも使用可能(バックポート)
• 権限分析とは
– 実運用中に使用した権限をレポート表示する機能
– 未使用の権限剥奪に有用(権限最小化の原則)
SQL> SELECT SYS_PRIV, OBJECT_OWNER, OBJECT_NAME, RUN_NAME FROM DBA_USED_PRIVS WHERE USERNAME = 'APP_USER';
SYS_PRIV OBJECT_OWNER OBJECT_NAME RUN_NAME---------------- ------------- ----------------------- ------------------
SYSTEM PRODUCT_PRIVS ANY_PRIV_POL_RUN_1SYS DUAL ANY_PRIV_POL_RUN_1SYS DUAL ANY_PRIV_POL_RUN_1
CREATE SESSION ANY_PRIV_POL_RUN_1SYS DBMS_APPLICATION_INFO ANY_PRIV_POL_RUN_1
READ ANY TABLE HR EMPLOYEES ANY_PRIV_POL_RUN_1
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 39Copyright © 2019 CO-Sol Inc. All Rights Reserved. |
EZCONNECTの指定可能パラメータが追加
Easy Connect Plus
Copyright © 2019 CO-Sol Inc. All Rights Reserved. | 40
EZCONNECTの機能拡張
• EZCONNECT(簡易接続ネーミングメソッド)とは
– tnsnames.oraを使用せずOracle Net接続文字列だけで接続先を指定する方法
• 過去と19cのEZCONNECT構文まとめ
• 19cの機能拡張ポイント
1. クライアントロードバランシング対応(複数ホスト、ポート)
2. TCP/IP以外のプロトコル指定が可能に(TCPS対応)
3. DESCRIPTIONレベルのパラメータを指定可能に
4. セキュリティ関連パラメータの指定(SSL、外部パスワードストア)
version EZCONNECT構文*(指定可能パラメータ)
10.1-11.1 host:port/service_name
11.2-18c host:port/service_name:server/instance_name
19c protocol://host1[,host12,host13][:port1][,host2:port2]/service_name:server/instance_name[?[wallet_location=dir][&ssl_server_cert_dn=dn],...]
*: 一部省略可能な構文要素あり。厳密な構文についてはマニュアルを参照のこと