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.
Themen
Angabe von Speicherorten für Datenbankdateien in RDS für Oracle
Tablespaces in RDS für Oracle erstellen und deren Größe anpassen
Tablespaces auf zusätzlichen Speichervolumes in RDS für Oracle erstellen
Einstellung des standardmäßigen temporären Tablespace in RDS für Oracle
Erstellen eines temporären Tabellenraums im Instance-Speicher
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 TABLESPACEusers1;
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 TABLESPACEusers2DATAFILE SIZE1G;
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 TABLESPACEusers3DATAFILE SIZE1GAUTOEXTEND ON MAXSIZE10G;
Im folgenden Beispiel wird ein temporärer Tablespace mit dem Namen erstellt. temp01
CREATE TEMPORARY TABLESPACEtemp01;
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 TABLESPACEusers_bfRESIZE200M;
Das folgende Beispiel fügt eine zusätzliche Datendatei zu einem kleinen Datei-Tablespace mit dem Namen hinzu. users_sf
ALTER TABLESPACEusers_sfADD DATAFILE SIZE100000MAUTOEXTEND ON NEXT250mMAXSIZEUNLIMITED;
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 |
|---|---|---|---|---|
|
|
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 |
|---|---|---|---|---|
|
|
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 |
|---|---|---|---|---|
|
|
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.