SlideShare a Scribd company logo
8
Most read
16
Most read
18
Most read
Oracle常駐接続プーリング
(DRCP)を導入した話
GMOメディア株式会社
北川健太郎
2016/05/10
Oracle Database Connect 2016
自己紹介
名前
北川健太郎
所属
GMOメディア株式会社
DBA歴3年目
社内
MySQL:99%
Oracle Database SEone:1%
SE2を本気でどうしようか悩み中・・
WEBアプリケーション
基本PHPが多い
コネクションプーリングがない
処理ごとに新規接続を繰り返す
→ MySQLでは良いがOracleDatabaseでは・・・
Oracle Databaseは・・・
・リスナーが原因不明で落ちる
・OSのカーネルCPUの使用率が高い
常駐接続プーリング(DRCP)とは
Oracle Database 11g以降の機能
Oracle Database SE2/SE/SEoneでも使用可能
Oracle側で専用サーバプロセスをプリフォークして、新
規接続時にプロセスを共有する仕組み
コネクションプーリングをOracle側でやるイメージ
DRCPの導入
非常に簡単に導入可能(今回は11gR2)
Oracleサーバ側
execute dbms_connection_pool.start_pool();
クライアント側
tnsnames.oraに(SERVER = pooled)を追加する
$ vim $ORACLE_HOME/network/admin/tnsnames.ora
pooltest =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
(SERVER = pooled)
)
)
DRCPの設定値
DBA_CPOOL_INFOビューで確認
オンラインで設定変更可能
DRCPの設定値
パラメータ名 デフォルト値 説明
POOL_NAME SYS_DEFAULT_CONNECTI
ON_POOL
構成するプール名
MINSIZE 4 プールサーバの最小数
MAXSIZE 40 プールサーバの最大数
INCRSIZE 2 プールの増大数
SESSION_CACHED_CURS
ORS
20 セッションカーソルキャッシュ
INACTIVITY_TIMEOUT 300 アイドルセッションTTL
MAX_THINK_TIME 120 アイドル最大時間
MAX_USE_SESSION 500000 プールを解放できる最大数
MAX_LIFETIME_SESSIO 86400 セッションTTL
NUM_CBROK 1 接続ブローカー数
MAXCONN_CBROK 40000 CBROKの接続最大数
事前にモニタリングや可視化して見積もる
MINSIZE
セッション数(v$session)
専用サーバ確立数(lsnrctl service)
DRCPの設定値見積もり
"DEDICATED" 確立:18 拒否:0 状態:ready
LOG ON数(v$sysstatのlogons cumulative)
MAXSIZE ・・・最大接続数まで達すると接続が待たされる
PGA_SIZE
初期化パラメータのprocesses
NUM_CBROK ・・・最大同時接続200
Minsizeと同等な確認
DRCP導入後・・
・リスナーが落ちなくなった
・カーネルCPUの使用率が1/3になった
・ログオン数も少し増えた
DRCP監視と対策
1.接続ブローカーの拒否数の増加
→接続ブローカ数を増やす (NUM_CBROK)
V$CPOOL_STATSのNUM_WAITSが増加する
→プールサーバの最小値(MINSIZE)を増やして待機を減らす
$ lsnrctl service
・
・
"DEDICATED" 確立:513 拒否:0 状態:ready
LOCAL SERVER
"N000" 確立:17364 拒否:1023 現行:0 最大:40000 状態:ready
CMON <machine: oracle-db01, pid: 24817>
・
2.サーバプールの待機の増加
その他
共有プールが肥大化
SGA
select pool, name, bytes/1024/1024 MB from v$sgastat
where pool =‘shared pool' order by 3;
・
・
shared pool SQLA 1,089.1
shared pool kpplmcchtge:kpplmcc 9,677.5
1ヶ月で10Gも増えた
共有プールが肥大化
V$CPOOL_CC_INFO・・プールと接続のクラス・マッピングに関する情報
CCLASS_NAMEがランダムに生成され全て新規接続毎にキャッシュされていた様子
クライアント側に環境変数ORA_CONNECTION_CLASS=XXXXを設定すること
でCCLASS_NAMEが再利用されるため解決
select * from V$CPOOL_CC_INFO ;
POOL_NAME CCLASS_NAME
________________________________________________________________
SYS_DEFAULT_CONNECTION_POOL ORCL.OCI:SP:HqzTc6WwNWngU0fGqMAhCA
select * from V$CPOOL_CC_INFO ;
POOL_NAME CCLASS_NAME
_______________________________________________________________
SYS_DEFAULT_CONNECTION_POOL ORCL.OCI:SP:XXXX
POOLED接続切断時の挙動
DRCP導入後TCP Connection Resetsの値が増加
コネクション切断時にクライアントがRSTパケットを送ってる模様
・専用サーバ切断時(3ウェイハンドシェイク)
POOLED接続切断時の挙動
DRCP切断時
理由は不明なんで放置してます。。
まとめ
WEBアプリケーション(PHP)+OracleDatabaseを使用してい
る場合は、簡単に導入できるDRCP使用したほうが良いかも。
12cからはサーバプロセスをスレッド化することが可能らしいの
でそちらが気になる。 (Thread_execution)
・ 初期化パラメータ変更
alter system set THREADED_EXECUTION=true scope=spfile;
alter system set USE_DEDICATED_BROKER=true;
・ listener.ora
DEDICATED_THROUGH_BROKER_lister=on
ご清聴ありがとうございました

More Related Content

PPTX
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
PDF
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
PPT
DataGuard体験記
PDF
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
PDF
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
PDF
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
PDF
Oracle RAC 19c: Best Practices and Secret Internals
PDF
Migration to Oracle Multitenant
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
DataGuard体験記
【旧版】Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年12月版]
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
Oracle RAC 19c: Best Practices and Secret Internals
Migration to Oracle Multitenant

What's hot (20)

PDF
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
PPTX
Oracle Data Masking and Subsettingのご紹介
PDF
Oracle WebLogic Server製品紹介資料(2020年/3月版)
PDF
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]
PDF
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
PDF
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
PDF
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
PDF
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
PDF
Oracle GoldenGate Veridata 12cR2 セットアップガイド
PPTX
OCI GoldenGate Overview 2021年4月版
PDF
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
PDF
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
PDF
第18回しゃちほこオラクル俱楽部
PPTX
Zero Data Loss Recovery Appliance 設定手順例
PDF
New Generation Oracle RAC Performance
PPTX
Oracle Cloud PaaS & IaaS:2019年11月度サービス情報アップデート
PDF
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
PDF
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
PDF
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
PDF
[Oracle DBA & Developer Day 2012] 高可用性システムに適した管理性と性能を向上させるASM と RMAN の魅力
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
Oracle Data Masking and Subsettingのご紹介
Oracle WebLogic Server製品紹介資料(2020年/3月版)
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介 [2021年7月版]
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle GoldenGate Veridata 12cR2 セットアップガイド
OCI GoldenGate Overview 2021年4月版
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
第18回しゃちほこオラクル俱楽部
Zero Data Loss Recovery Appliance 設定手順例
New Generation Oracle RAC Performance
Oracle Cloud PaaS & IaaS:2019年11月度サービス情報アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
[Oracle DBA & Developer Day 2012] 高可用性システムに適した管理性と性能を向上させるASM と RMAN の魅力
Ad

Viewers also liked (14)

PDF
Oracle Database Standard Editionでの運用いろいろ
PPTX
Oracle In-database-archiving ~Oracleでの論理削除~
PDF
データベース技術の羅針盤
PDF
Jpoug
PDF
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
PDF
MyRocks Deep Dive
PDF
Oracle Database Standard EditionでセミオンラインDDL
PDF
MySQLアンチパターン
PDF
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
PDF
Oracle Database Connect 2017 / JPOUG#1
PDF
MySQLerの7つ道具 plus
PPTX
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
PDF
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
PDF
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
Oracle Database Standard Editionでの運用いろいろ
Oracle In-database-archiving ~Oracleでの論理削除~
データベース技術の羅針盤
Jpoug
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
MyRocks Deep Dive
Oracle Database Standard EditionでセミオンラインDDL
MySQLアンチパターン
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Oracle Database Connect 2017 / JPOUG#1
MySQLerの7つ道具 plus
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
Ad

Oracle常駐接続プーリング(DRCP)を導入した話