View a markdown version of this page

Oracle SQLT - Amazon Relational Database Service

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

Oracle SQLT

Amazon RDS mendukung Oracle SQLTXPLAIN (SQLT) melalui penggunaan opsi SQLT. Anda dapat menggunakan SQLT dengan edisi Oracle Database 19c dan yang lebih tinggi.

Pernyataan EXPLAIN PLAN Oracle dapat menentukan rencana eksekusi pernyataan SQL. Hal ini dapat memverifikasi apakah pengoptimal Oracle memilih rencana eksekusi tertentu, seperti gabungan loop bersarang. Ini juga membantu Anda memahami keputusan pengoptimal, seperti mengapa pengoptimal memilih gabungan loop bersarang daripada gabungan hash. Jadi, EXPLAIN PLAN membantu Anda memahami performa pernyataan tersebut.

SQLT adalah utilitas Oracle yang menghasilkan laporan. Laporan tersebut mencakup statistik objek, metadata objek, parameter inisialisasi terkait pengoptimal, dan informasi lain yang dapat digunakan oleh administrator basis data untuk menyetel pernyataan SQL agar performanya optimal. SQLT membuat laporan HTML dengan hyperlink ke semua bagian dalam laporan.

Tidak seperti laporan Repositori Beban Kerja Otomatis atau Statspack, SQLT bekerja pada pernyataan SQL individual. SQLT adalah kumpulan file SQL, PL / SQL, dan SQL*Plus yang mengumpulkan, menyimpan, dan menampilkan data performa.

Berikut ini adalah versi Oracle yang didukung untuk setiap versi SQLT.

Versi SQLT Oracle Database 21c Oracle Database 19c

2018-07-25.v1

Didukung

Didukung

2018-03-31.v1

Tidak didukung

Tidak didukung

2016-04-29.v1

Tidak didukung

Tidak didukung

Untuk mengunduh SQLT dan mengakses petunjuk untuk menggunakannya:

Amazon RDS tidak mendukung metode SQLT berikut:

  • XPLORE

  • XHUME

Prasyarat untuk SQLT

Berikut ini adalah prasyarat untuk menggunakan SQLT:

  • Anda harus menghapus pengguna dan peran yang diperlukan oleh SQLT, jika ada.

    Opsi SQLT membuat pengguna dan peran berikut pada instans DB:

    • Pengguna SQLTXPLAIN

    • Pengguna SQLTXADMIN

    • Peran SQLT_USER_ROLE

    Jika instans DB Anda memiliki salah satu pengguna atau peran ini, masuk ke instans DB menggunakan klien SQL, dan batalkan menggunakan pernyataan berikut:

    DROP USER SQLTXPLAIN CASCADE; DROP USER SQLTXADMIN CASCADE; DROP ROLE SQLT_USER_ROLE CASCADE;
  • Anda harus menghapus tablespace yang dibutuhkan oleh SQLT, jika ada.

    Opsi SQLT membuat tablespace berikut pada instans DB:

    • RDS_SQLT_TS

    • RDS_TEMP_SQLT_TS

    Jika instans DB Anda memiliki tablespace ini, masuk ke instans DB menggunakan klien SQL, lalu batalkan.

Pengaturan opsi SQLT

SQLT dapat bekerja dengan fitur berlisensi yang disediakan oleh Oracle Tuning Pack dan Oracle Diagnostics Pack. Oracle Tuning Pack menyertakan SQL Tuning Advisor, dan Oracle Diagnostics Pack menyertakan Automatic Workload Repository. Pengaturan SQLT mengaktifkan atau menonaktifkan akses ke fitur-fitur ini dari SQLT.

Amazon RDS mendukung pengaturan berikut untuk opsi SQLT.

Pengaturan opsi Nilai valid Nilai default Deskripsi

LICENSE_PACK

T, D, N

N

Oracle Management Packs yang ingin Anda akses dengan SQLT. Gunakan salah satu nilai berikut:

  • T menunjukkan bahwa Anda memiliki lisensi untuk Oracle Tuning Pack dan Oracle Diagnostics Pack, dan Anda ingin mengakses SQL Tuning Advisor dan Automatic Workload Repository dari SQLT.

  • D menunjukkan bahwa Anda memiliki lisensi untuk Oracle Diagnostics Pack, dan Anda ingin mengakses Automatic Workload Repository dari SQLT.

  • N menunjukkan bahwa Anda tidak memiliki lisensi untuk Oracle Tuning Pack dan Oracle Diagnostics Pack, atau Anda memiliki lisensi untuk salah satu atau keduanya, tetapi Anda tidak ingin SQLT mengaksesnya.

catatan

Amazon RDS tidak memberikan lisensi untuk Oracle Management Packs ini. Jika Anda menunjukkan bahwa Anda ingin menggunakan paket yang tidak termasuk dalam instans DB Anda, Anda dapat menggunakan SQLT dengan instans DB. Namun, SQLT tidak dapat mengakses paket, dan laporan SQLT tidak menyertakan data untuk paket tersebut. Misalnya, jika Anda menentukan T, tetapi instans DB tidak menyertakan Oracle Tuning Pack, SQLT berfungsi pada instans DB, tetapi laporan yang dihasilkannya tidak berisi data yang terkait dengan Oracle Tuning Pack.

VERSION

2016-04-29.v1

2018-03-31.v1

2018-07-25.v1

2016-04-29.v1

Versi SQLT yang ingin Anda instal.

catatan

Untuk Oracle Database 19c dan 21c, satu-satunya versi yang didukung adalah 2018-07-25.v1. Ini adalah versi default untuk rilis-rilis ini.

Menambahkan opsi SQLT

Berikut adalah proses umum untuk menambahkan opsi SQLT ke instans DB:

  1. Buat grup opsi baru, atau salin atau ubah grup opsi yang ada.

  2. Tambahkan opsi SQLT ke grup opsi.

  3. Kaitkan grup opsi tersebut dengan instans DB.

Setelah Anda menambahkan opsi SQLT, SQLT langsung aktif setelah grup opsi aktif.

Untuk menambahkan opsi SQLT ke instans DB
  1. Tentukan grup opsi yang ingin Anda gunakan. Anda dapat membuat grup opsi baru atau menggunakan grup opsi yang ada. Jika Anda ingin menggunakan grup opsi yang ada, lanjutkan ke langkah berikutnya. Jika tidak, buat grup opsi DB kustom dengan pengaturan berikut:

    1. Untuk Mesin, pilih edisi Oracle yang ingin Anda gunakan. Opsi SQLT didukung di semua edisi.

    2. Untuk Versi mesin utama, pilih versi instans DB Anda.

    Untuk informasi selengkapnya, lihat Membuat grup opsi.

  2. Tambahkan opsi SQLT ke grup opsi. Untuk informasi selengkapnya tentang cara menambahkan opsi, lihat Menambahkan opsi ke grup opsi.

  3. Terapkan grup opsi ke instans DB baru atau yang sudah ada:

    • Untuk instans DB baru, Anda menerapkan grup opsi saat Anda meluncurkan instans. Untuk informasi selengkapnya, lihat Membuat instans DB Amazon RDS.

    • Untuk instans DB yang ada, Anda menerapkan grup opsi dengan memodifikasi instans dan melampirkan grup opsi baru. Untuk informasi lebih lanjut, lihat Memodifikasi instans DB Amazon RDS.

  4. (Opsional) Verifikasi penginstalan SQLT di setiap instans DB dengan opsi SQLT.

    1. Gunakan klien SQL untuk menyambungkan ke instans DB sebagai pengguna master.

      Untuk informasi tentang cara menghubungkan ke instans DB Oracle menggunakan klien SQL, lihat Terhubung ke instans DB Oracle Anda.

    2. Jalankan kueri berikut:

      SELECT sqltxplain.sqlt$a.get_param('tool_version') sqlt_version FROM DUAL;

      Kueri tersebut mengembalikan versi opsi SQLT saat ini di Amazon RDS. 12.1.160429 adalah contoh versi SQLT yang tersedia di Amazon RDS.

  5. Ubah kata sandi pengguna yang dibuat dengan opsi SQLT.

    1. Gunakan klien SQL untuk menyambungkan ke instans DB sebagai pengguna master.

    2. Jalankan pernyataan SQL berikut untuk mengubah kata sandi untuk pengguna SQLTXADMIN:

      ALTER USER SQLTXADMIN IDENTIFIED BY new_password ACCOUNT UNLOCK;
      catatan

      Tetapkan kata sandi selain perintah yang ditampilkan di sini sebagai praktik terbaik keamanan.

    3. Jalankan pernyataan SQL berikut untuk mengubah kata sandi untuk pengguna SQLTXPLAIN:

      ALTER USER SQLTXPLAIN IDENTIFIED BY new_password ACCOUNT UNLOCK;
      catatan

      Tetapkan kata sandi selain perintah yang ditampilkan di sini sebagai praktik terbaik keamanan.

catatan

Untuk meningkatkan SQLT, versi SQLT yang lebih lama perlu dihapus untuk menginstal versi yang baru. Jadi, semua metadata SQLT bisa hilang saat Anda meningkatkan SQLT. Peningkatan versi utama dari basis data juga menghapus instalan dan menginstal ulang SQLT. Contoh upgrade versi utama adalah upgrade dari Oracle Database 19c ke Oracle Database 21c.

Menggunakan SQLT

SQLT dapat digunakan dengan utilitas Oracle SQL*Plus.

Untuk menggunakan SQLT
  1. Unduh file .zip SQLT dari Document 215187.1 di situs My Oracle Support.

    catatan

    Anda tidak dapat mengunduh SQLT 12.1.160429 dari situs My Oracle Support. Oracle telah menghentikan versi lama ini.

  2. Buka zip file .zip SQLT.

  3. Dari jendela perintah, ubah ke direktori sqlt/run pada sistem file Anda.

  4. Dari jendela perintah, buka SQL*Plus, dan sambungkan ke instans DB sebagai pengguna master.

    Lihat informasi yang lebih lengkap tentang cara menyambung ke instans DB menggunakan SQL*Plus di Terhubung ke instans DB Oracle Anda.

  5. Dapatkan ID SQL dari pernyataan SQL:

    SELECT SQL_ID FROM V$SQL WHERE SQL_TEXT='sql_statement';

    Output-nya akan serupa seperti yang berikut ini:

    SQL_ID ------------- chvsmttqjzjkn
  6. Analisis pernyataan SQL dengan SQLT:

    START sqltxtract.sql sql_id sqltxplain_user_password

    Misalnya, untuk SQL ID chvsmttqjzjkn, masukkan:

    START sqltxtract.sql chvsmttqjzjkn sqltxplain_user_password

    SQLT menghasilkan laporan HTML dan sumber daya terkait sebagai file .zip di direktori tempat perintah SQLT dijalankan.

  7. (Opsional) Agar pengguna aplikasi dapat mendiagnosis pernyataan SQL dengan SQLT, berikan SQLT_USER_ROLE kepada setiap pengguna aplikasi dengan pernyataan berikut:

    GRANT SQLT_USER_ROLE TO application_user_name;
    catatan

    Oracle tidak merekomendasikan untuk menjalankan SQLT dengan pengguna SYS atau dengan pengguna yang memiliki peran DBA. Praktik terbaiknya adalah menjalankan diagnostik SQLT menggunakan akun pengguna aplikasi, dengan memberikan SQLT_USER_ROLE kepada pengguna aplikasi.

Meningkatkan opsi SQLT

Dengan Amazon RDS for Oracle, Anda dapat meningkatkan opsi SQLT dari versi yang sudah ada ke versi yang lebih tinggi. Untuk meningkatkan opsi SQLT, selesaikan langkah 1–3 di Menggunakan SQLT untuk SQLT versi baru. Selain itu, jika Anda memberikan hak istimewa untuk versi SQLT sebelumnya pada langkah 7 di bagian tersebut, berikan hak istimewa lagi untuk versi SQLT yang baru.

Meningkatkan opsi SQLT akan membuat metadata versi SQLT yang lama hilang. Skema versi SQLT yang lama dan objek terkait dihapus, dan versi SQLT yang baru diinstal. Untuk informasi selengkapnya tentang perubahan dalam SQLT versi terbaru, lihat Document 1614201.1 di situs My Oracle Support.

catatan

Penurunan versi tidak didukung.

Mengubah pengaturan SQLT

Setelah mengaktifkan SQLT, Anda dapat mengubah pengaturan LICENSE_PACK dan VERSION untuk opsi.

Untuk informasi selengkapnya tentang cara mengubah pengaturan opsi, lihat Memodifikasi pengaturan opsi. Untuk informasi selengkapnya tentang setiap pengaturan, lihat Pengaturan opsi SQLT.

Menghapus opsi SQLT

Anda dapat menghapus SQLT dari instans DB.

Untuk menghapus opsi SQLT dari instans DB, lakukan salah satu hal berikut:

  • Untuk menghapus SQLT dari beberapa instans DB, hapus opsi SQLT dari grup opsi asal instans DB. Perubahan ini memengaruhi semua instans DB yang menggunakan grup opsi tersebut. Untuk informasi lebih lanjut, lihat Menghapus opsi dari grup opsi.

  • Untuk menghapus opsi SQLT dari satu instans DB, modifikasi instans DB dan tentukan grup opsi lain yang tidak menyertakan opsi SQLT. Anda dapat menentukan grup opsi default (kosong) atau grup opsi kustom lain. Lihat informasi yang lebih lengkap di Memodifikasi instans DB Amazon RDS.