Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

Oracle® Enterprise Manager (OEM) 12c และ 13c มีเครื่องมือวิเคราะห์ประสิทธิภาพมากมาย รวมถึงเครื่องมือสนับสนุนที่เรียกว่า OEM Real-Time Automatic DatabaseDiagnostic Monitor (Real-Time ADDM) เพื่อให้ Oracle DBA ใช้การแก้ปัญหาหรือปรับแต่งประสิทธิภาพการทำงานต่อเนื่องแบบเรียลไทม์ ปัญหา. บล็อกนี้แบ่งปันความรู้เกี่ยวกับการใช้งานจริงของ ADDM แบบเรียลไทม์เพื่อระบุและเอาตัวรอดจากเหตุฉุกเฉินอันเนื่องมาจากปัญหาความสมบูรณ์ของฐานข้อมูลทุกประเภท เช่น เซสชัน 100% การใช้กระบวนการ หรือการตั้งค่าขีดจำกัดวิกฤตที่กำหนดไว้ล่วงหน้าสำหรับอินพุต/เอาต์พุต (I/O) หน่วยความจำหรือขีดจำกัดการเชื่อมต่อ ในกรณีเช่นนี้ Real-TimeADDM เป็นเครื่องมือที่มีประโยชน์มาก และให้ความสามารถในการวิเคราะห์ ADDM แบบเรียลไทม์และสมจริงเชิงลึกของฐานข้อมูล ดังนั้นเรามาเปรียบเทียบ RADDM กับ ADDM กัน

ADDM คืออะไร

ADDM เป็นเครื่องมือที่มีให้โดย Oracle Database (เริ่มต้นด้วยเวอร์ชัน 10g) เพื่อวิเคราะห์ข้อมูลใน Automatic Workload Repository (AWR) เพื่อระบุปัญหาคอขวดด้านประสิทธิภาพที่อาจเกิดขึ้น สำหรับแต่ละปัญหาที่ระบุ จะค้นหาสาเหตุและให้คำแนะนำในการแก้ไขปัญหา

ADDM แบบเรียลไทม์คืออะไร

ใน Oracle Enterprise Manager (OEM) Cloud Control 12c นั้น Oracle ได้แนะนำเครื่องมือ Real-Time ADDM ซึ่งช่วยวิเคราะห์และแก้ไขปัญหาในฐานข้อมูลที่ไม่ตอบสนองหรือหยุดทำงาน ซึ่งตามปกติแล้วคุณจะต้องรีสตาร์ทฐานข้อมูล Real-Time ADDM ทำงานผ่านชุดเกณฑ์ที่กำหนดไว้ล่วงหน้า เพื่อวิเคราะห์ประสิทธิภาพปัจจุบันของฐานข้อมูล หากตรงกับเกณฑ์ใดๆ ADDM แบบเรียลไทม์จะช่วยแก้ไขปัญหาที่ระบุได้ (เช่น การหยุดชะงัก การหยุดทำงาน การแย่งชิงพูลที่ใช้ร่วมกัน และสถานการณ์ข้อยกเว้นอื่นๆ) โดยไม่ต้องรีสตาร์ทฐานข้อมูล

ผู้ดูแลระบบฐานข้อมูล (DBA) สามารถใช้ Real-Time ADDM เพื่อวิเคราะห์ประสิทธิภาพของฐานข้อมูลโดยอัตโนมัติ เช่น ในกรณีที่คุณไม่สามารถเข้าสู่ระบบฐานข้อมูลได้เนื่องจากฐานข้อมูลอยู่ในสถานะหยุดทำงานและทำงานช้าเนื่องจากปัญหาด้านประสิทธิภาพ ในสถานการณ์เช่นนี้ ADDM แบบเรียลไทม์จะระบุแหล่งที่มาของความขัดแย้งของ SQL บนทรัพยากรทั่วโลก

Real-Time ADDM ยังทำการวิเคราะห์เวลาฐานข้อมูลที่เหมือนจริงทั้งหมด เช่น ADDM เมื่อคุณเรียกใช้ Real-Time ADDM บนฐานข้อมูลที่มีกิจกรรมฐานข้อมูลสูงผิดปกติ จะสามารถตรวจจับปัญหาด้านประสิทธิภาพสูงสุดที่ส่งผลต่อฐานข้อมูลในปัจจุบันและค้นหาผู้บริโภครายใหญ่ของเวลาฐานข้อมูล เช่น เซสชัน SQL การเชื่อมต่อแอปพลิเคชัน และอื่นๆ

ความแตกต่างระหว่าง ADDM และ ADDM แบบเรียลไทม์

ADDM เป็นเครื่องมือวิเคราะห์ประสิทธิภาพระดับฐานข้อมูล และ Real-TimeADDM เป็นเครื่องมือ OEM เวอร์ชัน 12c plus คุณต้องมี OEM พร้อมเชื่อมต่อกับฐานข้อมูลเพื่อใช้ ADDM แบบเรียลไทม์

ความแตกต่างที่สำคัญระหว่าง ADDM และ Real-Time ADDM คือ Real-Time ADDM ใช้การเชื่อมต่อโหมดการวินิจฉัยเพื่อเข้าถึงข้อมูล Active Session History (ASH) โดยตรงใน System Global Area (SGA) ของอินสแตนซ์ฐานข้อมูล โดยข้ามการเชื่อมต่อโหมดปกติและ โดยไม่ต้องใช้ทรัพยากรทั่วโลก เช่น แลตช์และคิว หรือทรัพยากรโฮสต์จำนวนมากเกินไป

เหตุใดจึงต้องใช้ ADDM แบบเรียลไทม์

รายการต่อไปนี้แสดงเหตุผลในการใช้ ADDM แบบเรียลไทม์:

  • วิเคราะห์ประสิทธิภาพของฐานข้อมูลปัจจุบันเมื่อหยุดทำงานหรือทำงานช้า
  • ค้นหาแหล่งที่มาของความขัดแย้งที่รุนแรง
  • ทำการวิเคราะห์เวลาของฐานข้อมูลเพื่อตรวจหาปัญหาด้านประสิทธิภาพสูงสุด
  • กำหนดการเชื่อมต่อการวินิจฉัยกับ SGA
  • หลีกเลี่ยงความต้องการ HANGANALYZE ของ ORADEBUG (ยูทิลิตี้การติดตามพื้นฐานของ OracleDatabase) สำหรับการอ่านและวิเคราะห์ไฟล์การติดตามขนาดใหญ่

HANGANALYZE คืออะไร

HANGANALYZE เป็นตัวเลือกภายใน ORADEBUG เพื่อค้นหารายละเอียดเกี่ยวกับการหยุดทำงานหรือการบล็อก ด้วยการใช้ตัวเลือก HANGANALYZE DBA สามารถเชื่อมต่อไปยัง hungdatabase และสร้างไฟล์การติดตาม ซึ่งสามารถอ่านหรือใช้กับเครื่องมือวิเคราะห์การติดตามเพื่อระบุปัญหาฐานข้อมูลที่หยุดทำงาน

การแก้ปัญหาด้วยการสาธิต ADDM แบบเรียลไทม์

สมมติว่าคุณตั้งค่า OEM 12c โดยเชื่อมต่อกับฐานข้อมูลเป้าหมาย คุณสามารถใช้ขั้นตอนต่อไปนี้เพื่อใช้การวิเคราะห์ ADDM แบบเรียลไทม์เมื่ออินสแตนซ์ฐานข้อมูลของคุณอยู่ในสถานะหยุดทำงาน

เปิดเซสชันเทอร์มินัลแล้วลองเชื่อมต่อกับฐานข้อมูล สังเกตว่าเซสชั่นยังไม่เริ่ม เมื่อไม่ได้สร้างการเชื่อมต่อ คุณจะไม่สามารถเข้าสู่ระบบฐานข้อมูลได้เนื่องจากสภาวะหยุดทำงานดังที่แสดงในภาพต่อไปนี้:

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

ตอนนี้ ไปที่ OEM และภายใต้ เป้าหมาย เมนู เลือก Databases for Troubleshooting และค้นหาชื่อฐานข้อมูล ดังที่แสดงในภาพต่อไปนี้ ฉันกำลังค้นหา CAC****1P .

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

คลิกที่ชื่อฐานข้อมูล อาจใช้เวลาเล็กน้อย โปรดรอเพื่อรีเฟรช เล็กน้อย คุณเห็นข้อความแสดงข้อผิดพลาดที่เน้นในภาพต่อไปนี้:

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

สำหรับอินสแตนซ์ฐานข้อมูลนี้ นี่คือที่ที่ ADDM แบบเรียลไทม์จะมีประโยชน์มากสำหรับผู้ดูแลระบบฐานข้อมูล (DBA) ในการวินิจฉัยสถานการณ์ มาเริ่มใช้ Real-Time ADDM บนอินสแตนซ์ฐานข้อมูลนั้นกัน จากฐานข้อมูลในหน้า ไปที่ ประสิทธิภาพ เมนูและเลือก Real-Time ADDM ซึ่งจะนำคุณไปยังหน้าจอที่แสดงในภาพต่อไปนี้ ในสถานการณ์นี้ Real-Time ADDM ใช้การเชื่อมต่อทางอ้อมเนื่องจากอินสแตนซ์หยุดทำงาน

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

คุณต้องใช้ข้อมูลประจำตัว SYSDBA สำหรับการเชื่อมต่อ Real-Time ADDM ในสถานการณ์หยุดทำงาน ดังที่แสดงในภาพต่อไปนี้:

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM (Picture5.png)

หลังจากสร้างการเชื่อมต่อโหมดการวินิจฉัยแล้ว คุณสามารถอ่านข้อมูล ASH ได้โดยตรงในหน่วยความจำ โดยเริ่มจากชั่วโมงก่อนหน้า หลังจากเข้าสู่ระบบ คุณสามารถดู topactivity ที่ด้านบนของโปรแกรมกิจกรรมดังแสดงในภาพต่อไปนี้:

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

จะเห็นว่าปัญหาที่ทำให้ฐานข้อมูลค้าง ในตัวอย่างนี้ มันเกี่ยวข้องกับคลาสน้ำหนักของแอปพลิเคชัน เพื่อรับมือกับสถานการณ์นี้ คุณต้องเริ่มการวินิจฉัยเพื่อรับข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับปัญหา คลิก เริ่ม เริ่มการวิเคราะห์ ADDM แบบเรียลไทม์จะดู ASHsamples ในช่วงสิบนาทีที่ผ่านมาเพื่อพิจารณาปัญหา หากต้องการหยุดหลังจาก 10 นาที ให้คลิก STOP . หลังจากนี้เสร็จแล้ว Real-Time ADDM จะแสดงผลตามลำดับความสำคัญ ภาพต่อไปนี้ระบุถึงการวิเคราะห์ภายใต้ ผลการวิจัย แท็บ

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

ในตัวอย่างนี้ มันแสดงการรอของเซสชันที่ยังไม่ได้รับการแก้ไข ซึ่งทำให้ฐานข้อมูลหยุดทำงาน คำแนะนำในการแก้ไขปัญหาแสดงอยู่ในภาพต่อไปนี้:

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM ในตัวอย่างนี้ แนะนำ ADDM แบบเรียลไทม์ (ดังที่แสดงในภาพก่อนหน้า) ที่คุณฆ่าเซสชันเฉพาะ . หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการที่ต้องยุติ ไปที่ แฮงข้อมูล แท็บดังแสดงในภาพต่อไปนี้:

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

คลิกที่ ตัวบล็อกสุดท้าย เพื่อดูสรุปเซสชันตัวบล็อก ตามคำแนะนำ ให้ฆ่าเซสชันที่คุณมีรายละเอียดเซสชันที่ระดับฐานข้อมูลSession ID (SID), Serial # และ OS Process ID หากคุณยังไม่สามารถเข้าสู่ระบบฐานข้อมูลได้ ตัวเลือกเดียวที่มีคือฆ่า OS Process ID ในการทำเช่นนั้น ให้เปิดเทอร์มินัลแล้วฆ่าเซสชันที่ทำให้เกิดปัญหาดังที่แสดงในภาพต่อไปนี้:

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

หลังจากนั้น คุณจะเห็นว่าเซสชันที่ถูกบล็อกสามารถดำเนินการต่อได้ในหน้าต่าง ADDManalysis แบบเรียลไทม์ ตอนนี้ให้ลองเชื่อมต่อกับการเชื่อมต่อ SQL Plus จากเทอร์มินัล และคราวนี้การเชื่อมต่อสำเร็จดังแสดงในภาพต่อไปนี้:

การแก้ไขปัญหาฐานข้อมูลและเซสชัน Oracle ที่หยุดทำงานด้วย Real-Time ADDM

บทสรุป

เครื่องมือ ADDM แบบเรียลไทม์จาก OEM Cloud Control 12c เป็นหนึ่งในเครื่องมือที่ดีที่สุดและรวดเร็วที่สุดของ Oracle เพื่อสนับสนุนการวินิจฉัยความสมบูรณ์ของฐานข้อมูลที่สำคัญ ในกรณีของฐานข้อมูลที่หยุดทำงาน ADDM แบบเรียลไทม์จะกลายเป็นการสนับสนุนที่ชัดเจนและมีประสิทธิภาพของ DBA โดยเฉพาะอย่างยิ่งเมื่อเปรียบเทียบกับการใช้งาน ADDM ที่จำกัด และยูทิลิตี้การติดตาม HANGANALYZE ของ ORADEBUG คุณสามารถใช้ขั้นตอนก่อนหน้าเพื่อเอาชนะฐานข้อมูลของคุณหรือปัญหาเซสชันที่หยุดทำงานเพื่อให้ฐานข้อมูลของคุณทำงานได้

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม