Transportar espaços para tabela - Amazon Relational Database Service

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.

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

p_tablespace_list

CLOB

Sim

A lista de espaços para tabela a serem importados.

p_directory_name

VARCHAR2

Sim

O diretório que contém os backups de espaços para tabela.

p_platform_id

NUMBER

13

Não

Forneça um ID de plataforma que corresponda ao especificado durante a fase de backup. Para encontrar uma lista de plataformas, consulte V$TRANSPORTABLE_PLATFORM. A plataforma padrão é Linux x86 de 64 bits, que é pouco comum.

p_parallel

INTEGER

0

Não

O grau de paralelismo. Por padrão, o paralelismo está desabilitado.

Exemplos

O exemplo a seguir importa os espaços de tabela TBS1TBS2 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

p_datapump_metadata_file

SYS.DBA_DATA_FILES.FILE_NAME%TYPE

Sim

O nome do arquivo Oracle Data Pump que contém os metadados de seus espaços para tabela transportáveis.

p_directory_name

VARCHAR2

Sim

O diretório que contém o arquivo Data Pump.

p_exclude_stats

BOOLEAN

FALSE

Não

Sinalizador que indica se as estatísticas devem ser excluídas.

p_remap_tablespace_list

CLOB

NULL

Não

Uma lista de espaços para tabela a serem associados novamente durante a importação de metadados. Use o formato from_tbs:to_tbs. Por exemplo, especifique users:user_data.

p_remap_user_list

CLOB

NULL

Não

Uma lista de esquemas de usuário a serem novamente associados durante a importação de metadados. Use o formato from_schema_name:to_schema_name. Por exemplo, especifique hr:human_resources.

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-YYYY-MM-DD.HH24-MI-SS.FF.log no diretório BDUMP. 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

p_directory_name

VARCHAR2

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.