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

SAP on Oracle Database 12c In-Memory

N/A
N/A
Protected

Academic year: 2021

シェア "SAP on Oracle Database 12c In-Memory"

Copied!
35
0
0

読み込み中.... (全文を見る)

全文

(1)

日本オラクル株式会社主催

Oracle Database 12c for SAP

最新情報セミナー

at ベルサール東京日本橋

2015年9月3日

富士通-SAPコンピテンスセンター

fjcc-sap@ml.css.fujitsu.com

SAP環境における

Oracle Database In-Memory

共同検証結果報告

(2)

富士通とオラクルのアライアンス

1989年にOEM契約を締結。日本企業初のDiamond Partnerとして、

(3)

富士通とオラクルのSAP領域でのアライアンス

2000年代中盤 「SAP on Oracle 10g」協業ビジネス ・Data Guardを用いたDRソリューション ・日本企業で唯一のO2O(Oracle-to-Oracle)サービス提供 2011年

・Advanced Security Transparent Data Encryption 共同検証、 共同テクニカルホワイトペーパー 2010年 「SAP on Oracle 11g」協業ビジネス開始 ・Solaris環境における導入手順確立 ・Windows環境における導入手順確立 2010年

・Database Smart Flash Cache共同検証 ・Transportable Tablespace共同検証、 高速移行ソリューションの拡充

2011年

・RAC on Oracle Linux and ASM / ACFS w/ SAPCTL on Oracle VM 共同検証 2010年

・国内初RAC on Windows 共同検証、 共同セミナー、ブローシャ

2013年

・Oracle Exadata共同PoC

2000年代前半 「SAP on Oracle 8i / 9i」協業ビジネス ・PRIMECLUSTERを用いた HAソリューション 2015年New ! 「SAP on Oracle 12c」協業ビジネス開始 ・導入手順確立 ・Database In-Memory共同検証 2012年

・Solaris 11 Dynamic Reconfiguration / ZFS 共同検証、共同セミナー

(4)

要件に合わせて選べるSAP認定FUJITSU Servers

PRIMERGY

(PCサーバ)

PRIMEQUEST

(基幹IAサーバ)

[Solaris] [Linux/Windows]

大規模

基幹

システム

部門

システム

UNIXサーバ

IAサーバ

SPARC M10

PRIMERGY

PRIMEQUEST

SPARC M10

オラクルとの共同開発による

グローバルスタンダードのUNIXサーバ

2階層SAP SDベンチマークで世界最高性能(844,420SAPS)

最大64TBの大容量メモリを搭載可能

IAサーバでメインフレーム並みの高い信頼性・可用性を実現

最大8CPU/144コア、12TBメモリまでの拡張性

ハードウェアパーティション機能による柔軟性

Linux/Windowsのオープン性を活かし、高信頼を追求

優れたコストパフォーマンス

1wayから4wayまで、

タワー型・ラック型・ブレードサーバの多様な選択肢

中規模

基幹

システム

(5)

Agenda

SAP環境における

Oracle Database In-Memory(DBIM) 共同検証結果報告

現行SAPユーザのロードマップ

Oracle Database 12cとDBIMのSAPサポート条件

DBIMの特長とベストプラクティス

SAP環境におけるDBIM導入手順

SAP環境におけるDBIM性能評価

Live Demo

(6)

現行SAPユーザのロードマップ

ERP 6.0 EHP7未満 NUC/UC NW 7.0x Any DB ERP 6.0 EHP7 UC NW 7.40 HANA ERP 6.0 EHP8 UC NW 7.50 HANA S/4HANA (sFIN+sLOG) S/4HANA (sFIN) ERP 6.0 EHP7 NUC/UC

NW 7.40

Any DB ERP 6.0 EHP8 UC NW 7.50 Any DB ERP 6.0 EHP7 UC NW 7.40 HANA

現在のS/4HANA

2015/Q4予定

~2025年まで

DMO(EHP最新化&ユニコード化

&HANAマイグレーション)

sERP適用と有効化

“Upgrade-Like”

SUM(EHP最新化)

SWPM(ユニコード化

&HANAマイグレーション)

オンプレミス or クラウド?

現状のままという判断も

ユニコード化必須

その先は??

ERP 6.0

=~2025年まで?

S/4HANA化?

SAP LT

(Planned)

(7)

Oracle Database 12cのSAPサポート条件

SAP NetWeaver 7.0以上を基盤とするSAPアプリケーションが対象

SAP Note 2133079 - Oracle Database 12c: Integration in SAP environment

・いくつかの新機能は遅れての認定

・DBIMも

6月30日

に認定済

(8)

DBIMのSAPサポート条件

SAP NetWeaver 7.0以上を基盤とするSAPアプリケーションが対象

SAP Note 2178980 - Using Oracle Database In-Memory with SAP NetWeaver based Products

(9)

DBIMのDDICフルサポート

SAP NetWeaver 7.40 SP12(2015年8月14日提供)での変更点

(SAPシステムコピーなどのBASIS作業においてインメモリ属性を保持)

(10)

DBIMの利用条件

(11)

DBIMについて、まず読むべき資料

Oracle Database 12c Release 1

コアテク・セミナー

http://www.oracle.com/technetwork/jp/ondemand/od12c-coretech-aug2014-2283256-ja.html

SAP on Oracle | SCN

http://scn.sap.com/docs/DOC-65092

以下の資料を読んでDBIMの理解を深めましょう

(12)

DBIMの特長

OLTP・OLAP処理の両方を高速化

アプリケーションの変更不要

容易な導入手順

必要なデータのみインメモリ化

(適切なハードウェア投資)

既存Oracle Databaseの機能を

透過的に利用可能

既存DB管理者、スキルの活用

OLTP処理が得意なロー型とOLAP(集計・分析)処理を高速化するカラム型の

両方を保持する「インメモリ・デュアル・フォーマット」

2種類のフォーマットを

オプティマイザが自動判別

(13)

DBIMのサイジング - メモリ

新しいインメモリ・カラム・

フォーマットのデータを格納

初期化パラメータ

「INMEMORY_SIZE」で設定

SGA_TARGETはこのインメモリ

領域を格納できるサイズに調整

静的な領域で自動メモリ管理に

より増減しない(増加量を見込む)

SGA内の新たな領域として、インメモリ領域が追加。

インメモリ・カラム・ストアを加味した物理メモリ量を用意

(14)

DBIMのサイジング - CPU

バックグラウンドでワーカー・プ

ロセス(ora_wNNN_${SID})が実行

ワーカー・プロセス数は

初期化パラメータ

「INMEMORY_MAX_POPULATE_S

ERVERS」で明示的に設定可能

データ更新時の再ポピュレーショ

ンも自動で行われる

データをディスクからインメモリ・カラム・ストアにロードする動作、

ポピュレーションを加味したCPUコア数を用意

バックグラウンドで

ポピュレーション

(15)

6つの圧縮タイプ

圧縮タイプ

概要

圧縮率

ポピュレー

ション時の

CPU負荷

クエリ性能

NO MEMCOMPRESS

圧縮なし

なし

MEMCOMPRESS FOR

DML

ある程度のデータ更新がかかるセグメントに

適した圧縮レベル

MEMCOMPRESS FOR

QUERY LOW

デフォルト。ディクショナリやランレングス圧縮、

ビット・パッキングを使用

最速

MEMCOMPRESS FOR

QUERY HIGH

上記QUERY LOWより高圧縮、

下記CAPACITY LOWよりは低圧縮

MEMCOMPRESS FOR

CAPACITY LOW

上記までに加え新規開発のアルゴリズムで

Oracleデータ型に特化した圧縮を適用

MEMCOMPRESS FOR

CAPACITY HIGH

上記までに加え一般的なgzip、DEFLATEなどに

近い圧縮を適用

(16)

SAP環境におけるDBIM導入のベストプラクティス

SAP標準の索引を削除しない(カスタム索引は削除してもよい)

個別の列をインメモリ・カラム・ストアにロードしない

データベース・バッファ・キャッシュ領域は従来通り必要

SAP BWの集約(Aggregates)を削除しない

一般的なDBIMのナレッジは有効だが、一部SAP固有の制約を考慮

(17)

DBIM導入の流れ

事前調査

DBIM設定

運用管理

効果のある

データの

見極め

インメモリ・

カラム・

ストアの

サイズを決定

インメモリ・

カラム・

ストアに

格納する

データを選択

不要な

インデックス

を削除

インメモリ・

カラム・

ストアの

状況監視

DBIM

アドバイザ

(18)

DBIMアドバイザ導入手順

SBPに含まれているインストール用SQLを実行するだけ(数分で完了)。

Oracle 11.2.0.3以上で使えるため、12cへの移行検討段階でも活用可能

$ cd $ORACLE_HOME/sap/ora_imadvisor $ ls

imadvisor imadvisor_install.sql imadvisor_version.txt sapimadv.sql version.txt

imadvisor_deinstall.sql imadvisor_preinstall.sql README.txt sapgenexclusions.sql sapmodimadvscript.pl $

$ sqlplus / as sysdba @imadvisor_install Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options **********************************************

Preparing Installation

********************************************** (略)

The Oracle Database In-Memory Advisor is licensed as part of the Oracle Tuning Pack. Do you currently have a valid Oracle Tuning Pack license with this database (Y/N)? (略)

DBMS_INMEMORY_ADVISOR installation and setup complete.

いくつか入力を要求されるため、 README.txtの記入例に従って進める

During the installation you need to provide the following information: - Oracle Tuning Pack license -> Yes

- Database Connection identifier -> Database SID or Service name

- IMADVISOR password -> <password> for database user IMADVISOR - IMADVISOR tablespace -> e.g. SYSAUX

- IMADVISOR directory -> e.g. /oracle/<DBSID>/oraimadvisor - IMADVISOR password -> <password provided above> - SAP schema user for Grant -> e.g. SAPSR3

(19)

DBIMアドバイザ実行手順 1/2

AWRとASHが主な情報源。STSの指定は任意。

タスクを実行(スクリプト作成)し、推奨事項をデータベース内に格納

$ vi sap_imadvisor.sql

$ sqlplus / as sysdba @sap_imadvisor (略)

PL/SQL procedure successfully completed. $ cat sap_imadvisor.sql

set serveroutput on

exec dbms_inmemory_advisor.drop_task('SAPWORK',true); exec dbms_inmemory_advisor.create_task('SAPWORK');

exec dbms_inmemory_advisor.set_parameter('WRITE_DISADVANTAGE_FACTOR', 0.7, 'SAPWORK'); exec dbms_inmemory_advisor.set_parameter('LOB_BENEFIT_REDUCTION', 1.2, 'SAPWORK');

exec dbms_inmemory_advisor.set_parameter('MIN_INMEMORY_OBJECT_SIZE', 1024000, 'SAPWORK'); exec dbms_inmemory_advisor.set_parameter('READ_BENEFIT_FACTOR', 2, 'SAPWORK');

/* exec dbms_inmemory_advisor.add_sqlset('SAPWORK', 'STSSAPWORKLOAD'); */ exec dbms_inmemory_advisor.add_hist_statistics('SAPWORK', 1306, 1590); exec dbms_inmemory_advisor.execute_task('SAPWORK');

exec dbms_inmemory_advisor.generate_recommendations('SAPWORK', NULL, 68719476736);

SAP環境におけるDBIMアドバイザの パラメータ名および推奨値 • WRITE_DISADVANTAGE_FACTOR = 0.7 • LOB_BENEFIT_REDUCTION = 1.2 • MIN_INMEMORY_OBJECT_SIZE = 1024000 • READ_BENEFIT_FACTOR = 2

STSを指定する場合

AWRの開始IDと終了ID

使用可能なメモリサイズ

(inmemory_size)

= XX[GB] x 1024 x 1024 x 1024

(20)

DBIMアドバイザ実行手順 2/2

(続き) データベース内に格納された推奨事項をローカルファイルに生成。

最後に、インメモリ化できないSAPテーブルを考慮したSQLに調整

$ sqlplus / as sysdba @imadvisor/imadvisor_fetch_recommendations.sql Enter value for im_task_name: SAPWORK

Fetching recommendation files for task SAPWORK

Enter value for recommendation_directory: <ローカルファイルを生成するパス> Placing recommendation files in directory <ローカルファイルを生成するパス> $

$ sqlplus / as sysdba @sapgenexclusions (略)

Enter the owner of your SAP (e.g. SAPR3 or SAPSR3): SAPSR3 "Writing to file: exclusions.txt"

"File created: exclusions.txt“ $

$ $ORACLE_HOME/perl/bin/perl sapmodimadvscript.pl imadvisor_SAPWORK.sql exclusions.txt > finalimtabs.sql $

(21)

DBIMアドバイザ実行結果例

Workload Database Usage

OLAP処理の時間と比率

In-Memory Sizes

インメモリ・カラム・ストアの

推奨サイズとOLAP処理の改善効果

ALL n SQL Statements With Analytics

Processing Benefit

SQLごとの改善効果

All n Objects Recommended To Place

In-Memory For Analytics Processing

オブジェクトごとの改善効果

HTML形式のレポートとSQLを生成

ALTER TABLE "SAPSR3"."/B49/DBENCH103" INMEMORY

MEMCOMPRESS FOR QUERY LOW PRIORITY HIGH; ALTER TABLE "SAPSR3"."/B49/XCUSTOMER" INMEMORY

MEMCOMPRESS FOR QUERY LOW PRIORITY HIGH; ALTER TABLE "SAPSR3"."/B49/EBENCH10" MODIFY

PARTITION "/B49/EBENCH10201010" INMEMORY NO

DBIMの効果が

期待できる目安

は「40%以上」

(22)

SAP IM ADVパッケージ導入手順

SBPに含まれているインストール用SQLを実行するだけ(数秒で完了)

SQL> create directory "~IM_ADV_DIR" as '<結果を生成するパス>';

Directory created.

SQL> start sapimadv

Package created.

No errors.

Package body created.

No errors.

(23)

SAP IM ADVパッケージ実行手順と実行結果例

個別(または複数)のテーブルについて、インメモリ・カラム・ストアの

サイズを見積り、SQLを生成

SQL> set serveroutput on

SQL> exec sap_im_adv.in_memory_check('SAPSR3','/B49/EBENCH10');

rem

rem In-Memory Advisor Information Version 1.0

rem Space calculation for table /B49/EBENCH10

rem Size on Disk : 2880 MB

rem Required IM space (IM_QLOW): 2817 MB

alter table "SAPSR3"."/B49/EBENCH10" inmemory memcompress for query low priority high;

PL/SQL procedure successfully completed.

SQL> !ls

(24)

DBIM導入手順

1.

DBIMに関する初期化パラメータ(SAP推奨は以下)を設定

inmemory_size = <インメモリ・カラム・ストアのサイズ>

inmemory_max_populate_servers = 4

inmemory_clause_default = "PRIORITY HIGH"

2.

データベースの再起動

3.

インメモリ・カラム・ストアに格納するデータに対し、

インメモリ属性を追加(ポピュレーションは自動で行われる)

alter table <テーブル名> inmemory <オプション>;

わずか3ステップで導入完了

(25)

圧縮後のサイズ

圧縮タイプに応じた圧縮効果。データによって圧縮率は異なる。

SAP IM ADVパッケージの見積結果より小さくなる傾向

0 200 400 600 800 1000 1200 1400 1600 BSEG 会計伝票明細 [MB] 0 50 100 150 200 250 300 350 VBAP 受注伝票明細 [MB] 0 500 1000 1500 2000 2500 3000 3500 4000 /B49/EBENCH10 ファクトテーブル (約5,200万件) [MB] 約1/13 約1/21 約1/2 約1/45 約1/35 約1/2.7

(26)

圧縮タイプごとのポピュレーション時間

圧縮効果が高いタイプほどポピュレーション時間が長くなる傾向

0 10 20 30 40 50 60 70 80 90 BSEG 会計伝票明細 (1,536MB) [秒] 0 10 20 30 40 50 60 VBAP 受注伝票明細 (337MB) [秒] 0 50 100 150 200 250 /B49/EBENCH10 ファクトテーブル (2,880MB) [秒]

(27)

クエリ性能 - 検証手順

クエリ1:

InfoProviderに/BIB/BENCH10

クエリ2:

クエリ1 + monthに2010.01 – 2010.12

クエリ3:

クエリ2 + Country of Sold-to PartyにDE

クエリ4:

クエリ3 + Distribution channelにB1

クエリ5:

クエリ4 + salesorgにB001

SAP BI Data Mart(BI-D) ベンチマークツールを用い、

異なる検索条件でクエリを実行

(28)

クエリ性能 - 検証結果

効果がでやすい・でにくい条件があるため、見極めが重要。

また、圧縮タイプによっても性能に差が発生

0 20 40 60 80 100 120 140 160 BWクエリ性能比較(検索条件の違い) 非インメモリ インメモリ(QLOW) インメモリ(CHIGH) [秒] 0 20 40 60 80 100 120 140 BWクエリ性能比較(クエリ4における検索量の違い) 非インメモリ インメモリ(QLOW) [秒] 約19倍 約6倍 検索量が増える ほど差が広がる

(29)

クエリ1、2の詳細分析

DBIMの効果がでにくいクエリ

(30)

クエリ3、4の詳細分析

DBIMの効果がでやすいクエリ

User I/O: db file sequential read, db file scattered read, db file parallel read

処理の大半がUser I/O

(31)

クエリ5の詳細分析

オプティマイザが自動判別し、どちらもロー型にアクセス

(32)

共同検証結果サマリー

性能要件とメモリサイズどちらも満たす圧縮タイプを選定

圧縮効果が高いものほどインメモリ・カラム・ストアのサイズは小さい

ただし、ポピュレーションに時間がかかる(更新頻度が高いデータには不向き)

また、クエリ性能も解凍処理が必要な分だけ多少劣化

DBIMは万能ではない。性能が劇的に向上するものもあれば、

あまり効果がでないものもある

ディスクI/Oの物理読込量が大きいもの、集計・分析処理に大きく効果あり

OLTP処理や大量データの更新処理の高速化はExadataなどの活用も検討

DBIMの効果の見極めには、DBIMアドバイザを積極的に活用。

PoCしたほうが手っ取り早い場合も...

(33)

Live Demo

(34)

まとめ

DBIMは非常に簡単に試すことができます

Oracle Database 12cに移行するだけ。

アプリケーションの変更なしに処理を高速化

DBIMアドバイザで事前に効果を見極め

DBIMの導入はわずか3ステップ

近年は仮想化・クラウドの活用でCPU・メモリ増加が容易

(DBIMに必要なリソースは後から追加するシナリオもあり)

2025年にむけたSAP環境のロードマップ策定について、

ぜひ富士通とオラクルにご相談ください

(35)

参照

関連したドキュメント

First three eigenfaces : 3 個で 90 %ぐらいの 累積寄与率になる.

The main purpose of this talk is to prove the unique existence of global in time solutions to (1) for the initial data in scaling critical spaces, and study the asymptotics of

Koike, Refined pointwise estimates for the solutions to the one-dimensional barotropic compressible Navier–Stokes equations: An application to the analysis of the long-time behavior

① 要求仕様固め 1)入出力:入力電圧範囲、出力電圧/精度 2)負荷:電流、過渡有無(スリープ/ウェイクアップ含む)

本品は、シリンダー容積 2,254

直流電圧に重畳した交流電圧では、交流電圧のみの実効値を測定する ACV-Ach ファンクショ

特別高圧 高圧 低圧(電力)

測定結果より、凝縮器の冷却水に低温のブライン −5℃ を使用し、さらに凝縮温度 を下げて、圧縮比を小さくしていくことで、測定値ハ(凝縮温度 10.6℃ 、圧縮比