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
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.
Topik
Membuat dan menghapus direktori di ruang penyimpanan data utama
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 |
---|---|---|---|---|
|
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 mengonsumsi ruang dan bandwidth I/O.
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
Membuat daftar file di direktori instans DB
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 |
---|---|---|---|---|
|
varchar2 |
— |
Ya |
Nama direktori yang dibuat daftarnya. |
Contoh berikut memberikan hak baca/tulis pada direktori PRODUCT_DESCRIPTIONS
ke penggunardsadmin
, lalu membuat 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
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 |
---|---|---|---|---|
|
varchar2 |
— |
Ya |
Nama direktori yang memuat file. |
|
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
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-
di direktori BDUMP berisi informasi patch yang terkait dengan versi mesin Anda saat ini. Saat Anda melakukan peningkatan kecil atau besar, Amazon RDS memperbarui dbv
.txtlsinventory-
dalam waktu satu jam setelah patch diterapkan. Untuk memverifikasi patch yang diterapkan, baca dbv
.txtlsinventory-
. Tindakan ini mirip dengan menjalankan perintah dbv
.txtopatch 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.
File inventaris menggunakan konvensi penamaan Amazon RDS lsinventory-
dan dbv
.txtlsinventory_detail-
, di mana dbv
.txtdbv
adalah nama lengkap versi DB Anda. File lsinventory-
tersedia di semua versi DB. Yang sesuai dbv
.txtlsinventory_detail-
tersedia di 19.0.0.0, ru-2020-01.rur-2020-01.r1 atau yang lebih baru.dbv
.txt
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.
Untuk mengunduh file inventaris menggunakan konsol
Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/
. -
Di panel navigasi, pilih Basis data.
-
Pilih nama instans DB yang memiliki file log yang ingin dilihat.
-
Pilih tab Log & peristiwa.
-
Gulir ke bawah hingga bagian Log.
-
Di bagian Log, cari
lsinventory
. -
Pilih file yang ingin Anda akses, lalu pilih Unduh.
Untuk membaca lsinventory-
di klien SQL, Anda dapat menggunakan pernyataan dbv
.txtSELECT
. Untuk teknik ini, gunakan fungsi rdsadmin
berikut: rdsadmin.rds_file_util.read_text_file
atau rdsadmin.tracefile_listing
.
Pada kueri sampel berikut, ganti dbv
dengan versi DB Oracle 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'));
Untuk membaca lsinventory-
di klien SQL, Anda dapat menulis program PL/SQL. Program ini menggunakan dbv
.txtutl_file
untuk membaca file, dan dbms_output
untuk mencetaknya. Ini adalah paket yang diberikan oleh Oracle.
Pada program sampel berikut, ganti dbv
dengan versi DB Oracle 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
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 di Catatan Rilis Amazon RDS for Oracle.
Topik
Mengatur parameter untuk tugas penasihat
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 |
---|---|---|---|---|
|
varchar2 |
— |
Ya |
Nama tugas penasihat yang parameternya ingin Anda ubah. Nilai berikut ini valid:
|
|
varchar2 |
— |
Ya |
Nama parameter tugas. Untuk menemukan parameter yang valid untuk tugas penasihat, jalankan kueri berikut. Ganti
|
|
varchar2 |
— |
Ya |
Nilai untuk parameter tugas. Untuk menemukan nilai yang valid untuk parameter tugas, jalankan kueri berikut. Ganti
|
Program PL/SQL berikut menetapkan ACCEPT_PLANS
menjadi 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;
Program PL/SQL berikut menetapkan EXECUTION_DAYS_TO_EXPIRE
menjadi 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
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 |
---|---|---|---|---|
|
varchar2 |
— |
Ya |
Nama tugas penasihat yang akan dinonaktifkan. Satu-satunya nilai yang valid adalah |
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
.
Mengaktifkan kembali AUTO_STATS_ADVISOR_TASK
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()