XTTS Creates Alias on Destination when Source and Destination use ASM (Doc ID 2351123.1)
APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.2.0.1 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Information in this document applies to any platform.
SYMPTOMS
When using XTT migration method (both Note 2005729.1-12C and Note 1389592.1-11G) and both source and destination use ASM, the procedure does not create OMF datafiles in destination ASM. Instead, it creates ASM aliases.
当使用XTT迁移方法( Note 2005729.1 -12C和 Note 1389592.1 -11G)并且源和目标都使用ASM时,该过程不会在目标ASM中创建OMF数据文件。而是创建ASM别名。
CAUSE
RMAN cannot explicitly name datafiles with an OMF name and thus it creates an alias with underscore (_) which refers to the actual OMF name on destination.
RMAN无法使用OMF名称显式命名数据文件,因此RMAN使用下划线(_)创建别名,该别名引用目标上的实际OMF名称。
Since we cannot give explicit OMF name on destination, the only way to map the datafiles is to use alias thus justifying cause.
由于我们无法在目标位置上给出明确的OMF名称,因此映射数据文件的唯一方法是使用别名,从而说明原因。
SOLUTION
To avoid the use of these aliases on the destination, you can: 为了避免在目标上使用这些别名,您可以
1. Identify the datafiles created in destination: 确定在目标上创建数据文件
a. using asmcmd:
For example:
ASMCMD> cd +ASMCMD> ls CATDB/ conv_test_265_930050283 test_convert_260_929258385 testing_conv_267_930050263 ASMCMD> ls -l Type Redund Striped Time Sys Name Y CATDB/ DATAFILE UNPROT COARSE DEC 09 06:00:00 N conv_test_265_930050283 => + /DATAFILE/ DATAFILE UNPROT COARSE DEC 09 06:00:00 N test_convert_260_929258385 => + /DATAFILE/ DATAFILE UNPROT COARSE DEC 09 06:00:00 N testing_conv_267_930050263 => + /DATAFILE/ ASMCMD> ls catdb/datafile ASMCMD> ls -l catdb/datafile Type Redund Striped Time Sys Name DATAFILE UNPROT COARSE DEC 09 06:00:00 Y DATAFILE UNPROT COARSE DEC 09 06:00:00 Y DATAFILE UNPROT COARSE DEC 09 06:00:00 Y
b. Using query against V$ASM_ALIAS:
For example:
set pagesize 0 select '''' ||'+/' || name || ''',' FROM v$asm_alias where group_number=1 and ( name like 'CIS%' or name like 'DVC%' or name like 'MSRMT%') order by 1 ;
2. Modify the import command to include actual datafile names: 修改导入命令以包括实际的数据文件名:
For example for Step 5B.3, change command 例如对于步骤5B.3,更改命令
FROM:
$ impdp directory=DATA_PUMP_DIR logfile=.log network_link=ttslink \ > transport_full_check=no \ > transport_tablespaces= , , \ > transport_datafiles='+ / ', \ > '+ /DATAFILE/ ', \ > '+ /DATAFILE/ '
TO:
$ impdp directory=DATA_PUMP_DIR logfile=tts_imp.log network_link=\ > transport_full_check=no \ > transport_tablespaces= , , \ > transport_datafiles='+ /DATAFILE/ ', \ > '+ /DATAFILE/ ', \ > '+ /DATAFILE/ '
NOTE: we are substituting the alias with the actual OMF datafile name. 注意:我们用实际的OMF数据文件名替换别名。
Results:
Import: Release 12.1.0.2.0 - Production on Fri Dec 9 11:15:58 2016 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. Username: system/Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics and Real Application Testing options Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/******** directory=DATA_PUMP_DIR logfile=tts_imp.log network_link=ttslink transport_full_check=no transport_tablespaces= , , transport_datafiles=+ /DATAFILE/ , + /DATAFILE/ , + /DATAFILE/ Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK Processing object type TRANSPORTABLE_EXPORT/TABLE Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Fri Dec 9 11:17:42 2016 elapsed 0 00:01:38
In destination database, after tablespace plugin, we see: 在目标数据库中,在表空间插件之后,我们看到:
SQL> l 1 select file#, name from v$datafile where ts# in 2 (select ts# from v$tablespace where 3* name in ('', ' ', ' ')) SQL / FILE# NAME ---------- -------------------------------------------------------------------------------- 11 + /DATAFILE/ 12 + /DATAFILE/ 13 + /DATAFILE/
3. Once tablespaces are altered to read write, remove the aliases. 将表空间更改为可读写后,请删除别名。
For example:
ASMCMD> rmalias conv_test_265_930050283 test_convert_260_929258385 testing_conv_267_930050263 ASMCMD> ls CATDB/ ASMCMD> cd CATDB/DATAFILE ASMCMD> ls -l Type Redund Striped Time Sys Name DATAFILE UNPROT COARSE DEC 09 11:00:00 YDATAFILE UNPROT COARSE DEC 09 11:00:00 Y DATAFILE UNPROT COARSE DEC 09 11:00:00 Y
REFERENCES
BUG:25183374 - RESTORE FROM PLATFORM NOT HONORING THE OMF FORMAT
NOTE:2005729.1 - 12C - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup
NOTE:1389592.1 - 11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup