Worker 10 Status:
Process Name: DW09
State: EXECUTING
Object Schema: TEST
Object Name: SWD_BACKPOINT_LOG
Object Type: DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Completed Objects: 1
Completed Rows: 10,795,489
Completed Bytes: 2,873,852,728
Percent Done: 32
Worker Parallelism: 1
当然数据量百G迁移还是很快到,使用datapump迁移时,首先会导入哪些结构型信息,然后导入数据,最后创建索引,大体的性能消耗点就在这三个方面。ORA-19815: WARNING: db_recovery_file_dest_size of 214748364800 bytes is 100.00% used, and has 0 remaining bytes available.
2.数据问题ORA-12899: value too large for column DES (actual: 51, maximum: 50)
ORA-12899: value too large for column DES (actual: 53, maximum: 50)
ORA-12899: value too large for column DIST_SEX (actual: 3, maximum: 2)
如果数据量不大,也可以适当对字段进行扩展,当然是在业务允许范围内,或者由应用来评估是否需要这批超出限制的数据。
3.数据库日志中的警告
在数据导入的过程中,留意到数据库日志里面有如下的告警信息:
WARNING: Oracle executable binary mismatch detected.
Binary of new process does not match binary which started instance
issue alter system set "_disable_image_check" = true to disable these messages
ORA-31684: Object type USER:"OUTLN" already exists
ORA-31684: Object type USER:"ANONYMOUS" already exists
ORA-31684: Object type USER:"OLAPSYS" already exists
ORA-31684: Object type USER:"SYSMAN" already exists
ORA-31684: Object type USER:"MDDATA" already exists
ORA-31684: Object type USER:"MGMT_VIEW" already exists
ORA-31684: Object type USER:"SCOTT" already exists
这种情况在绝大多数的情况下还是没有问题的,就怕这类的数据冲突,所以为了稳妥起见还是需要跳过这些本来数据库中就有的默认用户。如果查看导入的明细日志,其实整个过程都会检查然后忽略,其实我们可以更彻底的屏蔽这些不必要的变更。
在这个基础上,就是考虑更好的性能,更短的窗口时间,可以做一些对比测试来逐步完善,当然这种测试时间还是比较紧的,所以需要更多的预备工作,保证在生产迁移中能够平滑过渡。