Oracle Statspack - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Oracle Statspack

Opsi Oracle Statspack menginstal dan mengaktifkan fitur statistik performa Oracle Statspack. Oracle Statspack adalah kumpulan skripSQL, PL/SQL, SQL dan*Plus yang mengumpulkan, menyimpan, dan menampilkan data kinerja. Untuk informasi tentang cara menggunakan Oracle Statspack, lihat Oracle Statspack di dokumentasi Oracle.

catatan

Oracle Statspack tidak lagi didukung oleh Oracle dan telah digantikan oleh Automatic Workload Repository () yang lebih canggih. AWR AWRhanya tersedia untuk pelanggan Oracle Enterprise Edition yang telah membeli Paket Diagnostik. Anda dapat menggunakan Oracle Statspack dengan mesin Oracle DB apa pun di Amazon. RDS Anda tidak dapat menjalankan Oracle Statspack di Amazon RDS Read Replicas.

Menyiapkan Oracle Statspack

Untuk menjalankan skrip Statspack, Anda harus menambahkan opsi Statspack.

Untuk menyiapkan Oracle Statspack
  1. Di SQL klien, masuk ke Oracle DB dengan akun administratif.

  2. Lakukan salah satu tindakan berikut, bergantung pada apakah Statspack telah diinstal:

    • Jika Statspack telah diinstal dan akun PERFSTAT terkait dengan Statspack, lanjutkan langsung ke Langkah 4.

    • Jika Statspack tidak diinstal dan akun PERFSTAT ada, hapus akun sebagai berikut:

      DROP USER PERFSTAT CASCADE;

      Jika tidak, mencoba menambahkan opsi Statspack akan menghasilkan kesalahan dan RDS-Event-0058.

  3. Tambahkan opsi Statspack ke grup opsi. Lihat Menambahkan opsi ke grup opsi.

    Amazon RDS secara otomatis menginstal skrip Statspack pada instans DB dan kemudian mengatur akun. PERFSTAT

  4. Setel ulang kata sandi menggunakan SQL pernyataan berikut, ganti pwd dengan kata sandi baru Anda:

    ALTER USER PERFSTAT IDENTIFIED BY pwd ACCOUNT UNLOCK;

    Anda dapat masuk menggunakan akun pengguna PERFSTAT dan jalankan skrip Statspack.

  5. Berikan hak CREATE JOB istimewa ke PERFSTAT akun menggunakan pernyataan berikut:

    GRANT CREATE JOB TO PERFSTAT;
  6. Pastikan peristiwa menunggu tidak ada aktivitas di tabel PERFSTAT.STATS$IDLE_EVENT terisi.

    Karena Oracle Bug 28523746, peristiwa menunggu tidak ada aktivitas di PERFSTAT.STATS$IDLE_EVENT mungkin tidak diisi. Untuk memastikan semua peristiwa tidak ada aktivitas tersedia, jalankan pernyataan berikut:

    INSERT INTO PERFSTAT.STATS$IDLE_EVENT (EVENT) SELECT NAME FROM V$EVENT_NAME WHERE WAIT_CLASS='Idle' MINUS SELECT EVENT FROM PERFSTAT.STATS$IDLE_EVENT; COMMIT;

Menghasilkan laporan Statspack

Laporan Statspack membandingkan dua snapshot.

Untuk menghasilkan laporan Statspack
  1. Di SQL klien, masuk ke Oracle DB dengan PERFSTAT akun.

  2. Buat snapshot menggunakan salah satu teknik berikut:

    • Buat snapshot Statspack secara manual.

    • Buat pekerjaan yang mengambil snapshot Statspack setelah interval waktu tertentu. Misalnya, tugas berikut membuat snapshot Statspack setiap jam:

      VARIABLE jn NUMBER; exec dbms_job.submit(:jn, 'statspack.snap;',SYSDATE,'TRUNC(SYSDATE+1/24,''HH24'')'); COMMIT;
  3. Lihat snapshot menggunakan kueri berikut:

    SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT ORDER BY 1;
  4. Jalankan RDS prosedur Amazonrdsadmin.rds_run_spreport, ganti begin_snap dan end_snap dengan snapshot: IDs

    exec rdsadmin.rds_run_spreport(begin_snap,end_snap);

    Misalnya, perintah berikut membuat laporan berdasarkan interval antara snapshot Statspack 1 dan 2:

    exec rdsadmin.rds_run_spreport(1,2);

    Nama file dari laporan Statspack menyertakan nomor dari dua snapshot tersebut. Misalnya, file laporan yang dibuat menggunakan snapshot Statspack 1 dan 2 akan diberi nama ORCL_spreport_1_2.lst.

  5. Pantau kesalahan pada output.

    Oracle Statspack melakukan pemeriksaan sebelum menjalankan laporan. Oleh karena itu, Anda juga dapat melihat pesan kesalahan pada output perintah. Misalnya, Anda mungkin mencoba membuat laporan berdasarkan rentang yang tidak valid, di mana nilai snapshot Statspack awal lebih besar dari nilai akhir. Dalam kasus ini, output menampilkan pesan kesalahan, tetapi mesin DB tidak menghasilkan file kesalahan.

    exec rdsadmin.rds_run_spreport(2,1); * ERROR at line 1: ORA-20000: Invalid snapshot IDs. Find valid ones in perfstat.stats$snapshot.

    Jika Anda menggunakan angka yang tidak valid untuk snapshot Statspack, output akan menunjukkan kesalahan. Misalnya, jika Anda mencoba membuat laporan untuk snapshot 1 dan 50, tetapi snapshot 50 tidak ada, output akan menampilkan kesalahan.

    exec rdsadmin.rds_run_spreport(1,50); * ERROR at line 1: ORA-20000: Could not find both snapshot IDs
  6. (Opsional)

    Untuk mengambil laporan, panggil prosedur file jejak, seperti yang dijelaskan di Menggunakan file jejak Oracle.

    Atau, unduh laporan Statspack dari konsol. RDS Buka bagian Log dari detail instans DB dan pilih Unduh. Contoh berikut menunjukkan trace/ORCL_spreport_1_2.lst

    Tampilkan daftar file log Oracle di RDS konsol. File jejak berikut dilingkari:trace/ORCL_spreport_1_2.lst.

    Jika terjadi kesalahan saat membuat laporan, mesin DB menggunakan konvensi penamaan yang sama seperti untuk laporan tetapi dengan .err perpanjangan. Misalnya, jika kesalahan terjadi saat membuat laporan menggunakan snapshot Statspack 1 dan 7, laporan akan diberi nama ORCL_spreport_1_7.err. Anda dapat mengunduh laporan kesalahan menggunakan teknik yang sama seperti untuk laporan Snapshot standar.

Menghapus snapshot Statspack

Untuk menghapus berbagai snapshot Oracle Statspack, gunakan perintah berikut:

exec statspack.purge(begin snap, end snap);