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
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
-
Di SQL klien, masuk ke Oracle DB dengan akun administratif.
-
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
.
-
-
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
-
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. -
Berikan hak
CREATE JOB
istimewa kePERFSTAT
akun menggunakan pernyataan berikut:GRANT CREATE JOB TO PERFSTAT;
-
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
-
Di SQL klien, masuk ke Oracle DB dengan
PERFSTAT
akun. -
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;
-
-
Lihat snapshot menggunakan kueri berikut:
SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT ORDER BY 1;
-
Jalankan RDS prosedur Amazon
rdsadmin.rds_run_spreport
, ganti begin_snap dan end_snap dengan snapshot: IDsexec 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
. -
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
-
(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
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 namaORCL_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);