Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola tampilan RDS_X$ untuk instans DB Oracle
Anda mungkin perlu mengakses tabel tetap SYS.X$, yang hanya dapat diakses oleh SYS. Untuk membuat tampilan SYS.RDS_X$ pada tabel X$ yang memenuhi syarat, gunakan prosedur dalam paket rdsadmin.rdsadmin_util. Pengguna master Anda secara otomatis diberikan hak istimewa SELECT … WITH GRANT OPTION pada tampilan RDS_X$.
rdsadmin.rdsadmin_utilProsedur tersedia dalam kasus-kasus berikut:
-
Instans DB yang ada yang belum pernah ditingkatkan dan menggunakan rilis berikut:
-
21.0.0.0.ru-2023-10.rur-2023-10.r1dan rilis 21c yang lebih tinggi -
19.0.0.0.ru-2023-10.rur-2023-10.r1dan rilis 19c yang lebih tinggi
-
-
Instans DB baru apa pun yang Anda buat
-
Instans DB yang ada yang telah Anda tingkatkan
penting
Secara internal, paket rdsadmin.rdsadmin_util membuat tampilan pada tabel X$. Tabel X$ adalah objek sistem internal yang tidak dijelaskan dalam dokumentasi Oracle Database. Sebaiknya uji tampilan spesifik dalam basis data non-produksi dan hanya membuat tampilan di basis data produksi Anda berdasarkan panduan Dukungan Oracle.
Mencantumkan tabel tetap X$ yang memenuhi syarat untuk digunakan dalam tampilan RDS_X$
Untuk mencantumkan tabel X$ yang memenuhi syarat untuk digunakan dalam tampilan RDS_X$, gunakan prosedur rdsadmin.rdsadmin_util.list_allowed_sys_x$_views RDS. Prosedur ini tidak menerima parameter. Pernyataan berikut mencantumkan semua tabel X$ yang memenuhi syarat (sampel output disertakan).
SQL> SET SERVEROUTPUT ON SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_util.list_allowed_sys_x$_views); 'X$BH' 'X$K2GTE' 'X$KCBWBPD' 'X$KCBWDS' 'X$KGLLK' 'X$KGLOB' 'X$KGLPN' 'X$KSLHOT' 'X$KSMSP' 'X$KSPPCV' 'X$KSPPI' 'X$KSPPSV' 'X$KSQEQ' 'X$KSQRS' 'X$KTUXE' 'X$KQRFP'
Daftar tabel X$ yang memenuhi syarat dapat berubah seiring waktu. Untuk memastikan bahwa daftar tabel tetap X$ yang memenuhi syarat Anda selalu terbaru, jalankan kembali list_allowed_sys_x$_views secara berkala.
Membuat tampilan SYS.RDS_X$
Untuk membuat tampilan RDS_X$ pada tabel X$ yang memenuhi syarat, gunakan prosedur rdsadmin.rdsadmin_util.create_sys_x$_view RDS. Anda hanya dapat membuat tampilan untuk tabel yang tercantum dalam output rdsadmin.rdsadmin_util.list_allowed_sys_x$_views. Prosedur create_sys_x$_view menerima parameter berikut.
| Nama parameter | Jenis data | Default | Wajib | Deskripsi |
|---|---|---|---|---|
|
|
varchar2 |
Null |
Ya |
Nama tabel |
|
|
Boolean |
FALSE |
Tidak |
Nilai yang menunjukkan apakah akan memaksa pembuatan tampilan |
Contoh berikut membuat tampilan SYS.RDS_X$KGLOB di tabel X$KGLOB. Format untuk nama tampilan adalah RDS_.X$tablename
SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.create_sys_x$_view('X$KGLOB'); PL/SQL procedure successfully completed.
Kueri kamus data berikut mencantumkan tampilan SYS.RDS_X$KGLOB dan menunjukkan statusnya. Pengguna master Anda secara otomatis diberikan hak istimewa SELECT ... WITH GRANT OPTION pada tampilan ini.
SQL> SET SERVEROUTPUT ON SQL> COL OWNER FORMAT A30 SQL> COL OBJECT_NAME FORMAT A30 SQL> COL STATUS FORMAT A30 SQL> SET LINESIZE 200 SQL> SELECT OWNER, OBJECT_NAME, STATUS FROM DBA_OBJECTS WHERE OWNER = 'SYS' AND OBJECT_NAME = 'RDS_X$KGLOB'; OWNER OBJECT_NAME STATUS ------------------------------ ------------------------------ ------------------------------ SYS RDS_X$KGLOB VALID
penting
Tabel X$ tidak dijamin untuk tetap sama sebelum dan sesudah pemutakhiran. RDS for Oracle menghapus dan membuat ulang tampilan RDS_X$ pada tabel X$ selama pemutakhiran mesin. Kemudian, hak istimewa SELECT
... WITH GRANT OPTION diberikan kepada pengguna master. Setelah pemutakhiran, berikan hak istimewa kepada pengguna basis data sesuai kebutuhan pada tampilan RDS_X$ yang sesuai.
Mencantumkan tampilan SYS.RDS_X$
Untuk mencantumkan tampilan RDS_X$ yang ada, gunakan prosedur rdsadmin.rdsadmin_util.list_created_sys_x$_views RDS. Prosedur hanya mencantumkan tampilan yang dibuat oleh prosedur create_sys_x$_view. Contoh berikut mencantumkan tabel X$ yang memiliki tampilan RDS_X$ yang sesuai (sampel output disertakan).
SQL> SET SERVEROUTPUT ON SQL> COL XD_TBL_NAME FORMAT A30 SQL> COL STATUS FORMAT A30 SQL> SET LINESIZE 200 SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_util.list_created_sys_x$_views); XD_TBL_NAME STATUS ------------------------------ ------------------------------ X$BH VALID X$K2GTE VALID X$KCBWBPD VALID 3 rows selected.
Menghapus tampilan RDS_X$
Untuk menghapus tampilan SYS.RDS_X$, gunakan prosedur rdsadmin.rdsadmin_util.drop_sys_x$_view RDS. Anda hanya dapat menghapus tampilan yang tercantum dalam output rdsadmin.rdsadmin_util.list_allowed_sys_x$_views. Prosedur drop_sys_x$_view menerima parameter berikut.
| Nama parameter | Jenis data | Default | Wajib | Deskripsi |
|---|---|---|---|---|
|
|
varchar2 |
Null |
Ya |
Nama tabel tetap |
Contoh berikut menghapus tampilan RDS_X$KGLOB, yang dibuat di tabel X$KGLOB.
SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.drop_sys_x$_view('X$KGLOB'); PL/SQL procedure successfully completed.
Contoh berikut menunjukkan bahwa tampilan SYS.RDS_X$KGLOB telah dihapus (sampel output disertakan).
SQL> SET SERVEROUTPUT ON SQL> COL OWNER FORMAT A30 SQL> COL OBJECT_NAME FORMAT A30 SQL> COL STATUS FORMAT A30 SQL> SET LINESIZE 200 SQL> SELECT OWNER, OBJECT_NAME, STATUS FROM DBA_OBJECTS WHERE OWNER = 'SYS' AND OBJECT_NAME = 'RDS_X$KGLOB'; no rows selected