Arbeiten mit Tablespaces in RDS für Oracle - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit Tablespaces in RDS für Oracle

Sie können Tablespaces mit RDS for Oracle verwenden, einer logischen Speichereinheit, die die Daten der Datenbank speichert.

Wichtig

Wenn Ihre DB-Instance über Replikate verfügt, empfehlen wir die Verwendung von Parametergruppeneinstellungen anstelle von Änderungen auf Sitzungsebene, um die Standard-Dateispeicherorte zu verwalten. Änderungen auf Sitzungsebene an den Standard-Dateispeicherorten in der primären Instance werden nicht automatisch in den Replikaten widergespiegelt. Die Verwendung von Parametergruppeneinstellungen gewährleistet konsistente Dateispeicherorte in Ihren Primär- und Replikatinstanzen.

Angabe von Speicherorten für Datenbankdateien in RDS für Oracle

RDS for Oracle verwendet Oracle Managed Files (OMF) zur Benennung von Datenbankdateien. Wenn Sie Datenbankdateien erstellen, leitet die Datenbank die Einstellung auf der Grundlage der aktuellen Einstellung des DB_CREATE_FILE_DEST Initialisierungsparameters ab.

Der Standardwert des DB_CREATE_FILE_DEST Initialisierungsparameters gilt /rdsdbdata/db für eigenständige Datenbanken und /rdsdbdata/db/pdb für containerisierte (CDB/MT) Architekturen. Wenn Ihre DB-Instance über zusätzliche Speichervolumes verfügt, können Sie diese auf die Speicherorte Ihrer Volumes festlegen. DB_CREATE_FILE_DEST Wenn auf Ihrer Instance beispielsweise ein Volume installiert ist/rdsdbdata/db, können DB_CREATE_FILE_DEST Sie diesen Wert festlegen.

Sie können den DB_CREATE_FILE_DEST Parameter entweder auf Sitzungsebene oder auf Ebene der Oracle-Datenbankinstanz ändern.

Ändern von DB_CREATE_FILE_SET auf Instanzebene

Um den Parameter auf Instanzebene zu ändern, aktualisieren Sie den Parameter in der Parametergruppe, die Ihrer DB-Instance zugewiesen ist, und wenden Sie ihn an. Weitere Informationen erhalten Sie unter Initialisierungsparameter für RDS für Oracle und Ändern von Parametern in einer DB-Parametergruppe in Amazon RDS.

Ändern von DB_CREATE_FILE_DEST auf Sitzungsebene

Sie können den Parameter auf Sitzungsebene ändern, indem Sie eine ALTER SESSION Anweisung ausführen. Dieser Ansatz ist nützlich, wenn Sie Datenbankdateien an einem bestimmten Ort für eine bestimmte Sitzung erstellen möchten, ohne dass sich dies auf die gesamte Instanz auswirkt.

Das folgende Beispiel zeigt, wie Sie den aktuellen Parameterwert überprüfen und für die Sitzung ändern können:

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

Tablespaces in RDS für Oracle erstellen und deren Größe anpassen

Wenn Sie Tablespaces erstellen, erstellt die Datenbank die Datendateien auf dem Speichervolume, das durch den DB_CREATE_FILE_DEST Initialisierungsparameter zum Zeitpunkt der Erstellung angegeben wurde. Wenn Sie keine Datendateigröße angeben, werden Tabellenbereiche standardmäßig mit der Standardeinstellung AUTOEXTEND ON und ohne maximal zulässige Größe erstellt. Im folgenden Beispiel ist der Tablespace users1 automatisch erweiterbar.

CREATE TABLESPACE users1;

Durch diese Standardeinstellungen können Tabellenräume so sehr anwachsen, dass sie den gesamten zugewiesenen Speicherplatz verwenden. Wir empfehlen, dass Sie eine angemessene Maximalgröße für permanente und temporäre Tabellenräume festlegen, und dass Sie die Speicherverwendung sorgfältig überwachen.

Im folgenden Beispiel wird ein Tablespace mit einem Namen users2 mit einer Startgröße von 1 Gigabyte erstellt. Da zwar die Datendateigröße, nicht aber AUTOEXTEND ON angegeben ist, ist der Tabellenbereich nicht automatisch erweiterbar.

CREATE TABLESPACE users2 DATAFILE SIZE 1G;

Im folgenden Beispiel wird ein Tablespace users3 mit einer Startgröße von 1 Gigabyte, aktivierter automatischer Erweiterung und einer maximalen Größe von 10 Gigabyte erstellt.

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

Im folgenden Beispiel wird ein temporärer Tablespace mit dem Namen erstellt. temp01

CREATE TEMPORARY TABLESPACE temp01;

Sie können die Größe eines Tabellenraums mit großen Dateien mithilfe von änder ALTER TABLESPACE. Sie können die Größe in Kilobytes (KB), Megabytes (MB), Gigabytes (GB) oder Terabytes (TB) festlegen. Im folgenden Beispiel wird ein Tabellenraum mit dem Namen users_bf für große Dateien bis 200 MB erstellt.

ALTER TABLESPACE users_bf RESIZE 200M;

Das folgende Beispiel fügt eine zusätzliche Datendatei zu einem kleinen Datei-Tablespace mit dem Namen hinzu. users_sf

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

Tablespaces auf zusätzlichen Speichervolumes in RDS für Oracle erstellen

Um einen Tablespace auf einem zusätzlichen Speichervolume zu erstellen, ändern Sie den DB_CREATE_FILE_DEST Parameter auf den Speicherort des Volumes. Im folgenden Beispiel wird der Dateispeicherort auf /rdsdbdata2/db festgelegt.

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

Im folgenden Beispiel erstellen Sie einen Tablespace auf dem zusätzlichen Volume/rdsdbdata2/db.

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

Um einen Tablespace für kleine Dateien zu erstellen und seine Datendateien auf verschiedene Speichervolumes zu verteilen, fügen Sie dem Tablespace nach der Erstellung Datendateien hinzu. Im folgenden Beispiel erstellen Sie einen Tablespace mit den Datendateien am Standardspeicherort von. /rdsdbdata/db Dann setzen Sie das Standardziel auf/rdsdbdata/db2. Wenn Sie Ihrem neu erstellten Tablespace eine Datendatei hinzufügen, speichert die Datenbank die Datei in/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

Den Standard-Tablespace in RDS für Oracle einrichten

Um den Standard-Tablespace festzulegen, verwenden Sie die Amazon-RDS-Prozedur rdsadmin.rdsadmin_util.alter_default_tablespace. Die Prozedur alter_default_tablespace hat die folgenden Parameter.

Parametername Datentyp Standard Erforderlich Beschreibung

tablespace_name

varchar

Ja

Der Name des Standard-Tabellenraums

Im folgenden Beispiel wird der Standard-Tablespace wie folgt festgelegt: users2

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

Einstellung des standardmäßigen temporären Tablespace in RDS für Oracle

Um den temporären Standard-Tablespace festzulegen, verwenden Sie die Amazon-RDS-Prozedur rdsadmin.rdsadmin_util.alter_default_temp_tablespace. Die Prozedur alter_default_temp_tablespace hat die folgenden Parameter.

Parametername Datentyp Standard Erforderlich Beschreibung

tablespace_name

varchar

Ja

Der Name des temporären Standard-Tabellenraums

Im folgenden Beispiel wird der standardmäßige temporäre Tablespace auf festgelegt. temp01

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

Erstellen eines temporären Tabellenraums im Instance-Speicher

Wenn Sie einen temporären Tabellenraum im Instance-Speicher erstellen möchten, verwenden Sie das Amazon-RDS-Verfahren rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace. Die Prozedur create_inst_store_tmp_tblspace hat die folgenden Parameter.

Parametername Datentyp Standard Erforderlich Beschreibung

p_tablespace_name

varchar

Ja

Der Name des temporären Tabellenraums.

Im folgenden Beispiel wird der temporäre Tablespace temp01 im Instanzspeicher erstellt.

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

Beim Ausführen von rdsadmin_util.create_inst_store_tmp_tblspace wird der neu erstellte temporäre Tabellenraum nicht automatisch als temporärer Standardtabellenraum festgelegt. Informationen zum Festlegen als Standard finden Sie unter Einstellung des standardmäßigen temporären Tablespace in RDS für Oracle.

Weitere Informationen finden Sie unter Speichern temporärer Daten in einem Instance-Speicher von RDS für Oracle.