Welcome 微信登录

首页 / 数据库 / MySQL / imp导入时出现imp-00017 ora-06550的解决办法

将exp逻辑备份文件导入到备库中时出现了错误,相关错误信息如下:
  1. IMP-00017: 由于 Oracle 错误 6550, 以下语句失败:  
  2.  "DECLARE  SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := "00730068006F0075006"  
  3.  "C0075"; SREC.MAXVAL := "9F9A00200020514B"; SREC.EAVS := 4; SREC.CHVALS := D"  
  4.  "BMS_STATS.CHARARRAY(utl_raw.cast_to_varchar2("00730068006F0075006C0075"),"N"  
  5.  "fS[",utl_raw.cast_to_varchar2("4E5400200020664B"),utl_raw.cast_to_varchar2"  
  6.  "("4ED8002000204FCA"),"N貍*",utl_raw.cast_to_varchar2("4EFB002000205170"),"N"  
  7.  "鸒","O  
  8. ……  
  9. IMP-00003: 遇到 ORACLE 错误 6550  
  10. ORA-06550: 第 1 行, 第 4836 列:   
  11. PLS-00103: 出现符号 "朒ag?"在需要下列之一时:  
  12.  ( - + case mod new not  
  13.    null others <an identifier>  
  14.    <a double-quoted delimited-identifier> <a bind variable> avg  
  15.    count current exists max min prior sql stddev sum variance  
  16.    execute forall merge time timestamp interval date  
  17.    <a string literal with character set specification>  
  18.    <a number> <a single-quoted SQL string> pipe  
  19.    <一个带有字符集说明的可带引号的字符串文字>  
  20.    <一个可带引号的 SQL 字符串>  
    这是个很常见的导入警告,通常与数据库/客户端版本有关。比如这里,源数据库和目标数据库版本都是10.2.0.4,但导出的时候使用了10.2.0.1的客户端:
  1. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production  
  2. With the Partitioning, Real Application Clusters, OLAP, Data Mining  
  3. and Real Application Testing options  
  4.   
  5.   
  6. 经由常规路径由 EXPORT:V10.02.01 创建的导出文件  
    在别的项目中,还遇到过从10.2.0.2数据库中导入到10.2.0.4目标库时出现了同样的问题,不管imp/exp使用了什么版本。
    解决办法,就是在exp或imp时加上一个参数来禁用统计信息的导出/导入:  statistics=none        那么,不导入统计信息会有什么影响呢。其实在oracle 10g以后,默认定时采集统计信息,可以在dba_scheduler_jobs视图中查询到该任务:GATHER_STATS_JOB。并且可以在dba_scheduler_job_run_details中看到相应的执行情况。    手动采集统计信息:在sys用户中执行dbms_scheduler.run_job("GATHER_STATS_JOB") 存储过程(等价于执行dbms_stats.gather_database_stats_job_proc);使用dbms_stats包中的gather_xxx_stats来采集。停用定时采集统计信息的任务:DBMS_SCHEDULER.DISABLE("GATHER_STATS_JOB")    oracle 10g中修改自动采集统计信息的时间策略:通过sys用户登录执行存储过程dbms_scheduler.set_attribute来修改,例如dbms_scheduler.set_attribute("GATHER_STATS_JOB","SCHEDULE_NAME","MAINTENANCE_WINDOW_GROUP") dbms_scheduler.set_attribute("WEEKEND_WINDOW","DURATION","+000 05:00:00")查询:
  1. select d.window_name,d.repeat_interval,d.duration  
  2. from DBA_SCHEDULER_JOBS a,DBA_SCHEDULER_WINDOW_GROUPS b,DBA_SCHEDULER_WINGROUP_MEMBERS c,DBA_SCHEDULER_WINDOWS d  
  3. where a.job_name="GATHER_STATS_JOB"  
  4.   and a.schedule_name=b.window_group_name  
  5.   and b.window_group_name=c.window_group_name  
  6.   and c.window_name=d.window_name  
  7. union all  
  8. select d.window_name,d.repeat_interval,d.duration  
  9. from DBA_SCHEDULER_JOBS a,DBA_SCHEDULER_WINDOWS d  
  10. where a.job_name="GATHER_STATS_JOB"  
  11.   and a.schedule_name=d.window_name;  
DATAGUARD failover切换及配置范例RHEL 5.3 下单节点Oracle 11G RAC的安装相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数