

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.

# Verschieben von Daten zwischen Speichervolumes in RDS für Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingDataBetweenVolumes"></a>

Sie können Datendateien und Datenbankobjekte zwischen Ihren primären und zusätzlichen Speichervolumes verschieben. Bevor Sie Daten verschieben, sollten Sie die folgenden Punkte berücksichtigen:
+ Das Quell- und das Zielvolume müssen über ausreichend freien Speicherplatz verfügen.
+ Datenverschiebungen I/O beanspruchen beide Volumes.
+ Große Datenbewegungen können sich auf die Datenbankleistung auswirken.
+ Wenn Sie einen Snapshot wiederherstellen, kann das Verschieben von Daten zwischen Speichervolumes langsam sein, wenn dies durch verzögertes EBS-Laden beeinträchtigt wird.

**Topics**
+ [Verschieben von Datendateien zwischen Volumes in RDS für Oracle](#Appendix.Oracle.CommonDBATasks.MovingDatafiles)
+ [Verschieben von Tabellendaten und Indizes zwischen Volumes in RDS for Oracle](#Appendix.Oracle.CommonDBATasks.MovingTableData)
+ [Verwaltung von LOB-Speicher mithilfe zusätzlicher Volumes](#Appendix.Oracle.CommonDBATasks.ManagingLargeLOBStorage)

## Verschieben von Datendateien zwischen Volumes in RDS für Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingDatafiles"></a>

Verwenden Sie das Amazon RDS-Verfahren, um Datendateien zwischen Speichervolumes zu verschieben`rdsadmin.rdsadmin_util.move_datafile`. Beachten Sie die folgenden Voraussetzungen:
+ Sie müssen Oracle Enterprise Edition verwenden, um das `move_datafile` Verfahren auszuführen.
+ Sie können Tablespace `SYSTEM` und `RDSADMIN` nicht verschieben.

Die Prozedur `move_datafile` hat die folgenden Parameter.


****  

| Parametername | Datentyp | Erforderlich | Beschreibung | 
| --- | --- | --- | --- | 
|  `p_data_file_id`  |  Zahl  |  Ja  |  Die ID der Datendatei, die verschoben werden soll.  | 
|  `p_location`  |  varchar2  |  Ja  |  Das Speichervolume, auf das Sie die Datendatei verschieben möchten.  | 

Im folgenden Beispiel wird ein Tablespace vom Standardvolume `rdsdbdata` auf das zusätzliche Volume `rdsdbdata2` verschoben.

```
SQL> SELECT tablespace_name,file_id,file_name FROM dba_data_files
 WHERE tablespace_name = 'MYNEWTABLESPACE';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
MYNEWTABLESPACE                    6 /rdsdbdata/db/ORCL_A/datafile/o1_mf_mynewtab_n123abcd_.dbf

EXECUTE rdsadmin.rdsadmin_util.move_datafile( 6, 'rdsdbdata2');

PL/SQL procedure successfully completed.

SQL> SELECT tablespace_name,file_id,file_name FROM dba_data_files
  WHERE tablespace_name = 'MYNEWTABLESPACE';

TABLESPACE_NAME              FILE_ID FILE_NAME
------------------------- ---------- --------------------------------------------------------------------------------
MYNEWTABLESPACE                    6 /rdsdbdata2/db/ORCL_A/datafile/o1_mf_mynewtab_n356efgh_.dbf
```

## Verschieben von Tabellendaten und Indizes zwischen Volumes in RDS for Oracle
<a name="Appendix.Oracle.CommonDBATasks.MovingTableData"></a>

Sie können den Datenbankspeicher optimieren, indem Sie Tablespaces auf zusätzlichen Speichervolumes erstellen. Anschließend können Sie Objekte wie Tabellen, Indizes und Partitionen mithilfe von Oracle-Standard-SQL in diese Tablespaces verschieben. Dieser Ansatz ist nützlich für die Leistungsoptimierung, wenn Ihre Datenbank Daten mit unterschiedlichen Zugriffsmustern enthält. Sie könnten beispielsweise häufig abgerufene Betriebsdaten auf Hochleistungsspeichervolumes speichern und gleichzeitig historische Daten, auf die selten zugegriffen wird, auf kostengünstigere Speichervolumes verschieben.

Im folgenden Beispiel erstellen Sie einen neuen Tablespace auf einem Hochleistungsvolume. `rdsdbdata2` Anschließend verschieben Sie eine Tabelle auf Ihr zusätzliches Speichervolume, solange die Tabelle online ist. Außerdem verschieben Sie den Index auf dasselbe Volume. Für das Verschieben von Tabellen und das Neuerstellen von Indizes, während Sie online sind, ist Oracle Enterprise Edition erforderlich.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata2/db';
CREATE TABLESPACE perf_tbs DATAFILE SIZE 10G;

ALTER TABLE employees
  MOVE TABLESPACE perf_tbs ONLINE;

ALTER INDEX employees_idx
  REBUILD ONLINE TABLESPACE perf_tbs;
```

Im folgenden Beispiel erstellen Sie einen Tablespace auf einem kostengünstigen Volume. Anschließend verschieben Sie mithilfe eines Online-Vorgangs eine Tabellenpartition auf Ihr kostengünstiges Speichervolume.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata3/db';
CREATE TABLESPACE hist_tbs DATAFILE SIZE 10G;

ALTER TABLE orders
  MOVE PARTITION orders_2022
  TABLESPACE hist_tbs ONLINE;
```

Im folgenden Beispiel fragen Sie aktive Sitzungen und lange Operationen ab.

```
SELECT sid,opname,sofar,totalwork,time_remaining,elapsed_seconds 
  FROM v$session_longops 
  WHERE time_remaining > 0;
```

Sie können die Nutzung Ihrer Tablespaces mit der folgenden Abfrage überprüfen.

```
SELECT tablespace_name, used_percent
  FROM dba_tablespace_usage_metrics
  ORDER BY used_percent DESC;
```

## Verwaltung von LOB-Speicher mithilfe zusätzlicher Volumes
<a name="Appendix.Oracle.CommonDBATasks.ManagingLargeLOBStorage"></a>

Ihre Datenbank enthält möglicherweise Tabellen mit BLOB- oder CLOB-Objekten, die viel Speicherplatz beanspruchen, auf die jedoch selten zugegriffen wird. Um den Speicher zu optimieren, können Sie diese LOB-Segmente in einen Tablespace auf einem zusätzlichen Speichervolume verlagern.

Im folgenden Beispiel erstellen Sie einen Tablespace für LOB-Daten auf einem kostengünstigen Volume, das für Daten mit geringem Zugriff vorgesehen ist. Anschließend erstellen Sie eine Tabelle, in der Daten auf diesem Volume gespeichert werden.

```
ALTER SESSION SET db_create_file_dest = '/rdsdbdata3/db';
CREATE TABLESPACE lob_data DATAFILE SIZE 5G AUTOEXTEND ON NEXT 1G;

CREATE TABLE documents (
    doc_id NUMBER PRIMARY KEY,
    doc_date DATE,
    doc_content CLOB
) TABLESPACE user_data
LOB(doc_content) STORE AS (TABLESPACE lob_data);
```