SDO_DIMNAME in SDO_DIM_ELEMENT changed by exp or expdp
Export ("old" export and "new" data pump export) changes spatial metadata.
For the table SEG the diminfo in user_sdo_geom_metadata is
SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -1000000, 2000000, .00001),
SDO_DIM_ELEMENT('Y', 1600000, 3800000, .00001))
After export (export and data pump export)
the diminfo is
SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -1000000, 2000000, .00001),
SDO_DIM_ELEMENT('X', 1600000, 3800000, .00001))
These changed metadata are imported!
The DIM_NAME of first SDO_DIM_ELEMENT is copied to the DIM_NAME of second SDO_DIM_ELEMENT.
I don't know if there is any consequence for the spatial index or other spatial functions.
Is this a known bug?
I didn't find anything in My Oracle Support about this.
output from imp with show=y
"BEGIN "
"declare schema_name varchar2(200); username varchar2(64); begin select sy"
"s_context('userenv', 'CURRENT_SCHEMA') into schema_name from dual; select "
"user into username from dual; if username != schema_name then mdsys.sdo_met"
"a.change_all_sdo_geom_metadata(schema_name, 'SEG','SHAPE',mdsys.SDO_dim_arr"
"ay(MDSYS.SDO_DIM_ELEMENT('X','-1000000','2000000','.00001'),MDSYS.SDO_DIM_E"
"LEMENT('X','1600000','3800000','.00001')),'32638') ; else delete from us"
"er_sdo_geom_metadata where table_name= 'SEG' and column_name= 'SHAPE';INSER"
"T INTO USER_SDO_GEOM_METADATA values ('SEG','SHAPE',mdsys.SDO_dim_array(MDS"
"YS.SDO_DIM_ELEMENT('X','-1000000','2000000','.00001'),MDSYS.SDO_DIM_ELEMENT"
"('X','1600000','3800000','.00001')),'32638') ; end if; end; "
"COMMIT; END;"
output from impdp with sqlfile-parameter
BEGIN
declare schema_name varchar2(200); username varchar2(64);
begin select sys_context('userenv', 'CURRENT_SCHEMA')
into schema_name from dual; select user into username from dual;
if username != schema_name then mdsys.sdo_meta.change_all_sdo_geom_metadata(schema_name, 'SEG','SHAPE',
mdsys.SDO_dim_array(MDSYS.SDO_DIM_ELEMENT('X','-1000000','2000000','.00001'),
MDSYS.SDO_DIM_ELEMENT('X','1600000','3800000','.00001')),'32638') ;
else delete from user_sdo_geom_metadata where table_name= 'SEG' and column_name= 'SHAPE';
INSERT INTO USER_SDO_GEOM_METADATA values ('SEG','SHAPE',mdsys.SDO_dim_array(
MDSYS.SDO_DIM_ELEMENT('X','-1000000','2000000','.00001'),
MDSYS.SDO_DIM_ELEMENT('X','1600000','3800000','.00001')),'32638') ;
end if;
end;
COMMIT;
END;
/