我现在有Oracle10g数据库服务器A和B,
操作系统都是solaris10A的小版本是10.2.0.4.0
B的小版本是10.2.0.2.0我将某个用户从A上exp出来然后imp到B中,
发现同个存储过程,在A上执行需要19分钟,在B上只需7分20秒值得提的是A机的硬件性能高于B机, 但是跑起来却比B机慢数据库的创建和安装,以及配置的修改基本上是按默认设置来的, 这个虽然没有仔细比对过,但是应该基本相同
都在同一局域网中,网络区别应该可以忽略大家觉得可能有哪些方面的原因导致的呢? 望不吝赐教!

解决方案 »

  1.   

    有可能是表的存储改变了,如hwm,行链接等
    顺便看看你的执行计划改变了没有。
      

  2.   


    谢谢,这个有可能.因为是一个大的存储过程,里面有好多小的SQL,
    所以总体执行起来只能看到一个代价很大的全表扫描
      

  3.   

    dump出来的数据, 数据会重新组织吗?比如说, A数据库上有很多行迁移的记录, 到B上面后会大幅减少吗?
      

  4.   

    在倒数据库的时候,是不是全部导入 也就是 full = y 这个属性写没写  是不是没有把索引导进来啊
      

  5.   

    我还是把参数文件贴出来吧:imp.txt:userid=system/xxx@xxx
    buffer=100000
    log=imp.log
    file=E:\xxxx.dmp
    feedback=5000
    fromuser=01dbo
    touser=28dbo
    exp.txt:userid=system/xxx@xxx
    buffer=100000
    log=exp.log
    file=E:\xxxx.DMP
    feedback=5000
    owner=01dbo导进去的scheme下索引都在
      

  6.   

    sql_trace一下看看里面的sql的执行计划的差别,
    可以看看user_tables,user_extents等数据字典,里面有个BLOCKS和CHAIN_CNT,看看导入前后的大小就知道存储情况变化多大了,