Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Melakukan tugas sistem umum untuk instans DB Oracle
Setelah itu, Anda dapat menemukan cara melakukan tugas DBA umum tertentu yang terkait dengan sistem di instans DB Amazon RDS 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
- Memutus koneksi sesi
- Mengakhiri sesi
- Membatalkan pernyataan SQL dalam sesi
- Mengaktifkan dan menonaktifkan sesi terbatas
- Menghapus kolam bersama
- Menghapus cache buffer
- Menghapus cache flash smart flash basis data
- Memberikan hak istimewa SELECT atau EXECUTE pada objek SYS
- Mencabut hak istimewa SELECT atau EXECUTE pada objek SYS
- Mengelola tampilan RDS_X$ untuk instans DB Oracle
- Memberikan hak istimewa kepada pengguna non-master
- Membuat fungsi kustom untuk memverifikasi kata sandi
- Menyiapkan server DNS kustom
- Mengatur dan membatalkan pengaturan peristiwa diagnostik sistem
Memutus koneksi sesi
Untuk memutus koneksi sesi saat ini dengan mengakhiri proses server khusus, gunakan prosedur rdsadmin.rdsadmin_util.disconnect
Amazon RDS. Prosedur disconnect
memiliki parameter berikut.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
number |
— |
Ya |
Pengidentifikasi sesi. |
|
number |
— |
Ya |
Nomor seri sesi. |
|
varchar |
'IMMEDIATE' |
Tidak |
Nilai yang valid adalah |
Berikut ini adalah contoh cara memutus koneksi sesi.
begin rdsadmin.rdsadmin_util.disconnect( sid =>
sid
, serial =>serial_number
); end; /
Untuk mendapatkan pengidentifikasi sesi dan nomor sesi, buka tampilan V$SESSION
. Contoh berikut mendapatkan semua sesi untuk pengguna AWSUSER
.
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = '
AWSUSER
';
Basis data harus terbuka untuk menggunakan metode ini. Untuk informasi selengkapnya tentang cara memutuskan koneksi sesi, lihat ALTER SYSTEM
Mengakhiri sesi
Untuk mengakhiri sesi, gunakan prosedur rdsadmin.rdsadmin_util.kill
Amazon RDS. Prosedur kill
memiliki parameter berikut.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
number |
— |
Ya |
Pengidentifikasi sesi. |
|
number |
— |
Ya |
Nomor seri sesi. |
|
varchar |
null |
Tidak |
Nilai yang valid adalah
Jika Anda menentukan |
Untuk mendapatkan pengidentifikasi sesi dan nomor seri sesi, buat kueri tampilan V$SESSION
. Contoh berikut mendapatkan semua sesi untuk pengguna AWSUSER
.
SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME = '
AWSUSER
';
Berikut ini adalah contoh cara mengakhiri sesi.
BEGIN rdsadmin.rdsadmin_util.kill( sid =>
sid
, serial =>serial_number
, method => 'IMMEDIATE'); END; /
Contoh berikut akan mengakhiri proses yang terkait dengan sesi.
BEGIN rdsadmin.rdsadmin_util.kill( sid =>
sid
, serial =>serial_number
, method => 'PROCESS'); END; /
Membatalkan pernyataan SQL dalam sesi
Untuk membatalkan pernyataan SQL dalam sesi, gunakan prosedur rdsadmin.rdsadmin_util.cancel
Amazon RDS.
catatan
Prosedur ini mendukung Oracle Database 19c (19.0.0) dan semua versi utama dan minor yang lebih tinggi dari RDS for Oracle.
Prosedur cancel
memiliki parameter berikut.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
number |
— |
Ya |
Pengidentifikasi sesi. |
|
number |
— |
Ya |
Nomor seri sesi. |
|
varchar2 |
null |
Tidak |
Pengidentifikasi SQL dari pernyataan SQL. |
Contoh berikut membatalkan pernyataan SQL dalam sesi.
begin rdsadmin.rdsadmin_util.cancel( sid =>
sid
, serial =>serial_number
, sql_id =>sql_id
); end; /
Untuk mendapatkan pengidentifikasi sesi, nomor seri sesi, dan pengidentifikasi SQL dari pernyataan SQL, buat kueri tampilan V$SESSION
. Contoh berikut mendapatkan semua sesi untuk pengidentifikasi SQL untuk pengguna AWSUSER
.
select SID, SERIAL#, SQL_ID, STATUS from V$SESSION where USERNAME = '
AWSUSER
';
Mengaktifkan dan menonaktifkan sesi terbatas
Untuk mengaktifkan dan menonaktifkan sesi terbatas, gunakan prosedur rdsadmin.rdsadmin_util.restricted_session
Amazon RDS. Prosedur restricted_session
memiliki parameter berikut.
Nama parameter | Tipe data | Default | Ya | Deskripsi |
---|---|---|---|---|
|
boolean |
true |
Tidak |
Tetapkan ke |
Contoh berikut menunjukkan cara mengaktifkan dan menonaktifkan sesi terbatas.
/* Verify that the database is currently unrestricted. */ SELECT LOGINS FROM V$INSTANCE; LOGINS ------- ALLOWED /* Enable restricted sessions */ EXEC rdsadmin.rdsadmin_util.restricted_session(p_enable => true); /* Verify that the database is now restricted. */ SELECT LOGINS FROM V$INSTANCE; LOGINS ---------- RESTRICTED /* Disable restricted sessions */ EXEC rdsadmin.rdsadmin_util.restricted_session(p_enable => false); /* Verify that the database is now unrestricted again. */ SELECT LOGINS FROM V$INSTANCE; LOGINS ------- ALLOWED
Menghapus kolam bersama
Untuk menghapus kolam bersama, terapkan prosedur rdsadmin.rdsadmin_util.flush_shared_pool
Amazon RDS. Prosedur flush_shared_pool
tidak memiliki parameter.
Contoh berikut menghapus kolam bersama.
EXEC rdsadmin.rdsadmin_util.flush_shared_pool;
Menghapus cache buffer
Untuk menghapus cache buffer, terapkan prosedur rdsadmin.rdsadmin_util.flush_buffer_cache
Amazon RDS. Prosedur flush_buffer_cache
tidak memiliki parameter.
Contoh berikut akan menghapus cache buffer.
EXEC rdsadmin.rdsadmin_util.flush_buffer_cache;
Menghapus cache flash smart flash basis data
Untuk menghapus cache smart flash basis data, terapkan prosedur rdsadmin.rdsadmin_util.flush_flash_cache
Amazon RDS. Prosedur flush_flash_cache
tidak memiliki parameter. Contoh berikut akan menghapus cache smart flash basis data.
EXEC rdsadmin.rdsadmin_util.flush_flash_cache;
Untuk informasi selengkapnya tentang penggunaan cache smart flash basis data dengan RDS for Oracle, lihat Menyimpan data sementara di penyimpanan instans RDS for Oracle.
Memberikan hak istimewa SELECT atau EXECUTE pada objek SYS
Biasanya Anda mentransfer hak istimewa dengan menggunakan peran, yang dapat berisi banyak objek. Untuk memberikan hak istimewa kepada satu objek, gunakan prosedur rdsadmin.rdsadmin_util.grant_sys_object
Amazon RDS. Prosedur ini memberikan hanya hak istimewa yang telah diberikan kepada pengguna master melalui peran atau pemberian langsung.
Prosedur grant_sys_object
memiliki parameter berikut.
penting
Untuk semua nilai parameter, gunakan huruf besar kecuali jika Anda membuat pengguna dengan pengidentifikasi yang peka huruf besar. Misalnya, jika Anda menjalankan CREATE USER
myuser
atau CREATE USER MYUSER
, kamus data menyimpan MYUSER
. Namun, jika Anda menggunakan tanda kutip ganda di CREATE USER
"MyUser"
, kamus data menyimpan MyUser
.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
varchar2 |
— |
Ya |
Nama objek untuk menerima pemberian hak istimewa. Objek dapat berupa direktori, fungsi, paket, prosedur, urutan, tabel, atau tampilan. Nama objek harus dieja persis seperti yang muncul di |
|
varchar2 |
— |
Ya |
Nama objek untuk menerima pemberian hak istimewa. Objek dapat berupa skema atau peran. |
|
varchar2 |
null |
Ya |
— |
|
boolean |
false |
Tidak |
Tetapkan ke |
Contoh berikut memberikan hak istimewa tertentu pada objek yang diberi nama V_$SESSION
ke pengguna bernama USER1
.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => '
V_$SESSION
', p_grantee => 'USER1
', p_privilege => 'SELECT
'); end; /
Contoh berikut memberikan hak istimewa tertentu pada objek yang diberi nama V_$SESSION
ke pengguna bernama USER1
dengan opsi pemberian.
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => '
V_$SESSION
', p_grantee => 'USER1
', p_privilege => 'SELECT
', p_grant_option =>true
); end; /
Agar dapat memberikan hak istimewa kepada suatu objek, akun Anda harus memiliki hak istimewa yang diberikan kepadanya secara langsung dengan opsi pemberian, atau melalui peran yang diberikan menggunakan with admin option
. Dalam kasus yang paling umum, Anda mungkin ingin memberikan SELECT
pada tampilan DBA yang telah diberikan kepada peran SELECT_CATALOG_ROLE
. Jika peran tersebut belum diberikan secara langsung kepada pengguna Anda menggunakan with admin option
, Anda tidak dapat mentransfer hak istimewa tersebut. Jika Anda memiliki hak istimewa DBA, Anda dapat memberikan peran tersebut secara langsung ke pengguna lain.
Contoh berikut memberikan SELECT_CATALOG_ROLE
dan EXECUTE_CATALOG_ROLE
kepada USER1
. Sejak with
admin option
digunakan, USER1
sekarang dapat memberikan akses ke objek SYS yang telah diberikan kepada SELECT_CATALOG_ROLE
.
GRANT SELECT_CATALOG_ROLE TO
USER1
WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE toUSER1
WITH ADMIN OPTION;
Objek yang telah diberikan kepada PUBLIC
tidak perlu diberikan ulang. Jika Anda menggunakan prosedur grant_sys_object
untuk memberikan ulang akses, pemanggilan prosedur berhasil.
Mencabut hak istimewa SELECT atau EXECUTE pada objek SYS
Untuk mencabut hak pada satu objek, gunakan prosedur rdsadmin.rdsadmin_util.revoke_sys_object
Amazon RDS. Prosedur ini membatalkan hanya hak istimewa yang telah diberikan kepada pengguna master melalui peran atau pemberian langsung.
Prosedur revoke_sys_object
memiliki parameter berikut.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
varchar2 |
— |
Ya |
Nama objek yang akan dicabut hak istimewanya. Objek dapat berupa direktori, fungsi, paket, prosedur, urutan, tabel, atau tampilan. Nama objek harus dieja persis seperti yang muncul di |
|
varchar2 |
— |
Ya |
Nama objek yang akan dicabut hak istimewanya. Objek dapat berupa skema atau peran. |
|
varchar2 |
null |
Ya |
— |
Contoh berikut mencabut hak istimewa tertentu pada objek yang diberi nama V_$SESSION
ke pengguna bernama USER1
.
begin rdsadmin.rdsadmin_util.revoke_sys_object( p_obj_name => '
V_$SESSION
', p_revokee => 'USER1
', p_privilege => 'SELECT
'); end; /
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$
.
Prosedur rdsadmin.rdsadmin_util
tersedia dalam versi mesin basis data berikut:
-
21.0.0.0.ru-2023-10.rur-2023-10.r1
dan versi Oracle Database 21c yang lebih baru -
19.0.0.0.ru-2023-10.rur-2023-10.r1
dan versi Oracle Database 19c yang lebih baru
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 | Tipe data | Default | Diperlukan | 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 | Tipe data | Default | Diperlukan | 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
Memberikan hak istimewa kepada pengguna non-master
Anda dapat memberikan hak istimewa pilihan untuk banyak objek dalam skema SYS
dengan menggunakan peran SELECT_CATALOG_ROLE
. Peran SELECT_CATALOG_ROLE
memberi pengguna hak istimewa SELECT
pada tampilan kamus data. Contoh berikut memberikan peran SELECT_CATALOG_ROLE
kepada pengguna dengan nama user1
.
GRANT SELECT_CATALOG_ROLE TO
user1
;
Anda dapat memberikan hak istimewa EXECUTE
untuk banyak objek dalam skema SYS
menggunakan peran EXECUTE_CATALOG_ROLE
. Peran EXECUTE_CATALOG_ROLE
memberi pengguna hak istimewa EXECUTE
untuk paket dan prosedur dalam kamus data. Contoh berikut memberikan peran EXECUTE_CATALOG_ROLE
kepada pengguna dengan nama user1.
GRANT EXECUTE_CATALOG_ROLE TO
user1
;
Contoh berikut mendapatkan izin yang peran SELECT_CATALOG_ROLE
dan EXECUTE_CATALOG_ROLE
izinkan.
SELECT * FROM ROLE_TAB_PRIVS WHERE ROLE IN ('SELECT_CATALOG_ROLE','EXECUTE_CATALOG_ROLE') ORDER BY ROLE, TABLE_NAME ASC;
Contoh berikut membuat pengguna non-master bernama user1
, memberikan hak istimewa CREATE SESSION
, dan memberikan hak istimewa SELECT
pada basis data yang diberi nama sh.sales.
CREATE USER
user1
IDENTIFIED BY PASSWORD; GRANT CREATE SESSION TOuser1
; GRANT SELECT ONsh.sales
TOuser1
;
Membuat fungsi kustom untuk memverifikasi kata sandi
Anda dapat membuat fungsi verifikasi kata sandi kustom dengan cara berikut:
-
Untuk menggunakan logika verifikasi standar dan untuk menyimpan fungsi Anda di skema
SYS
, gunakan prosedurcreate_verify_function
. -
Untuk menggunakan logika verifikasi kustom atau untuk menghindari menyimpan fungsi Anda dalam skema
SYS
, gunakan prosedurcreate_passthrough_verify_fcn
.
Prosedur create_verify_function
Anda dapat membuat fungsi kustom untuk memverifikasi kata sandi dengan menerapkan prosedur rdsadmin.rdsadmin_password_verify.create_verify_function
Amazon RDS. Prosedur create_verify_function
mendukung versi 12.1.0.2.v5 dan semua versi utama dan minor yang lebih baru dari RDS for Oracle.
Prosedur create_verify_function
memiliki parameter berikut.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
varchar2 |
— |
Ya |
Nama untuk fungsi kustom Anda. Fungsi ini dibuat untuk Anda dalam skema SYS. Anda menetapkan fungsi ini ke profil pengguna. |
|
number |
8 |
Tidak |
Jumlah karakter minimum wajib diisi. |
|
number |
256 |
Tidak |
Jumlah maksimum karakter diperbolehkan. |
|
number |
1 |
Tidak |
Jumlah huruf minimum wajib diisi. |
|
number |
0 |
Tidak |
Jumlah huruf besar minimum wajib diisi. |
|
number |
0 |
Tidak |
Jumlah huruf kecil minimum wajib diisi. |
|
number |
1 |
Tidak |
Jumlah digit minimum wajib diisi. |
|
number |
0 |
Tidak |
Jumlah karakter khusus minimum wajib diisi. |
|
number |
3 |
Tidak |
Jumlah minimum karakter berbeda wajib diisi antara kata sandi lama dan baru. |
|
boolean |
true |
Tidak |
Tetapkan ke |
|
boolean |
true |
Tidak |
Tetapkan ke |
|
boolean |
true |
Tidak |
Tetapkan ke |
|
boolean |
true |
Tidak |
Tetapkan ke |
|
boolean |
false |
Tidak |
Tetapkan ke |
|
boolean |
false |
Tidak |
Tetapkan ke |
Anda dapat membuat beberapa fungsi verifikasi kata sandi.
Ada pembatasan pada nama fungsi kustom Anda. Fungsi kustom Anda tidak dapat memiliki nama yang sama dengan objek sistem yang sudah ada. Panjang nama tidak boleh lebih dari 30 karakter. Selain itu, nama harus menyertakan salah satu dari string berikut: PASSWORD
, VERIFY
, COMPLEXITY
, ENFORCE
, atau STRENGTH
.
Contoh berikut membuat fungsi dengan nama CUSTOM_PASSWORD_FUNCTION
. Fungsi tersebut mengharuskan agar kata sandi memiliki setidaknya 12 karakter, 2 karakter huruf besar, 1 digit, dan 1 karakter khusus, dan kata sandi tidak boleh berisi karakter @.
begin rdsadmin.rdsadmin_password_verify.create_verify_function( p_verify_function_name => '
CUSTOM_PASSWORD_FUNCTION
', p_min_length =>12
, p_min_uppercase =>2
, p_min_digits =>1
, p_min_special =>1
, p_disallow_at_sign =>true
); end; /
Untuk melihat teks fungsi verifikasi Anda, kueri DBA_SOURCE
. Contoh berikut mendapatkan teks fungsi kata sandi kustom bernama CUSTOM_PASSWORD_FUNCTION
.
COL TEXT FORMAT a150 SELECT TEXT FROM DBA_SOURCE WHERE OWNER = 'SYS' AND NAME = '
CUSTOM_PASSWORD_FUNCTION
' ORDER BY LINE;
Untuk mengaitkan fungsi verifikasi Anda dengan profil pengguna, gunakan alter
profile
. Contoh berikut mengaitkan fungsi verifikasi dengan profil pengguna DEFAULT
.
ALTER PROFILE
DEFAULT
LIMIT PASSWORD_VERIFY_FUNCTIONCUSTOM_PASSWORD_FUNCTION
;
Untuk melihat keterkaitan profil pengguna dengan fungsi verifikasi, kueri DBA_PROFILES
. Contoh berikut mendapatkan profil yang terkait dengan fungsi verifikasi kustom bernama CUSTOM_PASSWORD_FUNCTION
.
SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD' AND LIMIT = '
CUSTOM_PASSWORD_FUNCTION
'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------- -------------------------------- -------- ------------------------ DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD CUSTOM_PASSWORD_FUNCTION
Contoh berikut mendapatkan semua profil dan fungsi verifikasi kata sandi yang terkait dengan profil.
SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------- -------------------------------- -------- ------------------------ DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD CUSTOM_PASSWORD_FUNCTION RDSADMIN PASSWORD_VERIFY_FUNCTION PASSWORD NULL
Prosedur create_passthrough_verify_fcn
Prosedur create_passthrough_verify_fcn
mendukung versi 12.1.0.2.v7 dan semua versi utama dan minor yang lebih baru dari RDS for Oracle.
Anda dapat membuat fungsi kustom untuk memverifikasi kata sandi dengan menerapkan prosedur rdsadmin.rdsadmin_password_verify.create_passthrough_verify_fcn
Amazon RDS. Prosedur create_passthrough_verify_fcn
memiliki parameter berikut.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
varchar2 |
— |
Ya |
Nama untuk fungsi verifikasi kustom Anda. Ini adalah fungsi pembungkus yang dibuat untuk Anda dalam skema SYS, dan tidak berisi logika verifikasi apa pun. Anda menetapkan fungsi ini ke profil pengguna. |
|
varchar2 |
— |
Ya |
Pemilik skema untuk fungsi verifikasi kustom Anda. |
|
varchar2 |
— |
Ya |
Nama fungsi kustom Anda saat ini yang berisi logika verifikasi. Fungsi kustom Anda harus menampilkan boolean. Fungsi Anda harus menampilkan |
Contoh berikut membuat fungsi verifikasi kata sandi yang menggunakan logika dari fungsi yang disebut PASSWORD_LOGIC_EXTRA_STRONG
.
begin rdsadmin.rdsadmin_password_verify.create_passthrough_verify_fcn( p_verify_function_name => '
CUSTOM_PASSWORD_FUNCTION
', p_target_owner => 'TEST_USER
', p_target_function_name => 'PASSWORD_LOGIC_EXTRA_STRONG
'); end; /
Untuk mengaitkan fungsi verifikasi dengan profil pengguna, gunakan alter
profile
. Contoh berikut mengaitkan fungsi verifikasi dengan profil pengguna DEFAULT
.
ALTER PROFILE
DEFAULT
LIMIT PASSWORD_VERIFY_FUNCTIONCUSTOM_PASSWORD_FUNCTION
;
Menyiapkan server DNS kustom
Amazon RDS mendukung akses jaringan keluar di instans DB Anda yang menjalankan Oracle. Untuk informasi selengkapnya tentang akses jaringan keluar, termasuk prasyarat, lihat Mengonfigurasi akses UTL_HTTP menggunakan sertifikat dan dompet Oracle.
Amazon RDS Oracle memungkinkan resolusi Layanan Nama Domain (DNS) dari server DNS kustom yang dimiliki oleh pelanggan. Anda hanya dapat menyelesaikan nama domain yang benar-benar memenuhi syarat dari instans DB Amazon RDS Anda melalui server DNS khusus.
Setelah Anda mengatur nama server DNS Anda, perlu waktu hingga 30 menit untuk menyebarkan perubahan ke instans DB Anda. Setelah perubahan diterapkan ke instans DB Anda, semua lalu lintas jaringan keluar mengharuskan pencarian DNS mengkueri server DNS melalui port 53.
Untuk membuat server DNS khusus untuk instans DB Amazon RDS for Oracle, lakukan hal berikut:
-
Dari set opsi DHCP yang terlampir pada cloud privat virtual (VPC) Anda, tetapkan opsi
domain-name-servers
ke alamat IP server nama DNS Anda. Untuk informasi selengkapnya, lihat Set opsi DHCP.catatan
Opsi
domain-name-servers
menerima hingga empat nilai, tetapi instans DB Amazon RDS Anda hanya menggunakan nilai pertama. -
Pastikan bahwa server DNS Anda dapat menyelesaikan semua kueri pencarian, termasuk nama DNS publik, nama DNS privat Amazon EC2, dan nama DNS khusus pelanggan. Jika lalu lintas jaringan keluar memuat setiap pencarian DNS yang tidak dapat ditangani server DNS Anda, server DNS Anda harus dikonfigurasikan oleh penyedia DNS hulu yang sesuai.
-
Konfigurasikan server DNS Anda untuk menghasilkan respons Protokol Datagram Pengguna (UDP) sebesar 512 byte atau kurang.
-
Konfigurasikan server DNS Anda untuk menghasilkan respons Protokol Kontrol Transmisi (TCP) sebesar 1024 byte atau kurang.
-
Konfigurasikan server DNS Anda untuk mengizinkan lalu lintas masuk dari instans DB Amazon RDS Anda melalui port 53. Jika server DNS Anda berada di Amazon VPC, maka VPC harus memiliki grup keamanan yang berisi aturan masuk yang mengizinkan lalu lintas UDP dan TCP di port 53. Jika server DNS Anda tidak berada di dalam VPC Amazon, server harus memiliki daftar izin firewall yang sesuai untuk mengizinkan lalu lintas masuk UDP dan TCP di port 53.
Untuk informasi lebih lanjut, lihat Grup keamanan untuk VPC Anda dan Menambahkan dan menghapus aturan.
-
Konfigurasikan VPC instans DB Amazon RDS Anda untuk mengizinkan lalu lintas keluar melalui port 53. VPC Anda harus memiliki grup keamanan yang berisi aturan keluar yang mengizinkan lalu lintas UDP dan TCP di port 53.
Untuk informasi lebih lanjut, lihat Grup keamanan untuk VPC Anda serta Menambahkan dan menghapus aturan.
-
Jalur perutean antara instans DB Amazon RDS dan server DNS harus dikonfigurasi dengan benar untuk memungkinkan lalu lintas DNS.
-
Jika instans DB Amazon RDS dan server DNS tidak berada dalam VPC yang sama, koneksi peering harus diatur di antara keduanya. Untuk informasi selengkapnya, lihat Apa yang dimaksud peering VPC?
-
Mengatur dan membatalkan pengaturan peristiwa diagnostik sistem
Untuk mengatur dan membatalkan pengaturan peristiwa diagnostik pada tingkat sesi, Anda dapat menggunakan pernyataan ALTER
SESSION SET EVENTS
Oracle SQL. Namun, untuk menyetel peristiwa di tingkat sistem, Anda tidak dapat menggunakan Oracle SQL. Sebaliknya, gunakan prosedur peristiwa sistem dalam paket rdsadmin.rdsadmin_util
. Prosedur peristiwa sistem tersedia dalam versi mesin berikut:
-
Semua versi Oracle Database 21c
-
Versi 19.0.0.ru-2020-10.rur-2020-10.rur-2020-10.r1 dan Oracle Database 19c yang lebih baru
Untuk informasi selengkapnya, lihat Versi 19.0.0.0.ru-2020-10.rur-2020-10.r1 di Catatan Rilis Amazon RDS for Oracle.
-
Versi 12.2.0.1.ru-2020-10.rur-2020-10.rur-2020-10.r1 dan Oracle Database 12c Rilis 2 (12.2.0.1)
Untuk informasi selengkapnya, lihat Versi 12.2.0.1.ru-2020-10.rur-2020-10.r1 di Catatan Rilis Amazon RDS for Oracle.
-
Versi 12.1.0.2.V22 dan Oracle Database 12c Rilis 1 (12.1.0.2) yang lebih baru
Untuk informasi selengkapnya, lihat Versi 12.1.0.2.v22 di Catatan Rilis Amazon RDS for Oracle.
para
penting
Secara internal, paket rdsadmin.rdsadmin_util
menetapkan peristiwa menggunakan pernyataan ALTER SYSTEM SET EVENTS
. Pernyataan ALTER
SYSTEM
tidak didokumentasikan di dokumentasi Oracle Database. Beberapa peristiwa diagnostik sistem dapat menghasilkan informasi pelacakan dalam jumlah besar, menyebabkan pertentangan, atau memengaruhi ketersediaan basis data. Sebaiknya uji peristiwa diagnostik tertentu dalam basis data nonproduksi, dan hanya tetapkan persitiwa dalam basis data produksi Anda berdasarkan panduan Dukungan Oracle.
Mencantumkan peristiwa diagnostik sistem yang diizinkan
Untuk mencantumkan peristiwa sistem yang dapat Anda tetapkan, gunakan prosedur rdsadmin.rdsadmin_util.list_allowed_system_events
Amazon RDS. Prosedur ini tidak menerima parameter.
Contoh berikut mencantumkan semua peristiwa sistem yang dapat Anda tetapkan.
SET SERVEROUTPUT ON EXEC rdsadmin.rdsadmin_util.list_allowed_system_events;
Output sampel berikut mencantumkan nomor peristiwa dan deskripsinya. Gunakan prosedur set_system_event
Amazon RDS untuk mengatur peristiwa dan unset_system_event
untuk membatalkan pengaturannya.
604 - error occurred at recursive SQL level 942 - table or view does not exist 1401 - inserted value too large for column 1403 - no data found 1410 - invalid ROWID 1422 - exact fetch returns more than requested number of rows 1426 - numeric overflow 1427 - single-row subquery returns more than one row 1476 - divisor is equal to zero 1483 - invalid length for DATE or NUMBER bind variable 1489 - result of string concatenation is too long 1652 - unable to extend temp segment by in tablespace 1858 - a non-numeric character was found where a numeric was expected 4031 - unable to allocate bytes of shared memory ("","","","") 6502 - PL/SQL: numeric or value error 10027 - Specify Deadlock Trace Information to be Dumped 10046 - enable SQL statement timing 10053 - CBO Enable optimizer trace 10173 - Dynamic Sampling time-out error 10442 - enable trace of kst for ORA-01555 diagnostics 12008 - error in materialized view refresh path 12012 - error on auto execute of job 12504 - TNS:listener was not given the SERVICE_NAME in CONNECT_DATA 14400 - inserted partition key does not map to any partition 31693 - Table data object failed to load/unload and is being skipped due to error:
catatan
Daftar peristiwa sistem yang diizinkan dapat berubah seiring waktu. Untuk memastikan bahwa Anda memiliki daftar terbaru peristiwa yang memenuhi syarat, gunakan rdsadmin.rdsadmin_util.list_allowed_system_events
.
Menyetel peristiwa diagnostik sistem
Untuk menyetel peristiwa sistem, gunakan prosedur rdsadmin.rdsadmin_util.set_system_event
Amazon RDS. Anda hanya dapat menyetel peristiwa yang tercantum dalam output dari rdsadmin.rdsadmin_util.list_allowed_system_events
. Prosedur set_system_event
menerima parameter berikut.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
number |
— |
Ya |
Nomor peristiwa sistem. Nilai harus salah satu nomor event yang dilaporkan oleh |
|
number |
— |
Ya |
Level peristiwa. Lihat dokumentasi Oracle Database atau Dukungan Oracle untuk deskripsi berbagai nilai level. |
Prosedur set_system_event
membangun dan menjalankan pernyataan wajib ALTER SYSTEM SET EVENTS
yang sesuai dengan prinsip berikut:
-
Tipe peristiwa (
context
atauerrorstack
) ditentukan secara otomatis. -
Pernyataan dalam formulir
ALTER SYSTEM SET EVENTS '
menetapkan peristiwa konteks. Notasi ini setara denganevent
LEVELevent_level
'ALTER SYSTEM SET EVENTS '
.event
TRACE NAME CONTEXT FOREVER, LEVELevent_level
' -
Pernyataan dalam formulir
ALTER SYSTEM SET EVENTS '
mengatur peristiwa tumpukan kesalahan. Notasi ini setara denganevent
ERRORSTACK (event_level
)'ALTER SYSTEM SET EVENTS '
.event
TRACE NAME ERRORSTACK LEVELevent_level
'
Contoh berikut menetapkan peristiwa 942 di level 3, dan peristiwa 10442 di level 10. Contoh output disertakan.
SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(942,3); Setting system event 942 with: alter system set events '942 errorstack (3)' PL/SQL procedure successfully completed. SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(10442,10); Setting system event 10442 with: alter system set events '10442 level 10' PL/SQL procedure successfully completed.
Mencantumkan peristiwa diagnostik sistem yang ditetapkan
Untuk mencantumkan peristiwa sistem yang sudah ditetapkan saat ini, gunakan prosedur rdsadmin.rdsadmin_util.list_set_system_events
Amazon RDS. Prosedur ini melaporkan hanya peristiwa yang ditetapkan pada tingkat sistem oleh set_system_event
.
Contoh berikut mencantumkan peristiwa sistem aktif.
SET SERVEROUTPUT ON EXEC rdsadmin.rdsadmin_util.list_set_system_events;
Output sampel berikut menunjukkan daftar peristiwa, tipe peristiwa, level peristiwa yang saat ini ditetapkan, dan waktu saat peristiwa ditetapkan.
942 errorstack (3) - set at 2020-11-03 11:42:27 10442 level 10 - set at 2020-11-03 11:42:41 PL/SQL procedure successfully completed.
Membatalkan pengaturan peristiwa diagnostik sistem
Untuk membatalkan pengaturan peristiwa sistem, gunakan prosedur rdsadmin.rdsadmin_util.unset_system_event
Amazon RDS. Anda hanya dapat membatalkan pengaturan peristiwa yang tercantum dalam output dari rdsadmin.rdsadmin_util.list_allowed_system_events
. Prosedur unset_system_event
menerima parameter berikut.
Nama parameter | Tipe data | Default | Diperlukan | Deskripsi |
---|---|---|---|---|
|
number |
— |
Ya |
Nomor peristiwa sistem. Nilai harus salah satu nomor peristiwa yang dilaporkan oleh |
Contoh berikut akan membatalkan pengaturan peristiwa 942 dan 10442. Contoh output disertakan.
SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(942); Unsetting system event 942 with: alter system set events '942 off' PL/SQL procedure successfully completed. SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(10442); Unsetting system event 10442 with: alter system set events '10442 off' PL/SQL procedure successfully completed.