Transportar espaços para tabela
Use o pacote rdsadmin.rdsadmin_transport_util
do Amazon RDS para copiar um conjunto de espaços para tabela de um banco de dados Oracle on-premises para uma instância de banco de dados do RDS para Oracle. No nível físico, o atributo de espaço para tabelas copia incrementalmente os arquivos de dados de origem e os arquivos de metadados para a instância de destino. Você pode transferir os arquivos usando o Amazon EFS ou o Amazon S3. Para ter mais informações, consulte Migrar usando espaços de tabela transportáveis da Oracle.
Tópicos
- Importar espaços para tabela transportados para a instância de banco de dados
- Importar metadados de espaços para tabela transportáveis para a instância de banco de dados
- Listar arquivos órfãos após a importação de um espaço para tabela
- Excluir arquivos de dados órfãos após a importação de espaços para tabela
Importar espaços para tabela transportados para a instância de banco de dados
Use o procedimento rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces
para restaurar espaços para tabela que você exportou anteriormente de uma instância de banco de dados de origem. Na fase de transporte, você fará backup dos espaços para tabela somente leitura, exportará os metadados do Data Pump, transferirá esses arquivos para a instância de banco de dados de destino e, depois, importará os espaços para tabela. Para ter mais informações, consulte Fase 4: Transportar os espaços de tabela.
Sintaxe
FUNCTION import_xtts_tablespaces( p_tablespace_list IN CLOB, p_directory_name IN VARCHAR2, p_platform_id IN NUMBER DEFAULT 13, p_parallel IN INTEGER DEFAULT 0) RETURN VARCHAR2;
Parâmetros
Nome do parâmetro | Tipo de dados | Padrão | Obrigatório | Descrição |
---|---|---|---|---|
|
|
— |
Sim |
A lista de espaços para tabela a serem importados. |
|
|
— |
Sim |
O diretório que contém os backups de espaços para tabela. |
|
|
|
Não |
Forneça um ID de plataforma que corresponda ao especificado durante a fase de backup. Para encontrar uma lista de plataformas, consulte |
|
|
|
Não |
O grau de paralelismo. Por padrão, o paralelismo está desabilitado. |
Exemplos
O exemplo a seguir importa os espaços de tabela TBS1
, TBS2
e TBS3
do diretório DATA_PUMP_DIR
. A plataforma de origem é de sistemas baseados em AIX (64 bits), que tem o ID da plataforma de 6
. É possível encontrar os IDs da plataforma consultando V$TRANSPORTABLE_PLATFORM
.
VAR task_id CLOB BEGIN :task_id:=rdsadmin.rdsadmin_transport_util.import_xtts_tablespaces( '
TBS1,TBS2,TBS3
', 'DATA_PUMP_DIR
', p_platform_id => 6); END; / PRINT task_id
Importar metadados de espaços para tabela transportáveis para a instância de banco de dados
Use o procedimento rdsadmin.rdsadmin_transport_util.import_xtts_metadata
para importar os metadados de espaços para tabela transportáveis para a instância de banco de dados do RDS para Oracle. Durante a operação, o status da importação de metadados é mostrado na tabela rdsadmin.rds_xtts_operation_info
. Para ter mais informações, consulte Etapa 5: Importar os metadados de espaços de tabela na instância de banco de dados de destino.
Sintaxe
PROCEDURE import_xtts_metadata( p_datapump_metadata_file IN SYS.DBA_DATA_FILES.FILE_NAME%TYPE, p_directory_name IN VARCHAR2, p_exclude_stats IN BOOLEAN DEFAULT FALSE, p_remap_tablespace_list IN CLOB DEFAULT NULL, p_remap_user_list IN CLOB DEFAULT NULL);
Parâmetros
Nome do parâmetro | Tipo de dados | Padrão | Obrigatório | Descrição |
---|---|---|---|---|
|
|
— |
Sim |
O nome do arquivo Oracle Data Pump que contém os metadados de seus espaços para tabela transportáveis. |
|
|
— |
Sim |
O diretório que contém o arquivo Data Pump. |
|
|
|
Não |
Sinalizador que indica se as estatísticas devem ser excluídas. |
|
|
NULL |
Não |
Uma lista de espaços para tabela a serem associados novamente durante a importação de metadados. Use o formato |
|
|
NULL |
Não |
Uma lista de esquemas de usuário a serem novamente associados durante a importação de metadados. Use o formato |
Exemplos
O exemplo importa os metadados de espaço para tabelas do arquivo xttdump.dmp
, que está localizado no diretório DATA_PUMP_DIR
.
BEGIN rdsadmin.rdsadmin_transport_util.import_xtts_metadata('
xttdump.dmp
','DATA_PUMP_DIR
'); END; /
Listar arquivos órfãos após a importação de um espaço para tabela
Use o procedimento rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files
para listar arquivos de dados que ficaram órfãos após a importação de espaços para tabela. Depois de identificar os arquivos de dados, você pode excluí-los chamando rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import
.
Sintaxe
FUNCTION list_xtts_orphan_files RETURN xtts_orphan_files_list_t PIPELINED;
Exemplos
O exemplo a seguir executa o procedimento rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files
. A saída mostra dois arquivos de dados que estão órfãos.
SQL> SELECT * FROM TABLE(rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files); FILENAME FILESIZE -------------- --------- datafile_7.dbf 104865792 datafile_8.dbf 104865792
Excluir arquivos de dados órfãos após a importação de espaços para tabela
Use o procedimento rdsadmin.rdsadmin_transport_util.list_xtts_orphan_files
para excluir arquivos de dados que ficaram órfãos após a importação de espaços para tabela. A execução desse comando gera um arquivo de log que usa o formato do nome rds-xtts-delete_xtts_orphaned_files-
no diretório YYYY-MM-DD.HH24-MI-SS.FF
.logBDUMP
. Use o procedimento rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import
para encontrar os arquivos órfãos. Você pode ler o arquivo de log chamando o procedimento rdsadmin.rds_file_util.read_text_file
. Para ter mais informações, consulte Fase 6: Limpar os arquivos restantes.
Sintaxe
PROCEDURE cleanup_incomplete_xtts_import( p_directory_name IN VARCHAR2);
Parâmetros
Nome do parâmetro | Tipo de dados | Padrão | Obrigatório | Descrição |
---|---|---|---|---|
|
|
— |
Sim |
O diretório que contém os arquivos de dados órfãos. |
Exemplos
O exemplo a seguir exclui os arquivos de dados órfãos no DATA_PUMP_DIR
.
BEGIN rdsadmin.rdsadmin_transport_util.cleanup_incomplete_xtts_import('
DATA_PUMP_DIR
'); END; /
O exemplo a seguir lê o arquivo de log gerado pelo comando anterior.
SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file( p_directory => 'BDUMP', p_filename => '
rds-xtts-delete_xtts_orphaned_files-2023-06-01.09-33-11.868894000.log
')); TEXT -------------------------------------------------------------------------------- orphan transported datafile datafile_7.dbf deleted. orphan transported datafile datafile_8.dbf deleted.