这是个很常见的导入警告,通常与数据库/客户端版本有关。比如这里,源数据库和目标数据库版本都是10.2.0.4,但导出的时候使用了10.2.0.1的客户端:
在别的项目中,还遇到过从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′)
查询: