Monitoring Performance Using Enterprise Manager Database Express
โดยคุณ Nitpong Rungruengsri

ตัวอย่างนี้จะอธิบายวีธี Monitor Database Performance โดยใช้ Enterprise Manager Database Express หรือ EM.

Introduction

Enterprise Manager Database Express หรือ EM เป็น Feature ใหม่ใน Oracle Database 12c จะมาพร้อมกับตัว database และมาแทนที่ตัว EM เวอร์ชั่น ก่อน (Enterprise Manager Database Control) ทําการ install ไม่ยุ่งยาก ไม่กินทรัพยากรมาก

สามารถทําการวิเคราะห์การทาํงานของ Database และยังแสดงผลในลักษณะของ Graphical อีกด้วย

Prerequisites

สิ่งจําเป็นที่จะต้องมี
Oracle Database 12c
Software ที่ใช้ในการสร้าง Workload ให้กับ Database.

การสร้าง Workload บน Database

Edit /u01/software/frame/bin/start.sh. Change /home/oracleto /home/oracle/emexp. Change ./db12c.envto ./noncdb.env.

Edit $ORACLE_HOME/network/admin/tnsnames.ora. Remove the database domain name (example.com) from all of the SERVICE_NAMEparameters.

Start the Workload Generator.

./home/oracle/emexp/start_load.sh

ตรวจสอบการทํางานของ workload

ps -eaf | grep frame
หน้าตา Output จะคล้ายๆ แบบนี้

page1image9368

ควรปล่อยให้ workload ทํางานก่อนอย่างน้อย 5 – 10 นาที จะทําให้ข้อมูลที่จะทําการทดสอบมีประสิทธิภาพมากยิ่งขึ้น


เริ่มต้นการเข้าใช้ EM Express

เปิด Browser พิมพ์ URL http://localhost:5555/em
Login ด้วย Username sys , Password oracle และ check เครื่องหมาย "as sysdba"

page2image4184
เลือก Performance menu > Performance Hub option.

page2image4992


สามารถเลือกตารางเวลาที่เราสนใจได้

1. บนหน้า PerformanceHubจะเห็นตารางเวลาอยู่ด้านขวาบนสามารถคลิกลากบนตารางเวลาที่เราสนใจได้

page3image2904
page3image3712
พื้นที่ในตารางเวลาที่เราเลือกจะ match กับ chart performance ต่างๆ ด้วย

page3image4520


ตรวจสอบ Activity ต่างๆ

คลิ้กที่ tab Activity เพื่อดู details ต่างๆ อิงจากตารางเวลาที่เราเลือกไว้

page4image4544
คลิก Wait Class > Session Identifiers > User ID เพื่อดู user ที่ ทํางานอยู่

page4image5352
วาง cursor บนพื้นที่ๆ ใหญ่ที่สุดบนกราฟ จะแสดง User ID ที่มี workload มากที่สุดเป็น Highlight สีเหลือง , คลิ้กเพื่อ filter user ID ออกมาแสดงผลการทํางานเพียง user เดียว

page4image6000
page4image6160

จะเห็นว่ากราฟแสดงผล workload เพียง user ที่ถูก filter แล้ว ตามตารางเวลาที่เราเลือก ทําให้เราสามารถ focus ที่ user นี้ได้ในกรณี

page5image4400
คลิ้กที่ Wait Class drop-down list, เลือก Top Dimentions > Module เพื่อดู Module ที่ User ใช้งานอยู่

page5image5208
Module ที่ User ใช้งานอยู่จะแสดงอยู่ด้านขวา , คลิ้กบน Module ที่ใช้งานมากที่สุด

page5image6016
จะทําการ Filter Module ออกมาให้ด้วย

page5image6824
วิธีลบ Filter ออก , คลิ้ก X บน Filter

page6image2448

page6image3256


สํารวจ Tab Workload ตามตารางเวลา

คลิ้ก Workload tab เพื่อดู details ต่างๆ เกี่ยวกับ workloads ตามตารางเวลาที่เราเลือก , ใน tab workload จะมี tab ย่อยชื่อ ว่า Workload Profile , Sessions และ Top SQL Sections.

page6image5952
ใน tab Workload Profile คลิ้ก Parse Calls เพื่อดูการทํางานของ Parse Calls ตามตารางเวลาที่เลือก

page6image7608
จะเห็น Hard Parse และ Parse Counts ทั้งหมด

page7image1600
page7image1760
คลิ้ก Redo Size.

page7image3096
จะเห็นการทํางานของ Redo ทั้งก่อนและหลัง ตามตารางเวลาที่เลือก

page7image5576
คลิ้ก Open Cursors เพื่อดูการทํางานของ Cursors

page7image6384
page7image7192

ใน Top SQL Section จะเห็น SQL ID ranked ต่างๆ ที่ใช้งาน คลิ้กที่ SQL ID ที่ใช้งานมากที่สุด

page8image2048
สามารถตรวจสอบดู ค่า SQL ต่างๆ ได้

page8image5264

การตรวจสอบ Activity ของ SQL ID ที่เจาะจงในตารางเวลาที่เลือก

คลิ้ก Activity tab เพื่อดู detail ของ SQL ID ที่เจาะจง ในตารางเวลาที่เลือก

page8image5912

ข้อมูลต่างๆ จะรวมอยู่ในหน้านี้ทั้งหมด ตามที่เราได้เลือก SQL ID ดูได้จากตรง Filter และ จะไม่สามารถลบ Filter ออกได้เพราะได้ทํา การเลือก SQL ID แบบเจาะจงไว้แล้ว

page9image3976
Wait Class เป็น default activity ที่โชว์สําหรับ SQL ID. ถ้าต้องการดู User , คลิ้ก Wait Class drop-down list, เลือก Session Identifiers > User ID.

page9image4784

จะเห็น Detail SQL ID ของ User ที่เลือกใน Activity และ ในตารางเวลา , Activity ต่างๆ ของ SQL ID จะถูก highlight.

page10image4680
Activity ที่ไม่ใช้จะเป็นพื้นที่ว่าง

page10image5488


ตรวจสอบค่า TableSpace

คลิ้ก Storage tab, เลือก Tablespaces.

page10image6296
สามารถ Check storage statistics ของ tablespaces ยกตัวอย่างเช่น Temp กับ Undo. ข้อมูลเหล่านี้มีความสําคัญในการวิเคราะห์ Workload

page10image7104

คลิ้ก View > Expand All เพื่อดู tablespaces ทั้งหมด และ datafiles ทั้งหมดในแต่ละ tablespace.

page11image2376
page11image2536
Tablespaces และ datafiles จะปรากฏ

page11image3912
คลิ้ก View > Flatten.

page11image4808

จะเห็นเฉพาะ datafiles และ index files.

page12image6704


การ Stop Workload Generation บน Database

Edit /home/oracle/emexp. Change $HOMEto $HOME/emexp. Change ./db12c.envto ./noncdb.env.

Stop the workload generator. ./home/oracle/emexp/stop_load.sh

ตรวจสอบสถานะของ workload generator ว่าปิดหรือยัง

ps -eaf | grep frame

จะไม่เห็นการเปลี่ยนแปลงต่างๆ จากคําสั่ง "ps -eaf".

บทความนี้ผมพยายามเรียบร้อยให้เข้าใจง่ายๆ นะครับ ขออภัยด้วยถ้าผิดพลาดประการใด ขอบคุณครับ

140526.23:56:27
• ปรับแก้จาก PDF ลง web.
• เผยเพร่ทาง website.

140527.2:40:05
• ปรับแก้ชื่อผู้เรียบเรียงจาก Deba Chatterjee เป็น Nitpong Rungruengsri.