O método Transportable Tablespace (TTS) permite mover tablespaces inteiras entre bancos de dados Oracle de forma rápida e eficiente, evitando operações de export/import tradicionais de objetos. Abaixo, apresento um guia completo e direto para executar esse processo.

  • Verifique se o target suporta o block size da tablespace e se os character sets são compatíveis No banco de dados de Origem, verifique o tamanho do bloco da tablespace que você quer transportar

No banco de Origem:

  • Verifique o block Size

SELECT tablespace_name, block_size FROM dba_tablespaces WHERE tablespace_name = ‘TREINAFELIPAO_DAT’;

  • Verifique o character set

SELECT value FROM nls_database_parameters WHERE parameter = ‘NLS_CHARACTERSET’;

No banco Target

  • Verifique o Block Size

SELECT value FROM v$parameter WHERE name = ‘db_block_size’;

  • Verifique o character set

SELECT value FROM nls_database_parameters WHERE parameter = ‘NLS_CHARACTERSET’;

  • No ambiente de origem e Destino, Verifique se há alguma violação impedindo a TTS

SELECT * FROM transport_set_violations;

  • No ambiente de origem, Coloque a tablespace em modo READ ONLY, Vale ressaltar que ocorrerá downtime, ou seja, não saia fazendo. Fale com a equipe.

ALTER TABLESPACE TREINAFELIPAO_DAT READ ONLY;

  • Faça o export da tablespace desejada

expdp \\"/ as sysdba\\" directory=EXP_BKP transport_tablespaces=TREINAFELIPAO_DAT dumpfile=expTREINAFELIPAO_DAT.dmp logfile=expTREINAFELIPAO_DAT.log

  • Coloque em modo READ WRITE novamente e guarde o caminho dos datafiles

ALTER TABLESPACE TREINAFELIPAO_DAT READ WRITE;

  • No banco de dados destino, Crie os usuários

CREATE USER TREINAFELIPAO

GRANT CREATE SESSION TO TREINAFELIPAO

ALTER USER TREINAFELIPAO QUOTA UNLIMITED ON TREINAFELIPAO_DAT;

  • Realize a importação no ambiente destino, lembre-se de referenciar corretamente os parametros, desde o Directory, até o dumpfile utilizado.

impdp \\"/ as sysdba\\" directory=EXP_BKP dumpfile=expTREINAFELIPAO_DAT.dmp logfile=expTREINAFELIPAO_DAT.log transport_datafiles='/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kybb8h33_.dbf','/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kyqlcqnm_.dbf','/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kyqlq339_.dbf';

  • Ou caso você queira transportar para um diretório diferente do criado, Você pode estar utilizando o parametro REMAP_DATAFILE

impdp \\"/ as sysdba\\" directory=EXP_BKP dumpfile=expTREINAFELIPAO_DAT.dmp logfile=expTREINAFELIPAO_DAT.log \\ TRANSPORT_DATAFILES='/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kybb8h33_.dbf', \\ '/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kyqlcqnm_.dbf', \\ '/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kyqlq339_.dbf' \\ REMAP_DATAFILE='/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kybb8h33_.dbf':'+DATA_DG/novo/dbf/file_01.dbf' \\ REMAP_DATAFILE='/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kyqlcqnm_.dbf':'+DATA_DG/novo/dbf/file_02.dbf' \\ REMAP_DATAFILE='/u02/TREINAGBD/F1D9E044A496DE8DE0538B3D0B0AA87C/datafile/o1_mf_treinafe_kyqlq339_.dbf':'+DATA_DG/novo/dbf/file_03.dbf'

REMAP_DATAFILE='<CAMINHO_ANTIGO>’:'<CAMINHO_NOVO>’