

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

# Melakukan berbagai tugas untuk instans DB Oracle
<a name="Appendix.Oracle.CommonDBATasks.Misc"></a>

Setelah itu, Anda dapat menemukan cara melakukan berbagai tugas DBA di instans DB Amazon RDS Anda yang menjalankan Oracle. Untuk memberikan pengalaman layanan terkelola, Amazon RDS tidak memberikan akses shell ke instans DB, dan membatasi akses ke sejumlah prosedur dan tabel sistem tertentu yang memerlukan hak istimewa tingkat lanjut. 

**Topics**
+ [Membuat dan menghapus direktori di ruang penyimpanan data utama](#Appendix.Oracle.CommonDBATasks.NewDirectories)
+ [Membuat daftar file di direktori instans DB](#Appendix.Oracle.CommonDBATasks.ListDirectories)
+ [Membaca file di direktori instans DB](#Appendix.Oracle.CommonDBATasks.ReadingFiles)
+ [Mengakses file Opatch](#Appendix.Oracle.CommonDBATasks.accessing-opatch-files)
+ [Mengelola tugas penasihat](#Appendix.Oracle.CommonDBATasks.managing-advisor-tasks)
+ [Mengangkut tablespace](rdsadmin_transport_util.md)

## Membuat dan menghapus direktori di ruang penyimpanan data utama
<a name="Appendix.Oracle.CommonDBATasks.NewDirectories"></a>

Untuk membuat direktori, gunakan prosedur `rdsadmin.rdsadmin_util.create_directory` Amazon RDS. Anda dapat membuat hingga 10.000 direktori, semuanya berada di ruang penyimpanan data utama Anda. Untuk menghapus direktori gunakan prosedur `rdsadmin.rdsadmin_util.drop_directory` Amazon RDS.

Prosedur `create_directory` dan `drop_directory` memiliki parameter yang diperlukan berikut. 


****  

| Nama parameter | Jenis data | Default | Wajib | Deskripsi | 
| --- | --- | --- | --- | --- | 
| `p_directory_name` | VARCHAR2 | — | Ya | Nama direktori. | 

Contoh berikut membuat direktori baru dengan nama `PRODUCT_DESCRIPTIONS`. 

```
EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'product_descriptions');
```

Direktori data menyimpan nama direktori dengan huruf besar. Anda dapat membuat daftar direktori dengan membuat kueri `DBA_DIRECTORIES`. Sistem memilih nama jalur host aktual secara otomatis. Contoh berikut memperoleh jalur direktori untuk direktori dengan nama `PRODUCT_DESCRIPTIONS`: 

```
SELECT DIRECTORY_PATH 
  FROM DBA_DIRECTORIES 
 WHERE DIRECTORY_NAME='PRODUCT_DESCRIPTIONS';
        
DIRECTORY_PATH
----------------------------------------
/rdsdbdata/userdirs/01
```

Nama pengguna master untuk instans DB memiliki hak istimewa baca dan tulis di direktori baru, dan dapat memberikan akses ke pengguna lain. Hak istimewa `EXECUTE` tidak tersedia untuk direktori pada instans DB. Direktori dibuat di ruang penyimpanan data utama Anda dan akan menghabiskan ruang dan I/O bandwidth. 

Contoh berikut menghapus direktori dengan nama `PRODUCT_DESCRIPTIONS`. 

```
EXEC rdsadmin.rdsadmin_util.drop_directory(p_directory_name => 'product_descriptions');
```

**catatan**  
Anda juga dapat menghapus direktori menggunakan perintah `DROP DIRECTORY` Oracle SQL. 

Menghapus direktori tidak menghapus kontennya. Karena prosedur `rdsadmin.rdsadmin_util.create_directory` dapat menggunakan ulang nama jalur, file di direktori yang dihapus dapat muncul di direktori yang baru dibuat. Sebelum menghapus direktori, sebaiknya Anda menggunakan `UTL_FILE.FREMOVE` untuk menghapus file dari direktori. Untuk informasi lebih lanjut, lihat [FREMOVE procedure](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924) di dokumentasi Oracle.

## Membuat daftar file di direktori instans DB
<a name="Appendix.Oracle.CommonDBATasks.ListDirectories"></a>

Untuk membuat daftar file di direktori, gunakan prosedur `rdsadmin.rds_file_util.listdir` Amazon RDS. Prosedur ini tidak didukung pada replika Oracle. Prosedur `listdir` memiliki parameter berikut. 


****  

| Nama parameter | Jenis data | Default | Wajib | Deskripsi | 
| --- | --- | --- | --- | --- | 
| `p_directory` | varchar2 | — | Ya | Nama direktori yang dibuat daftarnya. | 

Contoh berikut memberikan hak read/write istimewa pada direktori `PRODUCT_DESCRIPTIONS` kepada pengguna`rdsadmin`, dan kemudian daftar file dalam direktori ini. 

```
GRANT READ,WRITE ON DIRECTORY PRODUCT_DESCRIPTIONS TO rdsadmin;
SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => 'PRODUCT_DESCRIPTIONS'));
```

## Membaca file di direktori instans DB
<a name="Appendix.Oracle.CommonDBATasks.ReadingFiles"></a>

Untuk membaca file teks, gunakan prosedur `rdsadmin.rds_file_util.read_text_file` Amazon RDS. Prosedur `read_text_file` memiliki parameter berikut. 


****  

| Nama parameter | Jenis data | Default | Wajib | Deskripsi | 
| --- | --- | --- | --- | --- | 
| `p_directory` | varchar2 | — | Ya | Nama direktori yang memuat file. | 
| `p_filename` | varchar2 | — | Ya | Nama file yang akan dibaca. | 

Contoh berikut membuat file `rice.txt` di direktori `PRODUCT_DESCRIPTIONS`. 

```
declare
  fh sys.utl_file.file_type;
begin
  fh := utl_file.fopen(location=>'PRODUCT_DESCRIPTIONS', filename=>'rice.txt', open_mode=>'w');
  utl_file.put(file=>fh, buffer=>'AnyCompany brown rice, 15 lbs');
  utl_file.fclose(file=>fh);
end;
/
```

Contoh berikut membaca file `rice.txt` dari direktori `PRODUCT_DESCRIPTIONS`. 

```
SELECT * FROM TABLE
    (rdsadmin.rds_file_util.read_text_file(
        p_directory => 'PRODUCT_DESCRIPTIONS',
        p_filename  => 'rice.txt'));
```

## Mengakses file Opatch
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files"></a>

Opatch adalah utilitas Oracle yang mendukung aplikasi dan rollback patch untuk perangkat lunak Oracle. Mekanisme Oracle untuk menentukan patch mana yang telah diterapkan ke basis data adalah perintah `opatch lsinventory`. Untuk membuka permintaan layanan bagi pelanggan Bring Your Own Licence (BYOL), Oracle mendukung permintaan `lsinventory` dan terkadang file `lsinventory_detail` yang dihasilkan oleh Opatch.

Untuk memberikan pengalaman layanan terkelola, Amazon RDS tidak menyediakan akses shell ke Opatch. Sebagai gantinya, `lsinventory-{{dbv}}.txt` di direktori BDUMP berisi informasi patch yang terkait dengan versi mesin Anda saat ini. Saat Anda melakukan peningkatan kecil atau besar, Amazon RDS memperbarui `lsinventory-{{dbv}}.txt` dalam waktu satu jam setelah patch diterapkan. Untuk memverifikasi patch yang diterapkan, baca `lsinventory-{{dbv}}.txt`. Tindakan ini mirip dengan menjalankan perintah `opatch lsinventory`.

**catatan**  
Contoh di bagian ini mengasumsikan bahwa direktori BDUMP diberi nama `BDUMP`. Pada replika baca, nama direktori BDUMP berbeda. Untuk mempelajari cara mendapatkan nama BDUMP dengan mengueri `V$DATABASE.DB_UNIQUE_NAME` pada replika baca, lihat [Membuat daftar file](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest).

File inventaris menggunakan konvensi penamaan Amazon RDS `lsinventory-{{dbv}}.txt` dan`lsinventory_detail-{{dbv}}.txt`, di {{dbv}} mana nama lengkap versi DB Anda. File `lsinventory-{{dbv}}.txt` tersedia di semua versi DB. Yang sesuai `lsinventory_detail-{{dbv}}.txt` tersedia di 19.0.0.0, ru-2020-01.rur-2020-01.r1 atau yang lebih baru.

Misalnya, jika versi DB Anda adalah 19.0.0.0.ru-2021-07.rur-2021-07.r1, inventaris file Anda memiliki nama berikut.

```
lsinventory-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt
lsinventory_detail-19.0.0.0.ru-2021-07.rur-2021-07.r1.txt
```

Pastikan Anda mengunduh file yang sesuai dengan versi mesin DB terkini milik Anda.

### Konsol
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.console"></a>

**Untuk mengunduh file inventaris menggunakan konsol**

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis data**.

1. Pilih nama instans DB yang memiliki file log yang ingin dilihat.

1. Pilih tab **Log & peristiwa**.

1. Gulir ke bawah hingga bagian **Log**.

1. Di bagian **Log**, cari `lsinventory`.

1. Pilih file yang ingin Anda akses, lalu pilih **Unduh**.

### SQL
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.sql"></a>

Untuk membaca `lsinventory-{{dbv}}.txt` di klien SQL, Anda dapat menggunakan pernyataan `SELECT`. Untuk teknik ini, gunakan fungsi `rdsadmin` berikut: `rdsadmin.rds_file_util.read_text_file` atau `rdsadmin.tracefile_listing`.

Dalam contoh query berikut, ganti {{dbv}} dengan versi Oracle DB Anda. Misalnya, versi DB Anda mungkin 19.0.0.0.ru-2020-04.rur-2020-04.r1.

```
SELECT text
FROM   TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'lsinventory-{{dbv}}.txt'));
```

### PL/SQL
<a name="Appendix.Oracle.CommonDBATasks.accessing-opatch-files.plsql"></a>

Untuk membaca `lsinventory-{{dbv}}.txt` di klien SQL, Anda dapat menulis PL/SQL program. Program ini menggunakan `utl_file` untuk membaca file, dan `dbms_output` untuk mencetaknya. Ini adalah Oracle-supplied paket. 

Dalam contoh program berikut, ganti {{dbv}} dengan versi Oracle DB Anda. Misalnya, versi DB Anda mungkin 19.0.0.0.ru-2020-04.rur-2020-04.r1.

```
SET SERVEROUTPUT ON
DECLARE
  v_file              SYS.UTL_FILE.FILE_TYPE;
  v_line              VARCHAR2(1000);
  v_oracle_home_type  VARCHAR2(1000);
  c_directory         VARCHAR2(30) := 'BDUMP';
  c_output_file       VARCHAR2(30) := 'lsinventory-{{dbv}}.txt';
BEGIN
  v_file := SYS.UTL_FILE.FOPEN(c_directory, c_output_file, 'r');
  LOOP
    BEGIN
      SYS.UTL_FILE.GET_LINE(v_file, v_line,1000);
      DBMS_OUTPUT.PUT_LINE(v_line);
    EXCEPTION
      WHEN no_data_found THEN
        EXIT;
    END;
  END LOOP;
END;
/
```

Atau kueri `rdsadmin.tracefile_listing`, dan gulung output ke file. Contoh berikut menggulung output ke `/tmp/tracefile.txt`.

```
SPOOL /tmp/tracefile.txt
SELECT * 
FROM   rdsadmin.tracefile_listing 
WHERE  FILENAME LIKE 'lsinventory%';
SPOOL OFF;
```

## Mengelola tugas penasihat
<a name="Appendix.Oracle.CommonDBATasks.managing-advisor-tasks"></a>

Oracle Database mencakup sejumlah penasihat. Setiap penasihat mendukung tugas otomatis dan manual. Anda dapat menggunakan prosedur di paket `rdsadmin.rdsadmin_util` untuk mengelola beberapa tugas penasihat.

Prosedur tugas penasihat tersedia dalam versi mesin berikut:
+ Oracle Database 21c (21.0.0)
+ Versi 19.0.0.0.ru-2021-01.rur-2021-01.r1 dan Oracle Database versi 19c yang lebih baru 

  Untuk informasi selengkapnya, lihat [Versi 19.0.0.0.ru-2021-01.rur-2021-01.r1](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/oracle-version-19-0.html#oracle-version-RU-RUR.19.0.0.0.ru-2021-01.rur-2021-01.r1) di *Catatan Rilis Amazon RDS for Oracle.*

**Topics**
+ [Mengatur parameter untuk tugas penasihat](#Appendix.Oracle.CommonDBATasks.setting-task-parameters)
+ [Menonaktifkan AUTO\_STATS\_ADVISOR\_TASK](#Appendix.Oracle.CommonDBATasks.dropping-advisor-task)
+ [Re-enabling AUTO\_STATS\_ADVISOR\_TASK](#Appendix.Oracle.CommonDBATasks.recreating-advisor-task)

### Mengatur parameter untuk tugas penasihat
<a name="Appendix.Oracle.CommonDBATasks.setting-task-parameters"></a>

Untuk mengatur parameter untuk beberapa tugas penasihat, gunakan prosedur `rdsadmin.rdsadmin_util.advisor_task_set_parameter` Amazon RDS. Prosedur `advisor_task_set_parameter` memiliki parameter berikut.


****  

| Nama parameter | Jenis data | Default | Wajib | Deskripsi | 
| --- | --- | --- | --- | --- | 
| `p_task_name` | varchar2 | — | Ya | Nama tugas penasihat yang parameternya ingin Anda ubah. Nilai berikut ini valid:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Misc.html) | 
| `p_parameter` | varchar2 | — | Ya | Nama parameter tugas. Untuk menemukan parameter yang valid untuk tugas penasihat, jalankan kueri berikut. Ganti {{p\_task\_name}} dengan nilai yang valid untuk`p_task_name`:<pre>COL PARAMETER_NAME FORMAT a30<br />COL PARAMETER_VALUE FORMAT a30<br />SELECT PARAMETER_NAME, PARAMETER_VALUE<br />FROM DBA_ADVISOR_PARAMETERS<br />WHERE TASK_NAME='{{p_task_name}}'<br />AND PARAMETER_VALUE != 'UNUSED'<br />ORDER BY PARAMETER_NAME;</pre> | 
| `p_value` | varchar2 | — | Ya | Nilai untuk parameter tugas. Untuk menemukan nilai yang valid untuk parameter tugas, jalankan kueri berikut. Ganti {{p\_task\_name}} dengan nilai yang valid untuk`p_task_name`:<pre>COL PARAMETER_NAME FORMAT a30<br />COL PARAMETER_VALUE FORMAT a30<br />SELECT PARAMETER_NAME, PARAMETER_VALUE<br />FROM DBA_ADVISOR_PARAMETERS<br />WHERE TASK_NAME='{{p_task_name}}'<br />AND PARAMETER_VALUE != 'UNUSED'<br />ORDER BY PARAMETER_NAME;</pre> | 

 PL/SQL Program berikut ditetapkan `ACCEPT_PLANS` `FALSE` untuk`SYS_AUTO_SPM_EVOLVE_TASK`. Tugas otomatis SQL Plan Management memverifikasi rencana dan membuat laporan temuan, tetapi tidak mengembangkan rencana secara otomatis. Anda dapat menggunakan laporan untuk mengidentifikasi garis dasar rencana SQL baru dan menerimanya secara manual.

```
BEGIN 
  rdsadmin.rdsadmin_util.advisor_task_set_parameter(
    p_task_name => 'SYS_AUTO_SPM_EVOLVE_TASK',
    p_parameter => 'ACCEPT_PLANS',
    p_value     => 'FALSE');
END;
```

 PL/SQL Program berikut ditetapkan `EXECUTION_DAYS_TO_EXPIRE` `10` untuk`AUTO_STATS_ADVISOR_TASK`. Tugas `AUTO_STATS_ADVISOR_TASK` yang telah ditetapkan berjalan secara otomatis pada masa pemeliharaan sekali per hari. Contoh yang ada menetapkan periode retensi untuk eksekusi tugas sampai 10 hari. 

```
BEGIN 
  rdsadmin.rdsadmin_util.advisor_task_set_parameter(
    p_task_name => 'AUTO_STATS_ADVISOR_TASK',
    p_parameter => 'EXECUTION_DAYS_TO_EXPIRE',
    p_value     => '10');
END;
```

### Menonaktifkan AUTO\_STATS\_ADVISOR\_TASK
<a name="Appendix.Oracle.CommonDBATasks.dropping-advisor-task"></a>

Untuk menonaktifkan `AUTO_STATS_ADVISOR_TASK`, gunakan prosedur `rdsadmin.rdsadmin_util.advisor_task_drop` Amazon RDS. Prosedur `advisor_task_drop` menerima parameter berikut.


****  

| Nama parameter | Jenis data | Default | Wajib | Deskripsi | 
| --- | --- | --- | --- | --- | 
| `p_task_name` | varchar2 | — | Ya | Nama tugas penasihat yang akan dinonaktifkan. Satu-satunya nilai yang valid adalah `AUTO_STATS_ADVISOR_TASK`. | 

Perintah berikut menghapus `AUTO_STATS_ADVISOR_TASK`.

```
EXEC rdsadmin.rdsadmin_util.advisor_task_drop('AUTO_STATS_ADVISOR_TASK')
```

Anda dapat mengaktifkan kembali `AUTO_STATS_ADVISOR_TASK` menggunakan `rdsadmin.rdsadmin_util.dbms_stats_init`.

### Re-enabling AUTO\_STATS\_ADVISOR\_TASK
<a name="Appendix.Oracle.CommonDBATasks.recreating-advisor-task"></a>

Untuk mengaktifkan kembali `AUTO_STATS_ADVISOR_TASK`, gunakan prosedur `rdsadmin.rdsadmin_util.dbms_stats_init` Amazon RDS. Prosedur `dbms_stats_init` tidak menggunakan parameter.

Perintah berikut mengaktifkan kembali `AUTO_STATS_ADVISOR_TASK`.

```
EXEC rdsadmin.rdsadmin_util.dbms_stats_init()
```