SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Oracle Database In Lock



    2012/10/19 株式会社コーソル 渡部亮太
Who am I?
     渡部 亮太(わたべ りょうた)
           book
                    「プロとしてのOracleアーキテクチャ入門」
                    「プロとしてのOracle運用管理入門」
           presentation
                    Oracle DBA & Developer Days 2010, 2011
                    Developers Summit 2009
                    Oracle OpenWorld Tokyo 2012 Unconference など
           Blog
                    コーソル DatabaseエンジニアのBlog http://co-sol.jp/techdb/

     株式会社コーソル
           「CO-Solutions=共に解決する」の理念のもと、Oracle技術
            に特化した事業を展開中
           社員数: 94名 (エンジニアのほぼ全員がOracle Master 所有)
Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                      1
本日お伝えしたいこと
     Oracle Databaseには多数のロック機構が存在すること
     それぞれのロック機構の役割と、ロック機構により実現される
      同時実行制御に関するイメージ

     注意書き
           内部動作の情報が公開されていないなかで、渡部が推測した内
            容がふくまれるため、本情報は、各自の理解を助けるための参考
            にしてください
           (当り前ですが)本情報を、何らかのアクションの唯一の「根拠」とし
            て活用することは避けてください



Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   2
RDBMSにおけるロック機構の必要性
     一般的なRDBMS(クライアント-サーバー型)では複数の
      処理が同時に実行される
     ロック機構により排他制御を行わないと、様々なよからぬこ
      とが起きる
           データの整合性が崩れる
           直列処理が並列実行されてしまう
           領域割り当てが重複してしまう
           管理構造が破壊される
           など




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   3
データの整合性が崩れる #1

                  Process                            Process
                  (or Session)                       (or Session)




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                  4
データの整合性が崩れる #2

              Process                                Process
              (or Session)                           (or Session)




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                  5
直列処理が並列実行されてしまう
                              OK



                                                     処理#1    処理#2



                              NG




                                                      処理#2




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                  6
領域割り当てが重複してしまう

                  Process                                Process
                  (or Session)                           (or Session)

        領域割り当て                                       領域割り当て
        要求                                           要求




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                      7
管理構造が破壊される

                                                     x       y       z

                                OK                                       NG




           x                       a                     z       x       y    z

                                                                         a



Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                                8
Oracle Databaseのロック機構
     ロック機構                          説明
     エンキュー                          FIFO型で多数のロックモードを持つロック機構
                                    ユーザー型 : ユーザーの操作(DML実行、DBMS_LOCK実行など)に
                                    対応してエンキューが獲得、解放される
                                    システム型 : Oracleの内部動作に対応してエンキューが獲得、解放さ
                                    れる
     ライブラリキャッシュ いわゆるDDLロック。オブジェクトの定義変更に関わる排他制御に用いられ
     ロック        る
     ライブラリキャッシュ ライブラリキャッシュオブジェクトの実体であるメモリ領域(ヒープ)の排他制御
     ピン         に用いられる
     ラッチ                            仕組みが単純で低コスト。原則的に排他モードのみ。
                                    複数プロセスで共有されるメモリ領域の排他制御に用いられる
     Mutex                          ラッチよりもさらに低コスト。
                                    ライブラリキャッシュオブジェクトをより細かい粒度で保護できる
     行キャッシュロック                      共有プール内のディクショナリキャッシュの排他制御に用いられる


Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                          9
互換性とロック獲得待機
             [例: 排他/共有モードを持つロックの互換性]
                                      要求
                                         S            X
                 保持 なし                      ○          ○       ロック機構により、ロックモードの種類と
                             S              ○          ×       互換性定義が異なることに注意
                                                               例) エンキューには7つのロックモードがある
                             X              ×          ×
                                                                                    10


                               #1                              ロック             #2
                                                               対象
                        待機イベントX                       REQ            HOLD
                                                      mode=S          mode=X



                               #1                              ロック             #2
                                                               対象
                                                     HOLD            HOLD
                                                      mode=S          mode=S
Copyright (C) 2012 CO-Sol Inc. All Rights Reserved
Oracle DBでのロック状態確認方法
       機能                            説明                例)TXエンキューの場合
       V$ビュー                         ロック種別に応じたV$ビューで   V$LOCK、
                                     ロック状態、ロック関連統計情    V$TRANSACTION な
                                                       ど
                                     報を確認できる
       待機イベント ロック獲得待機発生時、待機 'enq: TX - row lock
              セッションでロック種別、ロック contention'
                               など
              の使用形態に応じた待機イベ
              ントが発生し、V$SESSION
              やSQLトレースから確認でき
              る
       各種診断機 トレースファイルにdumpした                           system state, hang
       能     動作詳細情報から、ロックに                             analyze
             関わる情報を確認できる

Copyright (C) 2012 CO-Sol Inc. All Rights Reserved
エンキュー
     様々なリソースに関わる同時実行制御に使用される
           リソース毎に異なるタイプのエンキューが使用される
           タイプはアルファベット2文字で表現される
           例) TX = 行ロック, TM = 表ロック
     獲得待機時に発生する待機イベント
           "enq <タイプ> - <説明>"
                    例) TXエンキューの更新競合
                         → "enq: TX - row lock contention"
     多数のロックモードと複雑な互換性を持つ(本日は説明を省略)




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved           12
エンキューの種類と分類
     エンキューの種類
           非常に多くの種類のエンキューが存在
           V$LOCK_TYPEから確認可能
           エンキューごとに保護する対象が異なる
     ユーザー操作に関わる観点から、以下の2つに分類
           ユーザー型
                     TXエンキュー=行ロック
                     TMエンキュー=表ロック
                     ULエンキュー=DBMS_LOCK
           システム型
                     TX, TM, UL以外の全てのエンキュー
                     CFエンキュー=制御ファイルへのアクセス制御用ロック
                     など
Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   13
TXエンキュー
     TXエンキューはユーザー型に分類されるエンキュー
           獲得: トランザクションの開始(≒行の更新)
           解放: トランザクションの終了(コミット or ロールバック)
     TXエンキュー獲得待機時に発生する待機イベント
           "enq: TX - row lock contention"
           など
     目的
           データ(=行)の整合性を保護する




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   14
[デモ] TXエンキュー獲得待機
     デモ
           同一行の更新によるTXエンキューの獲得+保持と獲得要求の競
            合
     シナリオ
           1.          行XをUPDATE(コミットしない)
            →           TXエンキューA 獲得+保持
           2.          別セッションで行XをUPDATE
            →           TXエンキューA 要求
            →           待機イベント"enq: TX - row lock contention"で待機




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                 15
CFエンキュー
     CFエンキューはシステム型に分類されるエンキュー
           獲得:制御ファイルへのアクセス開始
           解放:制御ファイルへのアクセス終了
           制御ファイルにはDatabaseの管理情報が記録される
           主にDatabaseの管理タスクが実行されるタイミングでCFエンキュ
            ーを獲得
                     例) ログスイッチ、チェックポイント
     目的
           制御ファイルに格納された管理情報の整合性保護




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   16
CFエンキューの競合とタイムアウト
     CFエンキュー獲得待機時に発生する待機イベント
           "enq: CF - contention"
     CFエンキュー獲得タイムアウト
           ORA-600[2103]が発生
     CFエンキューの競合が問題となる状況
           何らかの理由で制御ファイルへのI/Oがハング
           Oracle のBug

           論理的には・・・実際に多くのセッションが制御ファイルにアクセスし
            て場合も考えられなくもない



Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   17
[デモ] CFエンキュー獲得待機
     デモ
           制御ファイルI/Oの遅延を疑似
     シナリオ
           1.          gdbでブレークポイントを設定
           2.          ログスイッチ実行 → CFエンキュー獲得+保持
           3.          チェックポイント実行
            →           CFエンキュー要求
            →           待機イベント"enq: CF - contention"で待機




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved        18
ライブラリキャッシュロック
     ライブラリキャッシュロックはオブジェクト定義変更に関わるロッ
      ク
           排他モードで獲得:オブジェクトの定義変更
           共有モードで獲得:オブジェクトの定義参照
     良くある誤解
           TMエンキュー(表ロック)とライブラリキャッシュロックを混同


     獲得待機時に発生する待機イベント
           " library cache lock"




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   19
ライブラリキャッシュロックの保護対象
   Library Cache
         hash bucket                                 object handle




                                                        object handle
                                                                        heap 0   heap n

                                                      library
                                                                                          ・・・
                                                      cache
                                                      lock


Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                                              20
[デモ]ライブラリキャッシュロック
     DDL実行でライブラリキャッシュロックを排他モードで獲得す
      る
     デモシナリオ
           1.          表にデフォルト値を含む列を追加
            →           表のライブラリキャッシュロックを排他モードで獲得+保持
           2.          表を参照するSQLを実行
            →           表のライブラリキャッシュロックを共有モードで要求
            →           待機イベント"library cache lock"で待機




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved      21
ライブラリキャッシュピン
     ライブラリキャッシュピンはオブジェクト定義+そのものに関わ
      るロック
           排他モードで獲得:オブジェクトの変更
           共有モードで獲得:オブジェクトの参照
     獲得待機時に発生する待機イベント
           'library cache pin'待機イベント
     ライブラリキャッシュロックとライブラリピン
           両者の関係性はあまり明確にされていない
           一般的にロックを獲得した後、ピンを獲得or開放する




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   22
ライブラリキャッシュピンの保護対象
   Library Cache
         hach bucket                                 object handle




                                                        object handle
                                                                        heap 0   heap n


                                                                                            ・・・

                                                                                          library cache pin

Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                                                            23
[デモ]ライブラリキャッシュピン
     ライブラリキャッシュピンはDDL実行で排他モードで獲得され
      る
     デモシナリオ
           1.          処理に長時間要するパッケージのプロシージャを実行
            →           パッケージのライブラリキャッシュピンを共有モードで獲得+保持
           2.          パッケージをコンパイル
            →           パッケージのライブラリキャッシュロックを排他モードで獲得
            →           パッケージのライブラリキャッシュピンを排他モードで要求
            →           待機イベント"library cache pin"で待機




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   24
ラッチ
     SGA内に存在する共有メモリ領域の排他制御に使用され
      る
           獲得:共有メモリ領域(群) へのアクセス開始
           解放:共有メモリ領域(群)へのアクセス終了
     共有メモリ領域へのアクセス
           メモリ領域(データ)の更新、新規領域割り当て、管理構造(メタデ
            ータ)の更新など
     基本的に獲得→解放は極めて短時間
           一般にマイクロ秒(~ミリ秒)レベル
     ラッチ獲得待機で発生する待機イベント
           'latch: <ラッチ名>' (10.1-)
           'latch free'
Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   25
ラッチ一覧
     ラッチ関連V$ビュー
           V$LATCH
           V$LATCHNAME
           V$LATCH_PARENT
           V$LATCH_CHILDREN




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   26
shared poolラッチ
     共有プールにおけるメモリ領域(=チャンク)の割り当てに関
      わる同時実行制御に使用される
           同じメモリ領域を誤って別の用途に割り当てないように
           空き領域確保にともなう各種管理構造のメンテナンスがバッティン
            グしないように




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved   27
共有プールとshared poolラッチ
                                                               説明の便宜上、非常に単純化して書いています
                     free list bucket            subpool

                             size=xx

                             size=yy


    shared pool
    latch                    size=zz




                             size=xx

                             size=yy


    shared pool
    latch                    size=zz



                                                           ・
                                                           ・
                                                           ・
                                                                         free area

Copyright (C) 2012 CO-Sol Inc. All Rights Reserved                                   28
[デモ]shared poolラッチ
     デモシナリオ
           1. V$LATCH_CHILDRENからshared poolラッチのアドレス
            を確認
           2. oradebugでshared poolラッチを獲得
           3. SQLを実行
            → ハードパース発生
            → チャンク確保要求
            → shared poolラッチ要求
            → 待機イベント"latch: shared pool" 発生




Copyright (C) 2012 CO-Sol Inc. All Rights Reserved     29

Weitere ähnliche Inhalte

Was ist angesagt?

シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析Yohei Azekatsu
 
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)オラクルエンジニア通信
 
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0オラクルエンジニア通信
 
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニックオラクルエンジニア通信
 
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャZero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャオラクルエンジニア通信
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オラクルエンジニア通信
 
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)オラクルエンジニア通信
 
Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介オラクルエンジニア通信
 
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...オラクルエンジニア通信
 
A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN Riyaj Shamsudeen
 
Oracleの実行計画を読んでみよう! #dbts2017
Oracleの実行計画を読んでみよう!  #dbts2017Oracleの実行計画を読んでみよう!  #dbts2017
Oracleの実行計画を読んでみよう! #dbts2017Ryota Watabe
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)オラクルエンジニア通信
 
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)オラクルエンジニア通信
 
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]オラクルエンジニア通信
 

Was ist angesagt? (20)

Oracle Data Masking and Subsettingのご紹介
Oracle Data Masking and Subsettingのご紹介Oracle Data Masking and Subsettingのご紹介
Oracle Data Masking and Subsettingのご紹介
 
シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析シンプルでシステマチックな Oracle Database, Exadata 性能分析
シンプルでシステマチックな Oracle Database, Exadata 性能分析
 
Oracle GoldenGate R12.2 セットアップガイド
Oracle GoldenGate R12.2 セットアップガイドOracle GoldenGate R12.2 セットアップガイド
Oracle GoldenGate R12.2 セットアップガイド
 
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
 
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
 
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
【より深く知ろう】活用最先端!データベースとアプリケーション開発をシンプルに、高速化するテクニック
 
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャZero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
Zero Data Loss Recovery Applianceによるデータベース保護のアーキテクチャ
 
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
 
Oracle GoldenGate導入Tips
Oracle GoldenGate導入TipsOracle GoldenGate導入Tips
Oracle GoldenGate導入Tips
 
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
 
Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介
 
Oracle GoldenGate アーキテクチャと基本機能
Oracle GoldenGate アーキテクチャと基本機能Oracle GoldenGate アーキテクチャと基本機能
Oracle GoldenGate アーキテクチャと基本機能
 
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
Oracle Database 11g,12cからのアップグレード対策とクラウド移行 (Oracle Cloudウェビナーシリーズ: 2021年7...
 
A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN
 
Oracleの実行計画を読んでみよう! #dbts2017
Oracleの実行計画を読んでみよう!  #dbts2017Oracleの実行計画を読んでみよう!  #dbts2017
Oracleの実行計画を読んでみよう! #dbts2017
 
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
 
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
 
Oracle Data Guard による高可用性
Oracle Data Guard による高可用性Oracle Data Guard による高可用性
Oracle Data Guard による高可用性
 
Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介Oracle Database Vaultのご紹介
Oracle Database Vaultのご紹介
 
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
 

Andere mochten auch

バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~Ryota Watabe
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009Ryota Watabe
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Ryota Watabe
 
パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦
パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦
パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦CO-Sol for Community
 
Corruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUGCorruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUGRyota Watabe
 
Oracle Database Cloud Service を使ってみよう! 株式会社コーソル 守田 典男
Oracle Database Cloud Service を使ってみよう! 株式会社コーソル 守田 典男Oracle Database Cloud Service を使ってみよう! 株式会社コーソル 守田 典男
Oracle Database Cloud Service を使ってみよう! 株式会社コーソル 守田 典男CO-Sol for Community
 
SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦
SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦
SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦CO-Sol for Community
 
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会Ryota Watabe
 
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)Ryota Watabe
 
おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦
おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦 おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦
おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦 CO-Sol for Community
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2Ryota Watabe
 
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能Ryota Watabe
 
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまでShuichi Tsutsumi
 
Oracle SQL Developerを使い倒そう! 株式会社コーソル 守田 典男
Oracle SQL Developerを使い倒そう! 株式会社コーソル 守田 典男Oracle SQL Developerを使い倒そう! 株式会社コーソル 守田 典男
Oracle SQL Developerを使い倒そう! 株式会社コーソル 守田 典男CO-Sol for Community
 
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Ryota Watabe
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いバックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いRyota Watabe
 

Andere mochten auch (16)

バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
 
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
プロとしてのOracleアーキテクチャ入門 ~番外編~ @ Developers Summit 2009
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.
 
パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦
パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦
パフォーマンスタブ見れないんですけど!! 株式会社コーソル 河野 敏彦
 
Corruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUGCorruption And Revive - db tech showcase 2013 特濃JPOUG
Corruption And Revive - db tech showcase 2013 特濃JPOUG
 
Oracle Database Cloud Service を使ってみよう! 株式会社コーソル 守田 典男
Oracle Database Cloud Service を使ってみよう! 株式会社コーソル 守田 典男Oracle Database Cloud Service を使ってみよう! 株式会社コーソル 守田 典男
Oracle Database Cloud Service を使ってみよう! 株式会社コーソル 守田 典男
 
SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦
SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦
SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦
 
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会全社情報共有サイトへのAlfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
全社情報共有サイトへの Alfresco Community 5 導入事例紹介 - 第27回Alfresco勉強会
 
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
OSS-DB Silver ポイント解説セミナー ~SQL編~ (PostgreSQL9.0)
 
おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦
おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦 おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦
おじさん二人が語る OOW デビューのススメ! Oracle OpenWorld 2016参加報告 [検閲版] 株式会社コーソル 杉本 篤信, 河野 敏彦
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い - Database Lounge Tokyo #2
 
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
 
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
 
Oracle SQL Developerを使い倒そう! 株式会社コーソル 守田 典男
Oracle SQL Developerを使い倒そう! 株式会社コーソル 守田 典男Oracle SQL Developerを使い倒そう! 株式会社コーソル 守田 典男
Oracle SQL Developerを使い倒そう! 株式会社コーソル 守田 典男
 
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016 Oracle Databaseを用いて学ぶRDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
Oracle Databaseを用いて学ぶ RDBMSの基本 (抜粋版) - JPOUG Oracle Database入学式 2016
 
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違いバックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
バックアップと障害復旧から考えるOracle Database, MySQL, PostgreSQLの違い
 

Ähnlich wie Oracle Database In Lock

述語ロックの歴史 r2
述語ロックの歴史 r2述語ロックの歴史 r2
述語ロックの歴史 r2Sho Nakazono
 
C++ Transactional Memory言語拡張の紹介
C++ Transactional Memory言語拡張の紹介C++ Transactional Memory言語拡張の紹介
C++ Transactional Memory言語拡張の紹介yohhoy
 
Javaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うJavaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うKenji Kazumura
 
[INSIGHT OUT 2011] C22 RAC buffer sharing の仕組み(yamashita)
[INSIGHT OUT 2011] C22 RAC buffer sharing の仕組み(yamashita)[INSIGHT OUT 2011] C22 RAC buffer sharing の仕組み(yamashita)
[INSIGHT OUT 2011] C22 RAC buffer sharing の仕組み(yamashita)Insight Technology, Inc.
 
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)SolarisJPNight
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Wataru Fukatsu
 
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会naka hide
 
C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎Insight Technology, Inc.
 
並行実行制御の最適化手法
並行実行制御の最適化手法並行実行制御の最適化手法
並行実行制御の最適化手法Sho Nakazono
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 
Jvm reading-synchronization
Jvm reading-synchronizationJvm reading-synchronization
Jvm reading-synchronizationMinoru Nakamura
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介Orb, Inc.
 
A critique of ansi sql isolation levels 解説公開用
A critique of ansi sql isolation levels 解説公開用A critique of ansi sql isolation levels 解説公開用
A critique of ansi sql isolation levels 解説公開用Takashi Kambayashi
 
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料OSSラボ株式会社
 
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月VirtualTech Japan Inc.
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?Kuniyasu Suzaki
 
CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御Toshiharu Harada, Ph.D
 

Ähnlich wie Oracle Database In Lock (20)

述語ロックの歴史 r2
述語ロックの歴史 r2述語ロックの歴史 r2
述語ロックの歴史 r2
 
C++ Transactional Memory言語拡張の紹介
C++ Transactional Memory言語拡張の紹介C++ Transactional Memory言語拡張の紹介
C++ Transactional Memory言語拡張の紹介
 
Javaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使うJavaでトランザクショナルメモリを使う
Javaでトランザクショナルメモリを使う
 
[INSIGHT OUT 2011] C22 RAC buffer sharing の仕組み(yamashita)
[INSIGHT OUT 2011] C22 RAC buffer sharing の仕組み(yamashita)[INSIGHT OUT 2011] C22 RAC buffer sharing の仕組み(yamashita)
[INSIGHT OUT 2011] C22 RAC buffer sharing の仕組み(yamashita)
 
Datomic&datalog紹介
Datomic&datalog紹介Datomic&datalog紹介
Datomic&datalog紹介
 
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)#02-01 ZFS によるストレージ仮想化 (2012-04-20)
#02-01 ZFS によるストレージ仮想化 (2012-04-20)
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
 
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
 
C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎
 
並行実行制御の最適化手法
並行実行制御の最適化手法並行実行制御の最適化手法
並行実行制御の最適化手法
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
Jvm reading-synchronization
Jvm reading-synchronizationJvm reading-synchronization
Jvm reading-synchronization
 
分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介分散型台帳技術Orb DLTの紹介
分散型台帳技術Orb DLTの紹介
 
Orb oracle
Orb oracleOrb oracle
Orb oracle
 
A critique of ansi sql isolation levels 解説公開用
A critique of ansi sql isolation levels 解説公開用A critique of ansi sql isolation levels 解説公開用
A critique of ansi sql isolation levels 解説公開用
 
CDH4.0.0のNameNode HAを触ってみて
CDH4.0.0のNameNode HAを触ってみてCDH4.0.0のNameNode HAを触ってみて
CDH4.0.0のNameNode HAを触ってみて
 
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
 
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
 
CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御CaitSith 新しいルールベースのカーネル内アクセス制御
CaitSith 新しいルールベースのカーネル内アクセス制御
 

Kürzlich hochgeladen

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Kürzlich hochgeladen (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Oracle Database In Lock

  • 1. Oracle Database In Lock 2012/10/19 株式会社コーソル 渡部亮太
  • 2. Who am I?  渡部 亮太(わたべ りょうた)  book  「プロとしてのOracleアーキテクチャ入門」  「プロとしてのOracle運用管理入門」  presentation  Oracle DBA & Developer Days 2010, 2011  Developers Summit 2009  Oracle OpenWorld Tokyo 2012 Unconference など  Blog  コーソル DatabaseエンジニアのBlog http://co-sol.jp/techdb/  株式会社コーソル  「CO-Solutions=共に解決する」の理念のもと、Oracle技術 に特化した事業を展開中  社員数: 94名 (エンジニアのほぼ全員がOracle Master 所有) Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 1
  • 3. 本日お伝えしたいこと  Oracle Databaseには多数のロック機構が存在すること  それぞれのロック機構の役割と、ロック機構により実現される 同時実行制御に関するイメージ  注意書き  内部動作の情報が公開されていないなかで、渡部が推測した内 容がふくまれるため、本情報は、各自の理解を助けるための参考 にしてください  (当り前ですが)本情報を、何らかのアクションの唯一の「根拠」とし て活用することは避けてください Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 2
  • 4. RDBMSにおけるロック機構の必要性  一般的なRDBMS(クライアント-サーバー型)では複数の 処理が同時に実行される  ロック機構により排他制御を行わないと、様々なよからぬこ とが起きる  データの整合性が崩れる  直列処理が並列実行されてしまう  領域割り当てが重複してしまう  管理構造が破壊される  など Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 3
  • 5. データの整合性が崩れる #1 Process Process (or Session) (or Session) Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 4
  • 6. データの整合性が崩れる #2 Process Process (or Session) (or Session) Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 5
  • 7. 直列処理が並列実行されてしまう OK 処理#1 処理#2 NG 処理#2 Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 6
  • 8. 領域割り当てが重複してしまう Process Process (or Session) (or Session) 領域割り当て 領域割り当て 要求 要求 Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 7
  • 9. 管理構造が破壊される x y z OK NG x a z x y z a Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 8
  • 10. Oracle Databaseのロック機構 ロック機構 説明 エンキュー FIFO型で多数のロックモードを持つロック機構 ユーザー型 : ユーザーの操作(DML実行、DBMS_LOCK実行など)に 対応してエンキューが獲得、解放される システム型 : Oracleの内部動作に対応してエンキューが獲得、解放さ れる ライブラリキャッシュ いわゆるDDLロック。オブジェクトの定義変更に関わる排他制御に用いられ ロック る ライブラリキャッシュ ライブラリキャッシュオブジェクトの実体であるメモリ領域(ヒープ)の排他制御 ピン に用いられる ラッチ 仕組みが単純で低コスト。原則的に排他モードのみ。 複数プロセスで共有されるメモリ領域の排他制御に用いられる Mutex ラッチよりもさらに低コスト。 ライブラリキャッシュオブジェクトをより細かい粒度で保護できる 行キャッシュロック 共有プール内のディクショナリキャッシュの排他制御に用いられる Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 9
  • 11. 互換性とロック獲得待機 [例: 排他/共有モードを持つロックの互換性] 要求 S X 保持 なし ○ ○ ロック機構により、ロックモードの種類と S ○ × 互換性定義が異なることに注意 例) エンキューには7つのロックモードがある X × × 10 #1 ロック #2 対象 待機イベントX REQ HOLD mode=S mode=X #1 ロック #2 対象 HOLD HOLD mode=S mode=S Copyright (C) 2012 CO-Sol Inc. All Rights Reserved
  • 12. Oracle DBでのロック状態確認方法 機能 説明 例)TXエンキューの場合 V$ビュー ロック種別に応じたV$ビューで V$LOCK、 ロック状態、ロック関連統計情 V$TRANSACTION な ど 報を確認できる 待機イベント ロック獲得待機発生時、待機 'enq: TX - row lock セッションでロック種別、ロック contention' など の使用形態に応じた待機イベ ントが発生し、V$SESSION やSQLトレースから確認でき る 各種診断機 トレースファイルにdumpした system state, hang 能 動作詳細情報から、ロックに analyze 関わる情報を確認できる Copyright (C) 2012 CO-Sol Inc. All Rights Reserved
  • 13. エンキュー  様々なリソースに関わる同時実行制御に使用される  リソース毎に異なるタイプのエンキューが使用される  タイプはアルファベット2文字で表現される  例) TX = 行ロック, TM = 表ロック  獲得待機時に発生する待機イベント  "enq <タイプ> - <説明>"  例) TXエンキューの更新競合 → "enq: TX - row lock contention"  多数のロックモードと複雑な互換性を持つ(本日は説明を省略) Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 12
  • 14. エンキューの種類と分類  エンキューの種類  非常に多くの種類のエンキューが存在  V$LOCK_TYPEから確認可能  エンキューごとに保護する対象が異なる  ユーザー操作に関わる観点から、以下の2つに分類  ユーザー型  TXエンキュー=行ロック  TMエンキュー=表ロック  ULエンキュー=DBMS_LOCK  システム型  TX, TM, UL以外の全てのエンキュー  CFエンキュー=制御ファイルへのアクセス制御用ロック  など Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 13
  • 15. TXエンキュー  TXエンキューはユーザー型に分類されるエンキュー  獲得: トランザクションの開始(≒行の更新)  解放: トランザクションの終了(コミット or ロールバック)  TXエンキュー獲得待機時に発生する待機イベント  "enq: TX - row lock contention"  など  目的  データ(=行)の整合性を保護する Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 14
  • 16. [デモ] TXエンキュー獲得待機  デモ  同一行の更新によるTXエンキューの獲得+保持と獲得要求の競 合  シナリオ  1. 行XをUPDATE(コミットしない) → TXエンキューA 獲得+保持  2. 別セッションで行XをUPDATE → TXエンキューA 要求 → 待機イベント"enq: TX - row lock contention"で待機 Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 15
  • 17. CFエンキュー  CFエンキューはシステム型に分類されるエンキュー  獲得:制御ファイルへのアクセス開始  解放:制御ファイルへのアクセス終了  制御ファイルにはDatabaseの管理情報が記録される  主にDatabaseの管理タスクが実行されるタイミングでCFエンキュ ーを獲得  例) ログスイッチ、チェックポイント  目的  制御ファイルに格納された管理情報の整合性保護 Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 16
  • 18. CFエンキューの競合とタイムアウト  CFエンキュー獲得待機時に発生する待機イベント  "enq: CF - contention"  CFエンキュー獲得タイムアウト  ORA-600[2103]が発生  CFエンキューの競合が問題となる状況  何らかの理由で制御ファイルへのI/Oがハング  Oracle のBug  論理的には・・・実際に多くのセッションが制御ファイルにアクセスし て場合も考えられなくもない Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 17
  • 19. [デモ] CFエンキュー獲得待機  デモ  制御ファイルI/Oの遅延を疑似  シナリオ  1. gdbでブレークポイントを設定  2. ログスイッチ実行 → CFエンキュー獲得+保持  3. チェックポイント実行 → CFエンキュー要求 → 待機イベント"enq: CF - contention"で待機 Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 18
  • 20. ライブラリキャッシュロック  ライブラリキャッシュロックはオブジェクト定義変更に関わるロッ ク  排他モードで獲得:オブジェクトの定義変更  共有モードで獲得:オブジェクトの定義参照  良くある誤解  TMエンキュー(表ロック)とライブラリキャッシュロックを混同  獲得待機時に発生する待機イベント  " library cache lock" Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 19
  • 21. ライブラリキャッシュロックの保護対象 Library Cache hash bucket object handle object handle heap 0 heap n library ・・・ cache lock Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 20
  • 22. [デモ]ライブラリキャッシュロック  DDL実行でライブラリキャッシュロックを排他モードで獲得す る  デモシナリオ  1. 表にデフォルト値を含む列を追加 → 表のライブラリキャッシュロックを排他モードで獲得+保持  2. 表を参照するSQLを実行 → 表のライブラリキャッシュロックを共有モードで要求 → 待機イベント"library cache lock"で待機 Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 21
  • 23. ライブラリキャッシュピン  ライブラリキャッシュピンはオブジェクト定義+そのものに関わ るロック  排他モードで獲得:オブジェクトの変更  共有モードで獲得:オブジェクトの参照  獲得待機時に発生する待機イベント  'library cache pin'待機イベント  ライブラリキャッシュロックとライブラリピン  両者の関係性はあまり明確にされていない  一般的にロックを獲得した後、ピンを獲得or開放する Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 22
  • 24. ライブラリキャッシュピンの保護対象 Library Cache hach bucket object handle object handle heap 0 heap n ・・・ library cache pin Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 23
  • 25. [デモ]ライブラリキャッシュピン  ライブラリキャッシュピンはDDL実行で排他モードで獲得され る  デモシナリオ  1. 処理に長時間要するパッケージのプロシージャを実行 → パッケージのライブラリキャッシュピンを共有モードで獲得+保持  2. パッケージをコンパイル → パッケージのライブラリキャッシュロックを排他モードで獲得 → パッケージのライブラリキャッシュピンを排他モードで要求 → 待機イベント"library cache pin"で待機 Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 24
  • 26. ラッチ  SGA内に存在する共有メモリ領域の排他制御に使用され る  獲得:共有メモリ領域(群) へのアクセス開始  解放:共有メモリ領域(群)へのアクセス終了  共有メモリ領域へのアクセス  メモリ領域(データ)の更新、新規領域割り当て、管理構造(メタデ ータ)の更新など  基本的に獲得→解放は極めて短時間  一般にマイクロ秒(~ミリ秒)レベル  ラッチ獲得待機で発生する待機イベント  'latch: <ラッチ名>' (10.1-)  'latch free' Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 25
  • 27. ラッチ一覧  ラッチ関連V$ビュー  V$LATCH  V$LATCHNAME  V$LATCH_PARENT  V$LATCH_CHILDREN Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 26
  • 28. shared poolラッチ  共有プールにおけるメモリ領域(=チャンク)の割り当てに関 わる同時実行制御に使用される  同じメモリ領域を誤って別の用途に割り当てないように  空き領域確保にともなう各種管理構造のメンテナンスがバッティン グしないように Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 27
  • 29. 共有プールとshared poolラッチ 説明の便宜上、非常に単純化して書いています free list bucket subpool size=xx size=yy shared pool latch size=zz size=xx size=yy shared pool latch size=zz ・ ・ ・ free area Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 28
  • 30. [デモ]shared poolラッチ  デモシナリオ  1. V$LATCH_CHILDRENからshared poolラッチのアドレス を確認  2. oradebugでshared poolラッチを獲得  3. SQLを実行 → ハードパース発生 → チャンク確保要求 → shared poolラッチ要求 → 待機イベント"latch: shared pool" 発生 Copyright (C) 2012 CO-Sol Inc. All Rights Reserved 29