本篇内容介绍了“怎么解决Oracle12c导入导出过程中遇到的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

导入导出过程中遇到的问题及解决办法

一、expdp/impdp时间过长

原因:对象过多,特别是分区表多

selectobject_type,count(*)fromdba_objectswheregroupbyobject_type;------------------------------------------------------------------tablepartitiontablesubpartitionindexsubpartitionindexpartition------------------------------------------------------------------

二、impdp过程中临时表空间无限增长导致导入失败

数据库日志报错信息ORA-01652:unabletoextendtempsegmentby128intablespaceTEMP临时表空间不足

经过与厂商确认这12.1.0.1的一个bug

该bug在12.1.0.1 版本上没有patch,而且也无法再申请12.1.0.1版本上的patch

Impdp导入失败

原因分析:

limpdp 占用临时表空间的话,一般是跟index有关,创建索引需要排序,当内存不够时会用到临时表空间。

limpdp时有wait for unread message on broadecast channel 等待事件

三、12c新特性导致sysaux表空间持续增长

问题描述:应用程序接入12c数据库后sysaux表空间持续增长。

相关知识:12c统一审计用于户监视在审计策略中定义的用户所执行的数据库操作。12.1.0.1中,默认存在名为ORA_SECURECONFIG的统计策略。

由于之前说明的12.1.0.1版本中ORA_SECURECONFIG的定义里面包含LOGON和LOGOFF的信息,所以有可能会引起SYSAUX表空间持续增长。

解决办法:

1、清理统一审计信息;DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(AUDIT_TRAIL_TYPE=>DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED)2、关闭默认统一审计策略。NOAUDITPOLICYORA_SECURECONFIG;

四、12c上使用wm_concat函数

问题描述:11gR2和12cR1上已经摒弃了wm_concat函数,10g开发的程序中使用了该函数。升级到12c后存储过程编译报错如下:

java.sql.SQLSyntaxErrorException: ORA-00904: "WMSYS"."WM_CONCAT": invalid identifier

在每个版本wm_concat函数都有区别

In10.2.0.4/11.1.0.7/11.2.0.1itreturnsVARCHAR2SQL>descwmsys.wm_concat;FUNCTIONwmsys.wm_concatRETURNSVARCHAR2<<<<<<<<<<<<<<<ArgumentNameTypeIn/OutDefault?----------------------------------------------------------------P1VARCHAR2INIn10.2.0.5/11.2.0.2itreturnsCLOBSQL>descwmsys.wm_concat;FUNCTIONwmsys.wm_concatRETURNSCLOB<<<<<<<<<<<<<<<ArgumentNameTypeIn/OutDefault?----------------------------------------------------------------P1VARCHAR2IN

解决办法:

1、在12c下参照10.2.0.4的定义重建wm_concat函数

2、在12.1中使用LISTAGG函数。

在12c下参照10.2.0.4的定义重建wm_concat函数

CREATEORREPLACETYPEWM_CONCAT_IMPLASOBJECT--AUTHIDCURRENT_USERASOBJECT….CREATEORREPLACETYPEBODYWM_CONCAT_IMPLIS…CREATEORREPLACEFUNCTIONwm_concat(P1VARCHAR2)RETURNVAR

在12c使用LISTAGG函数

SELECTdeptno,LISTAGG(ename,',')WITHINGROUP(ORDERBYename)ASemployeesFROMempGROUPBYdeptno;DEPTNOEMPLOYEES------------------------------------------------------------10CLARK,KING,MILLER20ADAMS,FORD,JONES,SCOTT,SMITH30ALLEN,BLAKE,JAMES,MARTIN,TURNER,WARDCHAR2AGGREGATEUSINGWM_CONCAT_IMPL;/

“怎么解决Oracle12c导入导出过程中遇到的问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!