Bagaimana memeriksa apakah Database Oracle sudah habis?

14

Untuk aplikasi kami, kami memiliki file konfigurasi untuk menghubungkan ke database Oracle (URL, nama pengguna, kata sandi).

Aplikasi membutuhkan 2-5 menit untuk memulai. Jika ada sesuatu yang salah dengan database saya melihat ini dalam log, tetapi saya harus menunggu 2-5 menit. Ini banyak waktu.

Jadi saya ingin mencari tahu dengan cepat dan sederhana cara untuk menentukan bahwa database semuanya OK dan online.

Apakah Anda tahu bagaimana saya bisa melakukannya?

Eugene
sumber

Jawaban:

17

Jika Anda menjalankan kueri berikut:

SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

Itu harus kembali:

INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
YOUR_DBASE       OPEN         ACTIVE
Solego
sumber
12

ps -ef | grep pmon

Proses PMON (monitor proses) memeriksa semua proses latar belakang lainnya. Maka Anda harus memeriksa log peringatan untuk penyelidikan lebih lanjut.

ibre5041
sumber
4

Hal pertama yang pertama: Anda perlu mengetahui nama pengguna dan kata sandi untuk terhubung ke database untuk langkah 2

  1. Periksa proses oracle berjalan:

    Aktif Un * x:

    ps -ef|grep pmon

    Di Windows:

    tasklist|findstr /i oracle

    jika perintah dalam hal apapun mengembalikan output yaitu jika proses pmon / oracle berjalan di lingkungan Anda, database sedang berjalan.

  2. Pergi ke ORACLE_HOME/bindan jalankan:

     ./sqlplus /nolog

    Jika setelah login Anda mendapatkan kesalahan, maka database tidak berjalan:

    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
karena
sumber
1
pada windows mulai dari sqlplus adalah sqlplus / nolog
Igor Vuković
3

Anda harus menggunakan / menulis skrip yang akan terhubung ke server dan melihat apakah database Anda online. Di sini orang-orang Oracle akan membantu. Cukup jalankan dari skrip batch / shell (lihat Menjalankan Skrip Dari SQL Command Line ) dan lihat hasilnya. Jika semuanya baik-baik saja daripada jawaban Anda.

Atau coba saja dengan klien SQL * Plus.

Marian
sumber
0

Mungkin bijaksana untuk menjalankan kueri yang sebenarnya terhadap basis data juga. Ini hanya memastikan bahwa Anda dapat terhubung dan meminta. Saya akan membuatnya menjadi sesuatu yang sangat sederhana dan cepat, seperti:

SELECT pk_column 
  FROM sometable
WHERE rownum <= 1
Richard
sumber
0

PMON akan memeriksa semua proses bg

ps -ef|grep pmon

Selain itu, kita dapat memeriksa apakah database berjalan atau tidak.

ps -ef|grep mydb
pengguna3818965
sumber
-1

Untuk memeriksa status basis data umum, saya sarankan:

  1. Periksa apakah proses basis data sedang berjalan. Misalnya, dari shell Unix, jalankan:

    $ ps -ef | grep pmon

    akan menampilkan database yang sedang berjalan, waktu startup, dan pengguna Oracle mana yang memulai masing-masing.

  2. Periksa apakah pendengar berjalan menggunakan $ ps -ef | grep tnsdan$ lsnrctl status LISTENER

  3. Memilih gv$resource_limitakan ditampilkan jika basis data mencapai batas yang dikonfigurasi.

  4. Untuk memeriksa apakah ada kesalahan database, Anda harus memeriksa alert.log.

Untuk lebih jelasnya lihat posting blog saya .

pengguna134623
sumber