Bekerja dengan tablespaces di RDS untuk Oracle - Layanan Basis Data Relasional Amazon

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

Bekerja dengan tablespaces di RDS untuk Oracle

Anda dapat menggunakan tablespace dengan RDS untuk Oracle, yang merupakan unit penyimpanan logis yang menyimpan data database.

penting

Jika instans DB Anda memiliki replika, sebaiknya gunakan pengaturan grup parameter alih-alih perubahan tingkat sesi untuk mengelola lokasi file default. Perubahan tingkat sesi ke lokasi file default di instance utama tidak secara otomatis tercermin dalam replika. Menggunakan pengaturan grup parameter memastikan lokasi file yang konsisten di seluruh instance primer dan replika Anda.

Menentukan lokasi file database di RDS untuk Oracle

RDS untuk Oracle menggunakan Oracle Managed Files (OMF) untuk memberi nama file database. Ketika Anda membuat file database database memperoleh pengaturan berdasarkan pengaturan saat ini dari parameter DB_CREATE_FILE_DEST inisialisasi.

Nilai default dari parameter DB_CREATE_FILE_DEST inisialisasi adalah /rdsdbdata/db untuk database mandiri dan /rdsdbdata/db/pdb untuk arsitektur containerized (CDB/MT). Jika instans DB Anda memiliki volume penyimpanan tambahan, maka Anda dapat mengatur DB_CREATE_FILE_DEST ke lokasi volume Anda. Misalnya, jika instance Anda memiliki volume yang terpasang/rdsdbdata/db, Anda dapat mengatur DB_CREATE_FILE_DEST ke nilai ini.

Anda dapat memodifikasi DB_CREATE_FILE_DEST parameter di tingkat sesi atau tingkat instance database Oracle.

Memodifikasi DB_CREATE_FILE_SET pada tingkat instance

Untuk memodifikasi parameter pada tingkat instans, perbarui parameter dalam grup parameter yang ditetapkan ke instans DB Anda dan terapkan. Untuk informasi selengkapnya, lihat RDS untuk parameter inisialisasi Oracle dan .

Memodifikasi DB_CREATE_FILE_DEST di tingkat sesi

Anda dapat memodifikasi parameter di tingkat sesi dengan mengeksekusi ALTER SESSION pernyataan. Pendekatan ini berguna ketika Anda ingin membuat file database di lokasi tertentu untuk sesi tertentu tanpa mempengaruhi seluruh instance.

Contoh berikut menunjukkan cara memeriksa nilai parameter saat ini dan memodifikasinya untuk sesi:

SHOW PARAMETER db_create_file_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string /rdsdbdata/db ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db'; Session altered. SHOW PARAMETER db_create_file_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string /rdsdbdata2/db

Membuat dan mengukur ruang meja di RDS untuk Oracle

Saat Anda membuat tablespaces, database membuat file data dalam volume penyimpanan yang ditentukan oleh parameter DB_CREATE_FILE_DEST inisialisasi pada saat pembuatan. Jika Anda tidak menentukan ukuran file data, tablespace dibuat dengan pengaturan default AUTOEXTEND ON, dan ukuran maksimum tidak ditentukan. Dalam contoh berikut, tablespace users1 bersifat autoextensible.

CREATE TABLESPACE users1;

Karena pengaturan default ini, ukuran tablespace dapat bertambah untuk menggunakan semua penyimpanan yang dialokasikan. Kami sarankan Anda menentukan ukuran maksimum yang sesuai pada ruang tabel permanen dan sementara, dan bahwa Anda dengan cermat menggunakan ruang monitor.

Contoh berikut membuat tablespace bernama users2 dengan ukuran awal 1 gigabyte. Karena ukuran file data ditentukan, tetapi AUTOEXTEND ON tidak ditentukan, tablespace tidak dapat diperluas secara otomatis.

CREATE TABLESPACE users2 DATAFILE SIZE 1G;

Contoh berikut membuat tablespace bernama users3 dengan ukuran awal 1 gigabyte, autoextend dihidupkan, dan ukuran maksimum 10 gigabyte.

CREATE TABLESPACE users3 DATAFILE SIZE 1G AUTOEXTEND ON MAXSIZE 10G;

Contoh berikut menciptakan tablespace sementara bernamatemp01.

CREATE TEMPORARY TABLESPACE temp01;

Anda dapat mengubah ukuran tablespace bigfile dengan menggunakan ALTER TABLESPACE. Anda dapat menentukan ukuran dalam kilobyte (K), megabyte (M), atau gigabyte (G). Contoh berikut mengubah ukuran ruang tabel file besar dengan nama users_bf hingga 200 MB.

ALTER TABLESPACE users_bf RESIZE 200M;

Contoh berikut menambahkan file data tambahan ke tablespace smallfile bernama. users_sf

ALTER TABLESPACE users_sf ADD DATAFILE SIZE 100000M AUTOEXTEND ON NEXT 250m MAXSIZE UNLIMITED;

Membuat tablespace pada volume penyimpanan tambahan di RDS untuk Oracle

Untuk membuat tablespace pada volume penyimpanan tambahan, ubah DB_CREATE_FILE_DEST parameter ke lokasi volume. Contoh berikut menetapkan lokasi file ke/rdsdbdata2/db.

ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db'; Session altered.

Dalam contoh berikut, Anda membuat tablespace pada volume /rdsdbdata2/db tambahan.

CREATE TABLESPACE new_tablespace DATAFILE SIZE 10G; Tablespace created. SELECT tablespace_name,file_id,file_name FROM dba_data_files WHERE tablespace_name = 'NEW_TABLESPACE'; TABLESPACE_NAME FILE_ID FILE_NAME ------------------------- ---------- -------------------------------------------------------------------------------- NEW_TABLESPACE 7 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_newtable_a123b4c5_.dbf

Untuk membuat tablespace smallfile dan menyebarkan file datanya di berbagai volume penyimpanan, tambahkan file data ke tablespace setelah Anda membuatnya. Dalam contoh berikut, Anda membuat tablespace dengan file data di lokasi default. /rdsdbdata/db Kemudian Anda mengatur tujuan default ke/rdsdbdata/db2. Saat Anda menambahkan file data ke tablespace yang baru dibuat, database menyimpan file tersebut. /rdsdbdata/db2

ALTER SESSION SET db_create_file_dest = '/rdsdbdata/db'; Session altered. CREATE SMALLFILE TABLESPACE smalltbs DATAFILE SIZE 10G; Tablespace created. SELECT tablespace_name,file_id,file_name FROM dba_data_files WHERE tablespace_name = 'SMALLTBS'; TABLESPACE_NAME FILE_ID FILE_NAME ------------------------- ---------- -------------------------------------------------------------------------------- SMALLTBS 8 /rdsdbdata/db/ORCL_A/datafile/o1_mf_smalltbs_n563yryk_.dbf ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db'; Session altered. ALTER TABLESPACE smalltbs ADD DATAFILE SIZE 10G; Tablespace altered. SELECT tablespace_name,file_id,file_name FROM dba_data_files WHERE tablespace_name = 'SMALLTBS'; TABLESPACE_NAME FILE_ID FILE_NAME ------------------------- ---------- -------------------------------------------------------------------------------- SMALLTBS 8 /rdsdbdata/db/ORCL_A/datafile/o1_mf_smalltbs_n563yryk_.dbf SMALLTBS 9 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_smalltbs_n564004g_.dbf

Mengatur tablespace default di RDS untuk Oracle

Untuk menetapkan tablespace default, gunakan prosedur rdsadmin.rdsadmin_util.alter_default_tablespace Amazon RDS. Prosedur alter_default_tablespace memiliki parameter berikut.

Nama parameter Jenis data Default Wajib Deskripsi

tablespace_name

varchar

Ya

Nama tablespace default.

Contoh berikut menetapkan tablespace default keusers2:

EXEC rdsadmin.rdsadmin_util.alter_default_tablespace(tablespace_name => 'users2');

Mengatur tablespace sementara default di RDS untuk Oracle

Untuk menetapkan tablespace sementara default, gunakan prosedur rdsadmin.rdsadmin_util.alter_default_temp_tablespace Amazon RDS. Prosedur alter_default_temp_tablespace memiliki parameter berikut.

Nama parameter Jenis data Default Wajib Deskripsi

tablespace_name

varchar

Ya

Nama tablespace sementara default.

Contoh berikut menetapkan tablespace sementara default ketemp01.

EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace(tablespace_name => 'temp01');

Membuat tablespace sementara di penyimpanan instans

Untuk membuat tablespace sementara di penyimpanan instans, gunakan prosedur rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace Amazon RDS. Prosedur create_inst_store_tmp_tblspace memiliki parameter berikut.

Nama parameter Jenis data Default Wajib Deskripsi

p_tablespace_name

varchar

Ya

Nama tablespace sementara.

Contoh berikut menciptakan tablespace sementara temp01 di toko instance.

EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace(p_tablespace_name => 'temp01');
penting

Saat Anda menjalankan rdsadmin_util.create_inst_store_tmp_tblspace, tablespace sementara yang baru dibuat tidak akan otomatis ditetapkan sebagai tablespace sementara default. Untuk menetapkannya sebagai default, lihat Mengatur tablespace sementara default di RDS untuk Oracle.

Lihat informasi yang lebih lengkap di Menyimpan data sementara di penyimpanan instans RDS for Oracle.