

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

# Real-time Manajemen rencana SQL di RDS untuk Oracle
<a name="Oracle.RealTimeSPM"></a>

Dimulai dengan Oracle Database 26ai (26.0.0.0), Amazon RDS for Oracle mendukung manajemen paket SQL real-time. Fitur ini mencegah regresi kinerja SQL dengan mendeteksi perubahan rencana eksekusi, mengevaluasinya terhadap rencana sebelumnya, dan memilih rencana berkinerja terbaik dari baseline rencana SQL sesuai kebutuhan. Proses ini transparan dan tidak memerlukan intervensi manual.

Untuk mengaktifkan manajemen rencana SQL real-time pada RDS untuk Oracle, Anda gunakan `DBMS_SPM.CONFIGURE` untuk mengaktifkan tugas auto evolve. Anda kemudian menggunakan `rdsadmin.rdsadmin_spm_util` paket untuk mengkonfigurasi parameter SYS-owned tugas.

**Topics**
+ [Gambaran umum](#Oracle.RealTimeSPM.Overview)
+ [Persyaratan](#Oracle.RealTimeSPM.Requirements)
+ [Mengaktifkan manajemen rencana SQL real-time](#Oracle.RealTimeSPM.Enabling)
+ [Memverifikasi konfigurasi](#Oracle.RealTimeSPM.Verifying)
+ [Menonaktifkan manajemen paket SQL real-time](#Oracle.RealTimeSPM.Disabling)
+ [prosedur rdsadmin\_spm\_util](#Oracle.RealTimeSPM.Procedures)
+ [Memantau baseline rencana SQL](#Oracle.RealTimeSPM.Monitoring)
+ [Pertimbangan-pertimbangan](#Oracle.RealTimeSPM.Considerations)
+ [Sumber daya terkait](#Oracle.RealTimeSPM.Resources)

## Gambaran umum
<a name="Oracle.RealTimeSPM.Overview"></a>

Regresi kinerja SQL terjadi ketika pengoptimal Oracle memilih rencana eksekusi baru yang berkinerja lebih buruk daripada rencana sebelumnya. Real-time Manajemen rencana SQL mengotomatiskan deteksi dan pencegahan regresi ini.

Ketika manajemen rencana SQL real-time diaktifkan, database melakukan hal berikut:

1. Mendeteksi perubahan rencana eksekusi secara real time.

1. Mengevaluasi kinerja rencana baru terhadap rencana sebelumnya.

1. Membuat atau memperbarui baseline rencana SQL secara otomatis.

1. Memilih rencana berkinerja terbaik untuk mencegah regresi.

## Persyaratan
<a name="Oracle.RealTimeSPM.Requirements"></a>

Untuk menggunakan manajemen paket SQL real-time, instans DB Anda harus memenuhi persyaratan berikut:
+ Oracle Database 26ai atau lebih tinggi
+ Oracle Enterprise Edition

## Mengaktifkan manajemen rencana SQL real-time
<a name="Oracle.RealTimeSPM.Enabling"></a>

Untuk mengaktifkan manajemen rencana SQL real-time, selesaikan dua langkah berikut.

### Langkah 1: Aktifkan tugas evolusi SPM otomatis
<a name="Oracle.RealTimeSPM.Enabling.Step1"></a>

Jalankan pernyataan berikut sebagai pengguna master atau sebagai pengguna dengan peran DBA:

```
BEGIN
  DBMS_SPM.CONFIGURE('AUTO_SPM_EVOLVE_TASK', 'AUTO');
END;
/
```

### Langkah 2: Konfigurasikan parameter SYS-owned tugas
<a name="Oracle.RealTimeSPM.Enabling.Step2"></a>

`SYS_AUTO_SPM_EVOLVE_TASK`Tugas tersebut dimiliki oleh SYS. RDS untuk Oracle menyediakan `rdsadmin.rdsadmin_spm_util` paket untuk tujuan ini.

Setel `ACCEPT_PLANS` `TRUE` agar database menerima rencana yang dievolusi secara otomatis:

```
EXEC rdsadmin.rdsadmin_spm_util.set_evolve_task_accept_plans('TRUE');
```

(Opsional) Atur sumber paket alternatif ke`AUTO`:

```
EXEC rdsadmin.rdsadmin_spm_util.set_evolve_task_alternate_plan_source('AUTO');
```

## Memverifikasi konfigurasi
<a name="Oracle.RealTimeSPM.Verifying"></a>

Untuk memverifikasi bahwa manajemen paket SQL real-time diaktifkan, jalankan kueri berikut:

```
SELECT parameter_value
FROM DBA_SQL_MANAGEMENT_CONFIG
WHERE parameter_name = 'AUTO_SPM_EVOLVE_TASK';
```

Kueri kembali`AUTO`.

Untuk memverifikasi pengaturan parameter tugas, jalankan kueri berikut:

```
SELECT parameter_name, parameter_value
FROM DBA_ADVISOR_PARAMETERS
WHERE task_name = 'SYS_AUTO_SPM_EVOLVE_TASK'
  AND parameter_name IN ('ACCEPT_PLANS', 'ALTERNATE_PLAN_SOURCE');
```

## Menonaktifkan manajemen paket SQL real-time
<a name="Oracle.RealTimeSPM.Disabling"></a>

Untuk menonaktifkan manajemen paket SQL real-time, jalankan pernyataan berikut:

```
BEGIN
  DBMS_SPM.CONFIGURE('AUTO_SPM_EVOLVE_TASK', 'OFF');
END;
/
```

## prosedur rdsadmin\_spm\_util
<a name="Oracle.RealTimeSPM.Procedures"></a>

`rdsadmin.rdsadmin_spm_util`Paket ini menyediakan prosedur berikut.


**prosedur rdsadmin\_spm\_util**  

| Prosedur | Parameter | Default | Deskripsi | 
| --- | --- | --- | --- | 
| `set_evolve_task_accept_plans` | `p_value` | `'TRUE'` | Menetapkan `ACCEPT_PLANS` parameter untuk`SYS_AUTO_SPM_EVOLVE_TASK`. Nilai yang valid adalah `'TRUE'` dan `'FALSE'`. | 
| `set_evolve_task_alternate_plan_source` | `p_value` | `'AUTO'` | Menetapkan `ALTERNATE_PLAN_SOURCE` parameter untuk`SYS_AUTO_SPM_EVOLVE_TASK`. Nilai yang valid adalah `'AUTO'`, `'CURSOR_CACHE'`, `'AUTOMATIC_WORKLOAD_REPOSITORY'`, dan `'SQL_TUNING_SET'`. | 

## Memantau baseline rencana SQL
<a name="Oracle.RealTimeSPM.Monitoring"></a>

Setelah Anda mengaktifkan manajemen rencana SQL real-time, Anda dapat memantau baseline rencana yang dikelola database secara otomatis:

```
SELECT SQL_HANDLE, PLAN_NAME, ENABLED, ACCEPTED, AUTOPURGE
FROM DBA_SQL_PLAN_BASELINES
ORDER BY LAST_MODIFIED DESC;
```

## Pertimbangan-pertimbangan
<a name="Oracle.RealTimeSPM.Considerations"></a>

Pertimbangkan hal berikut ketika Anda menggunakan manajemen rencana SQL real-time:
+ Pengguna dengan peran DBA dapat menelepon `DBMS_SPM.CONFIGURE` langsung. Langkah ini tidak memerlukan pembungkus.
+ `rdsadmin.rdsadmin_spm_util`Prosedur diperlukan untuk mengonfigurasi parameter tugas pada SYS-owned `SYS_AUTO_SPM_EVOLVE_TASK` tugas, karena pengguna master tidak memiliki akses langsung ke tugas SYS-owned penasihat.
+ Real-time Manajemen rencana SQL beroperasi secara transparan. Anda tidak perlu mengubah kode aplikasi Anda.
+ Garis dasar paket SQL mengkonsumsi ruang di ruang tabel SYSAUX. Pantau penggunaan SYSAUX setelah Anda mengaktifkan fitur tersebut.
+ Nilai parameter yang diteruskan ke `DBMS_SPM.CONFIGURE` (seperti `'AUTO'` dan`'OFF'`) peka huruf besar/kecil. Gunakan nilai huruf besar.

## Sumber daya terkait
<a name="Oracle.RealTimeSPM.Resources"></a>
+ [DBMS\_SPM](https://docs.oracle.com/en/database/oracle/oracle-database/26/arpls/DBMS_SPM.html) dalam dokumentasi Oracle Database
+ [Mengelola baseline rencana SQL](https://docs.oracle.com/en/database/oracle/oracle-database/26/tgsql/managing-sql-plan-baselines.html) dalam dokumentasi Oracle Database