ตรวจสอบว่าฐานข้อมูล Oracle เป็นอย่างไร


14

สำหรับแอปพลิเคชันของเราเรามีไฟล์กำหนดค่าสำหรับเชื่อมต่อกับฐานข้อมูล Oracle (URL, ชื่อผู้ใช้, รหัสผ่าน)

แอปพลิเคชันใช้เวลา 2-5 นาทีในการเริ่มต้น หากมีสิ่งผิดปกติกับฐานข้อมูลฉันเห็นสิ่งนี้ในบันทึก แต่ฉันต้องรอ 2-5 นาที นี่เป็นเวลานานมาก

ดังนั้นฉันต้องการค้นหาอย่างรวดเร็วและเป็นเพียงวิธีการตรวจสอบว่าฐานข้อมูลนั้นโอเคและออนไลน์ทั้งหมด

คุณมีความคิดว่าฉันจะทำอย่างไร?

คำตอบ:


17

ถ้าคุณเรียกใช้แบบสอบถามต่อไปนี้:

SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

มันควรจะกลับมา:

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
YOUR_DBASE       OPEN         ACTIVE

12

ps -ef | grep pmon

กระบวนการ PMON (การตรวจสอบกระบวนการ) ตรวจสอบกระบวนการพื้นหลังอื่น ๆ ทั้งหมด จากนั้นคุณต้องตรวจสอบบันทึกการแจ้งเตือนเพื่อตรวจสอบเพิ่มเติม


4

สิ่งแรกสิ่งแรก: คุณจำเป็นต้องรู้ชื่อผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับฐานข้อมูลสำหรับขั้นตอนที่ 2

  1. ตรวจสอบการทำงานของ oracle:

    ใน Un * x:

    ps -ef|grep pmon

    บน Windows:

    tasklist|findstr /i oracle

    หากคำสั่งในกรณีใด ๆ ส่งคืนเอาต์พุตเช่นหากกระบวนการ pmon / oracle กำลังทำงานในสภาพแวดล้อมของคุณฐานข้อมูลกำลังทำงาน

  2. ไปที่ORACLE_HOME/binและรัน:

     ./sqlplus /nolog

    หากหลังจากเข้าสู่ระบบคุณได้รับข้อผิดพลาดฐานข้อมูลจะไม่ทำงาน:

    SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 31 21:61:61 2014
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    Enter user-name: oracle
    Enter password: 
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux-x86_64 Error: 2: No such file or directory
    Process ID: 0
    Session ID: 0 Serial number: 0

1
บน windows เริ่มต้นของ sqlplus จะเป็น sqlplus / nolog
Igor Vuković

3

คุณควรใช้ / เขียนสคริปต์ที่จะเชื่อมต่อกับเซิร์ฟเวอร์และดูว่าฐานข้อมูลของคุณออนไลน์ ที่นี่พวก Oracle จะช่วย เพียงเรียกใช้งานจากสคริปต์ชุด / เชลล์ (ดูการเรียกใช้สคริปต์จากบรรทัดคำสั่ง SQL ) และดูผลลัพธ์ หากทุกอย่างเรียบร้อยดีกว่าที่คุณมีคำตอบ

หรือลองกับไคลเอนต์ SQL * Plus


0

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

SELECT pk_column 
  FROM sometable
WHERE rownum <= 1

0

PMON จะตรวจสอบกระบวนการ bg ทั้งหมด

ps -ef|grep pmon

นอกจากนี้เราสามารถตรวจสอบว่าฐานข้อมูลกำลังทำงานอยู่หรือไม่

ps -ef|grep mydb

-1

เพื่อตรวจสอบสถานะฐานข้อมูลทั่วไปฉันแนะนำ:

  1. ตรวจสอบว่ากระบวนการฐานข้อมูลกำลังทำงานอยู่หรือไม่ ตัวอย่างเช่นจาก Unix shell ให้รัน:

    $ ps -ef | grep pmon

    จะแสดงฐานข้อมูลที่รันอยู่เวลาเริ่มต้นและผู้ใช้ Oracle คนใดที่เริ่มต้นแต่ละคน

  2. ตรวจสอบว่าผู้ฟังกำลังใช้งาน$ ps -ef | grep tnsและ$ lsnrctl status LISTENER

  3. การเลือกgv$resource_limitจะแสดงหากฐานข้อมูลมีข้อ จำกัด ที่กำหนดไว้

  4. เพื่อตรวจสอบว่ามีข้อผิดพลาดฐานข้อมูลใด ๆ alert.logคุณควรตรวจสอบ

ดูรายละเอียดเพิ่มเติมการโพสต์บล็อกของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.