博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于partition table import的问题
阅读量:2445 次
发布时间:2019-05-10

本文共 2973 字,大约阅读时间需要 9 分钟。

今天有个同事想把一个一部分数据导入到测试库上做测试,我给他提供了几个dump文件,但是在导入的时候,碰到了一些问题,总结如下。

scenario 1:一部分表在schema下已经存在

导入数据貌似还算正常,但是在导入后报出了一系列错误,如下

IMP-00017: following statement failed with ORACLE error 20000:

 "DECLARE  SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := 'C20444'; SREC.MAXVA"
 "L := 'C3394C2D'; SREC.EAVS := 0; SREC.CHVALS := NULL; SREC.NOVALS := DBMS_S"
 "TATS.NUMARRAY(367,567544); SREC.BKVALS := DBMS_STATS.NUMARRAY(0,1); SREC.EP"
 "C := 2; DBMS_STATS.SET_COLUMN_STATS(NULL,'"AGREEMENT_PARAM"','"OFFER_IN"
 "STANCE_ID"','"AMAXVALUE"',NULL,NULL,30643,.0000326338804947296,386120,srec,"
 "3,6); END;"
IMP-00003: ORACLE error 20000 encountered
ORA-20000: AMAXVALUE invalid partition name
ORA-06512: at "SYS.DBMS_STATS", line 1790
ORA-06512: at "SYS.DBMS_STATS", line 5427
ORA-06512: at line 1
Import terminated successfully with warnings.

根据提示,好像是partition的命名规则不同,查询了一下,也确实,源库上有10多个partition,但这个测试库只有1个max partition,而且命名也不一样。和同事商量了下,先把max partition的名字改一下,导入之后再改回来,重新尝试,还是报如上的错误。

仔细看了看报错,发现时在调dbms_stats, 才明白是去取statistic的信息,然后我在imp的时候多加了一个参数 statistics=none,问题解决。

. importing PRDAPPO's objects into JEANRON

. importing PRDAPPO's objects into JEANRON
. . importing partition     "AGREEMENT_PARAM":"A0"          0 rows imported
. . importing partition     "AGREEMENT_PARAM":"A1"       6493 rows imported
. . importing partition     "AGREEMENT_PARAM":"A2"       6355 rows imported
. . importing partition     "AGREEMENT_PARAM":"A3"       6663 rows imported
. . importing partition     "AGREEMENT_PARAM":"A4"       6695 rows imported
. . importing partition     "AGREEMENT_PARAM":"A5"       6658 rows imported
. . importing partition     "AGREEMENT_PARAM":"A6"       6869 rows imported
. . importing partition     "AGREEMENT_PARAM":"A7"       6782 rows imported
. . importing partition     "AGREEMENT_PARAM":"A8"       6811 rows imported
. . importing partition     "AGREEMENT_PARAM":"A9"       6817 rows imported
. . importing partition "AGREEMENT_PARAM":"AMAXVALUE"     597659 rows imported
Import terminated successfully without warnings.

scenario2: 一部分表在该schema上不存在

由于两个库的表空间不同,在导入的时候报出了tablespace 的问题,

由于数据库是远程服务,没有直接的权限去操作远程的库,而且随意建表空间也会被监控,于是使用dbms_metadata从源库上生成了ddl语句,

脚本如下:

SET SERVEROUTPUT ON;

SET LINESIZE 500;
SET FEEDBACK OFF;
SET LONG 99999999     ;  
SET PAGESIZE 1000 ; 
set head off;
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'PRETTY',true);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR',true);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'TABLESPACE',true);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SEGMENT_ATTRIBUTES',false);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'REF_CONSTRAINTS',false); select DBMS_METADATA.GET_DDL('TABLE','AGREEMENT_PARAM','PRDAPPO')from dual;

导出后,把tablespace改一下,运行就可以了,然后直接导入。

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-761936/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-761936/

你可能感兴趣的文章
在Android中获取当前日期的4种方法
查看>>
windows便笺_如何将便笺提醒附加到Windows和应用程序
查看>>
加密货币钱包提供商_每日新闻摘要:一位加密货币钱包开发者为了保护用户而黑客攻击
查看>>
chromebook刷机_每日新闻摘要:Google终止了将Windows引入Chromebook的项目
查看>>
vue alexa:_免费下载:在任何PC上使用Alexa免提
查看>>
2019新闻列表_每日新闻摘要:Google I / O 2019的期望
查看>>
如何修复破坏大照片的Undertow
查看>>
电子书pdf文件网站_如何转换PDF文件以便于阅读电子书
查看>>
如何在PowerPoint中水平翻转图片
查看>>
如何从Excel列表中的Word中创建邮件标签
查看>>
如何在Linux启动时轻松挂载分区
查看>>
outlook 加载配置项_如何禁用Outlook加载项进行故障排除
查看>>
如何导出或删除Outlook.com搜索历史记录
查看>>
dd-wrt固件_如何使用DD-WRT优先安排网络流量
查看>>
如何将您的计算机变成带有病态胡须的增压TiVo
查看>>
如何在Facebook Messenger中启用暗模式
查看>>
如何远程锁定或擦除iOS 5设备
查看>>
如何重命名您的AirPods
查看>>
powerpoint预览_如何添加,删除和重新排列PowerPoint幻灯片
查看>>
您的Mac正在High Sierra中跟踪您的位置,这就是原因(以及如何禁用它)
查看>>