数据迁移部分问题总结(r2第3天)
按照计划在周二开始了数据迁移,本来之前也做了不少的准备工作。但是还是在迁移的过程中出现了一些问题。简单做一个总结。 1.constraint导致的数据reject 在数据加载的时候,报了如下的错误。有一些数据记录被reject了,查看后发现是源库和目标库中表的not null constraint导致的,在源库中没有not null constraint,但是在目标库中有。 这个问题只能和开发做确认,稍后处理。
records from TESTDATA_HIST
cannot insert NULL into ("XXXXX"."TESTDATA_HIST"."TOT_OBJ")
2.foreign key 导致的constraint enable 在数据加载之前,对于foreign key都做了diable的操作,在加载的过程中也没有出现任何问题。但是在enable foreign key的时候,报了02298的错误。
ERROR at line 1:
ORA-02298: cannot validate (XXXXX.CH_XXXX_1FK) - parent keys not found
alter table CH_XXXX enable constraint CH_XXXX_1FK
这个问题,先做了constraint novalidate,交给开发去检查数据。
3.关于datapump加载一个较大的表,含有clob字段,数据5000万条
impdp xxxx/xxxx file=exp_test.dmp logfile=imp_test.log TABLE_EXISTS_ACTION=APPEND CONTENT=DATA_ONLY REMAP_SCHEMA=CNVDBO8:XXXX REMAP_TABLESPACE=LARGE_DATA:DATAS01
因为这部分是由另外一个dba来做的,他没有使用nohup方式,结果到半夜的时候,远程的网络重启了。收到了下面的信息,这确实有些崩溃。
Broadcast Message from uxadmin3 (pts/8) Wed Jun 11 01:08:29...
PLEASE LOG OFF NOW ! ! !
System maintenance about to begin.
All processes will be terminated in 0 seconds.
Broadcast Message from uxadmin3 (pts/8) Wed Jun 11 01:08:29...
SYSTEM BEING BROUGHT DOWN NOW ! ! !
Connection to 10.196.28.42 closed by remote host.
Connection to 10.196.28.42 closed.
然后等网络好了之后,重新开始。在跑了1个多小时后报了乳腺癌的错误,就退出了。
ORA-31693: Table data object "XXXX"."TEST":"PMAX_AMAX_EMAX" failed to load/unload and is being skipped due to error:
ORA-00001: unique constraint (XXXX.TEST_PK) violated
Job "XXXXX"."SYS_IMPORT_FULL_01" completed with 1 error(s) at 02:34:33
可见数据可能有问题,根据我们的理解在datapump运行的过程中,如果突然中断,是直接rollback的。 但是数据现在都导不进去。最后使用了如下的选项,又是一个漫长的过程,这个时候对datapump也算是有一些心理煎熬了。
DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS
这次启用了nohup方式,在远程网络中断,后台依然在进行。
Starting "XXXXX"."IMPDP_MEMO": XXXXX/******** directory=DR_DATAPUMP_1 dumpfile=exp_mo1_memo.dmp logfile=imp_mo1_memo.log TABLE_EXISTS_ACTION=APPEND CONTENT=DATA_ONLY REMAP_SCHEMA=CNVDBO8:PRDAPPO REMAP_TABLESPACE=LARGE_DATA:DATAS01 parallel=6 DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS JOB_NAME=impdp_memo
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Write failed: Broken pipe
在煎熬了3个小时候,终于有了下面的一段话。对于reject的数据也根据主键信息罗列了出来。
imported "XXXXX"."MO1_MEMO":"PMAX_AMAX_EMAX" 11.89 GB 52646187 out of 53020364 rows
Rejected row #1043:
column APP_ID: 1000
column ENTITY_KEY: 1
column PERIOD_KEY: 2
column MEMO_ID: 34141901
。。。。。。
4.sequence检查对于sequence的检查也是数据迁移的重中之重,在最后的检查中,尽管之前的sequence的值做了一个很大的buffer,胆识还是有一些sequence的问题。
TABLE_NAME |
SEQ_NAME |
SEQ_MAX |
COLUMN_MAX |
---|---|---|---|
sequence_1 |
EXTRACT_FILE_SEQ |
22144093 |
22044092 |
sequence_2 |
RC_RATES_1SQ |
20462516 |
20362515 |
sequence_3 |
MNTR_TREAT_1SQ |
22592118 |
22492117 |
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php+jQuery ajax实现的实时刷新显示数据功能示例
- yii2.0框架使用 beforeAction 防非法登陆的方法分析
- PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
- php项目中类的自动加载实例讲解
- Yii框架参数配置文件params用法实例分析
- 使用Kotlin实现文字渐变TextView的代码
- thinkPHP5框架路由常用知识点汇总
- PHP实现一个限制实例化次数的类示例
- AndroidStudio中重载方法@Override的使用详解
- mysqli扩展无法在PHP7下升级问题的解决
- PHP通过文件保存和更新信息的方法分析
- PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
- PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
- android之json数据过长打印不全问题的解决
- PHP实现时间日期友好显示实现代码