เผยแพร่โดย TriCore เดิม: 11 เมษายน 2017
ชุดบทความ 2 ส่วนนี้ครอบคลุมฟีเจอร์ Performance Tuning ใหม่ของ Oracle® Database Versions 12.1.0.1 และ 12.1.0.2 ส่วน 1 อภิปราย Version ก่อนหน้า
ฟีเจอร์ใหม่ใน Oracle Database 12.1.0.1
ฟีเจอร์ต่อไปนี้เป็นใหม่ใน Oracle Database Version 12.1.0.1:
- Real-Time Automatic Database Diagnostic Monitor (ADDM)
- รองรับการจำกัดขนาด Program Global Area (PGA)
- Active Session History (ASH) Enhancements
Real-Time ADDM
Real-Time ADDM ช่วยให้คุณวิเคราะห์และแก้ไขปัญหาใน Hung Database โดยไม่ต้อง Restart Database ส่วนนี้อธิบาย Real-Time ADDM รายละเอียด
Real-Time ADDM Connection Modes
Real-Time ADDM ใช้หนึ่งในสอง Connection Modes เพื่อเชื่อมต่อกับ Database ผ่าน Oracle Enterprise Manager (OEM) โหมดที่ใช้ขึ้นอยู่กับ Database State:
-
Normal Connection: ในโหมดนี้ Real-Time ADDM ใช้ Java Database Connectivity (JDBC) เพื่อเชื่อมต่อกับ Database โหมดนี้ทำ Performance Analysis แบบครอบคลุมของ Database เมื่อมี Connectivity
-
Diagnostic Connection: ในโหมดนี้ Real-Time ADDM ทำ Latch-less Connection ไปยัง Database โหมดนี้มีประโยชน์สำหรับสถานการณ์ Hang รุนแรงเมื่อ Normal JDBC Connection ไม่เป็นไปได้
Real-Time ADDM Triggers
Real-Time ADDM รันทุก 3 วินาทีโดยอัตโนมัติและใช้ In-Memory Data เพื่อวินิจฉัยปัญหา Database Performance มัน Trigger การวิเคราะห์โดยอัตโนมัติเมื่อตรวจพบปัญหา Performance ฟังก์ชันนี้เกี่ยวข้องกับขั้นตอนต่อไปนี้:
-
ทุก 3 วินาที Manageability Monitor (MMON) Process ทำ Action เพื่อรับ Performance Statistics โดยไม่มี Lock หรือ Latch
-
MMON Process ตรวจสอบ Statistics เหล่านี้และ Trigger Real-Time ADDM Analysis หากพบ Issues ใดๆ ที่ปรากฏใน Table 1
-
MMON Slave Process สร้าง Report และจัดเก็บใน Automatic Workload Repository (AWR) สำหรับข้อมูลเพิ่มเติม คุณสามารถตรวจสอบ View
DBA_HIST_REPORTSและDBA_HIST_REPORTS_DETAILS
คุณยังสามารถใช้คำสั่งต่อไปนี้เพื่อสร้าง Report ด้วยตนเอง:
SQL> select dbms_addm.real_time_addm_report() from dual; Table 1: Performance Issues และ Conditions ที่ Trigger Real-Time ADDM Analysis
| Issue | Condition |
|---|---|
| High Load | Average Active Sessions มากกว่า 3x จำนวน CPU Cores |
| I/O Bound | I/O Impact บน Active Sessions 基于 Single Block Read Performance |
| CPU Bound | Active Sessions มากกว่า 10% ของ Total Load และ CPU Utilization มากกว่า 50% |
| Over-allocated Memory | Memory Allocations เกิน 95% ของ Physical Memory |
| Interconnect Bound | 基于 Single Block Interconnect Transfer Time |
| Session Limit | Session Limit ใกล้ 100% |
| Process Limit | Process Limit ใกล้ 100% |
| Hung Session | Hung Sessions มากกว่า 10% ของ Total Sessions |
| Deadlock Detected | ตรวจพบ Deadlock ใดๆ |
แหล่งที่มา: Database Performance Tuning Guide, Chapter 7: Automatic Performance Diagnostics: Real-Time ADDM Connection Modes
Real-Time ADDM Trigger Controls
เพื่อให้แน่ใจว่า Automatic Triggers ไม่ใช้ System Resources มากเกินไป Real-Time ADDM ใช้ Controls ต่อไปนี้:
-
Duration Between Reports: หาก Automatic Trigger สร้าง Real-Time ADDM Report ใน 5 นาทีที่ผ่านมา จะไม่สร้าง Report ใหม่
-
Oracle Real Application Clusters (RAC) Control: Automatic Triggers เป็น Local ต่อ Database Instance สำหรับ Oracle RAC มีเพียงหนึ่ง Database Instance ที่สามารถสร้าง Real-Time ADDM Report ได้ในเวลาเดียวกัน
-
Repeated Triggers: Automatic Trigger สำหรับ Issue ใดๆ ต้องมี Impact 100% หรือสูงกว่า Report ก่อนหน้าที่มี Trigger Issue เดียวกันภายใน 45 นาทีที่ผ่านมา
-
Newly Identified Issues: หากตรวจพบ Issue ใหม่ที่ไม่เคยตรวจพบภายใน 45 นาทีที่ผ่านมา จะสร้าง Report ใหม่
การจำกัดขนาดของ PGA
PGA Usage มากเกินไปอาจนำไปสู่ Swapping Rate สูง เมื่อเกิดเหตุการณ์นี้ ระบบอาจกลายเป็น Unresponsive และ Unstable หากเกิดขึ้น ให้พิจารณาใช้ Initialization Parameter PGA_AGGREGATE_LIMIT เพื่อจำกัด Overall PGA Usage
ส่วนต่อไปอธิบายวิธีจำกัดขนาด PGA โดยใช้ Initialization Parameter PGA_AGGREGATE_LIMIT ใน Oracle Database 12c R1 (12.1.0.1) และสูงกว่า
เกี่ยวกับ Parameter PGA_AGGREGATE_LIMIT
หากค่าที่กำหนดใน Parameter PGA_AGGREGATE_LIMIT ถูกเกิน Oracle Database จะ Abort หรือ Terminate Sessions หรือ Processes ที่ Consume Untunable PGA Memory มากที่สุด Oracle Database ทำ Termination ตามลำดับดังนี้:
- เรียก Sessions ที่ Consume Untunable PGA Memory มากที่สุดและ Abort พวกเขา
- หาก PGA Memory Usage ยังเกิน
PGA_AGGREGATE_LIMITOracle Database จะ Terminate Sessions และ Processes ที่ Consume Untunable PGA Memory มากที่สุด
Oracle Database จัดการ Parallel Queries เป็นหน่วยเดียว โดยค่าเริ่มต้น Parameter PGA_AGGREGATE_LIMIT ถูกตั้งค่าเป็นค่าที่มากกว่าของ 2 GB, 200% ของค่า PGA_AGGREGATE_TARGET หรือ 3 MB คูณค่าของ Parameter PROCESSES อย่างไรก็ตาม ไม่เกิน 120% ของ Physical Memory Size ลบ Total System Global Area (SGA) Size
การตั้งค่า Parameter PGA_AGGREGATE_LIMIT
Initialization Parameter PGA_AGGREGATE_LIMIT สามารถตั้งค่าได้แบบ Dynamic Database ไม่ต้อง Restart คุณสามารถตั้งค่า PGA_AGGREGATE_LIMIT ได้ไม่ว่าจะ Oracle Database ใช้ Automatic Memory Management หรือไม่
การเปลี่ยนแปลง Parameter PGA_AGGREGATE_LIMIT
ตั้งค่า Initialization Parameter PGA_AGGREGATE_LIMIT เป็นค่าใหม่ในหน่วย Bytes การตั้งค่าเป็น 0 จะ Disable Hard Limit บน PGA Memory
เมื่อ PGA_AGGREGATE_LIMIT ถูกเกิน Oracle Database ทำ Actions ต่อไปนี้:
- Abort Calls ที่เกี่ยวข้องกับ Sessions ที่ใช้ Untunable Memory มากที่สุด
- หาก Total PGA Memory Usage ยังเกิน Limit ให้ Terminate Sessions ที่ใช้ Untunable Memory มากที่สุด
sys.processes และ Background Processes ยกเว้น Job Queue Processes ไม่ได้รับผลกระทบ แทนที่จะเป็นเช่นนั้น หากพวกเขาใช้ Untunable Memory มากที่สุด พวกเขาจะเขียน Summary สั้นๆ ของ PGA Usage ของพวกเขาไปยัง Trace File เป็นระยะ
ASH Enhancements
ตั้งแต่ Oracle 12c คุณสามารถเข้าถึง ASH Data Visualization ผ่านหน้า OEM ใหม่ชื่อ ASH Analytics หน้านี้ช่วยให้คุณ Drill Down ลงไปใน Logical Dimensions คุณยังสามารถส่ง Report ให้ผู้ใช้คนอื่นที่สามารถดู Offline ได้

แหล่งที่มารูปภาพ: OCP 12C – Emergency Monitoring, Real-Time ADDM
สรุป
ฟีเจอร์ใหม่เหล่านี้ร่วมกันช่วยให้คุณ Troubleshoot และปรับปรุง Database Performance สำหรับ Oracle Database 12c Release 1 ส่วน 2 ของชุดนี้ครอบคลุมฟีเจอร์ใหม่เพิ่มเติมและการเปลี่ยนแปลงใน Performance Tuning ใน Oracle Database 12.1.0.2
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม
อ้างอิง
แหล่งข้อมูลต่อไปนี้ถูกใช้เป็น Reference สำหรับบทความบล็อกนี้:
-
Database Performance Tuning Guide, Chapter 7: Automatic Performance Diagnostics: Real-Time ADDM Connection Modes
-
Database Performance Tuning Guide, Chapter 7: Automatic Performance Diagnostics: ADDM Analysis Results