dump出来的数据库性能差异很大是什么原因

又是违规昵称 2008-11-11 04:27:46
我现在有Oracle10g数据库服务器A和B,
操作系统都是solaris10

A的小版本是10.2.0.4.0
B的小版本是10.2.0.2.0

我将某个用户从A上exp出来然后imp到B中,
发现同个存储过程,在A上执行需要19分钟,在B上只需7分20秒

值得提的是A机的硬件性能高于B机, 但是跑起来却比B机慢

数据库的创建和安装,以及配置的修改基本上是按默认设置来的, 这个虽然没有仔细比对过,但是应该基本相同
都在同一局域网中,网络区别应该可以忽略

大家觉得可能有哪些方面的原因导致的呢? 望不吝赐教!


...全文
220 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
vc555 2008-11-12
  • 打赏
  • 举报
回复
lz贴两个库执行该过程时的执行计划。
又是违规昵称 2008-11-12
  • 打赏
  • 举报
回复
我还是把参数文件贴出来吧:

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下索引都在
rexyudl 2008-11-12
  • 打赏
  • 举报
回复
你导出的是方案下的所有对象?
如果是这样的话,导出时会不导非这个用户创建的索引!也就是说,你这个表会丢失索引!
你最好去相关的表看看索引是不是都在!
又是违规昵称 2008-11-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 BlueskyWide 的回复:]
看来LZ要看一些性能优化方面的书了。


引用楼主 lpc19598188 的帖子:
我现在有Oracle10g数据库服务器A和B,
操作系统都是solaris10

A的小版本是10.2.0.4.0
B的小版本是10.2.0.2.0

我将某个用户从A上exp出来然后imp到B中,
发现同个存储过程,在A上执行需要19分钟,在B上只需7分20秒

值得提的是A机的硬件性能高于B机, 但是跑起来却比B机慢

数据库的创建和安装,以及配置的修改基本上是按默认设置来的, 这个虽然没有…
[/Quote]

您要是有高见的话说出来听听嘛,
我现在看书也不赶趟

ww8214517 2008-11-12
  • 打赏
  • 举报
回复
在倒数据库的时候,是不是全部导入 也就是 full = y 这个属性写没写 是不是没有把索引导进来啊
又是违规昵称 2008-11-12
  • 打赏
  • 举报
回复
dump出来的数据, 数据会重新组织吗?

比如说, A数据库上有很多行迁移的记录, 到B上面后会大幅减少吗?
又是违规昵称 2008-11-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wffffc 的回复:]
有可能是表的存储改变了,如hwm,行链接等
顺便看看你的执行计划改变了没有。
[/Quote]

起床真早

你们几点上班啊?
vc555 2008-11-12
  • 打赏
  • 举报
回复
对的,LZ看看执行计划有什么区别。
又是违规昵称 2008-11-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wffffc 的回复:]
有可能是表的存储改变了,如hwm,行链接等
顺便看看你的执行计划改变了没有。
[/Quote]

谢谢,这个有可能.

因为是一个大的存储过程,里面有好多小的SQL,
所以总体执行起来只能看到一个代价很大的全表扫描
wffffc 2008-11-12
  • 打赏
  • 举报
回复
有可能是表的存储改变了,如hwm,行链接等
顺便看看你的执行计划改变了没有。
wffffc 2008-11-12
  • 打赏
  • 举报
回复
sql_trace一下看看里面的sql的执行计划的差别,
可以看看user_tables,user_extents等数据字典,里面有个BLOCKS和CHAIN_CNT,看看导入前后的大小就知道存储情况变化多大了,
又是违规昵称 2008-11-11
  • 打赏
  • 举报
回复
没有统计直方图,
但是库里面并没有那种分布特别不均匀的情况
不至于差别这么大啊
butchroller 2008-11-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lpc19598188 的回复:]
谢谢,
这个我有收集

还有没有别的原因啊?
[/Quote]

按你的描述,应该没有别的原因了。
codearts 2008-11-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 vc555 的回复:]
说明你需要在A机该过程的表和索引收集统计信息了。执行计划已经老了。
[/Quote]

我觉得也是这样。可能LZ收集的不全,直方图之类的都统计了么

BlueskyWide 2008-11-11
  • 打赏
  • 举报
回复
看来LZ要看一些性能优化方面的书了。


[Quote=引用楼主 lpc19598188 的帖子:]
我现在有Oracle10g数据库服务器A和B,
操作系统都是solaris10

A的小版本是10.2.0.4.0
B的小版本是10.2.0.2.0

我将某个用户从A上exp出来然后imp到B中,
发现同个存储过程,在A上执行需要19分钟,在B上只需7分20秒

值得提的是A机的硬件性能高于B机, 但是跑起来却比B机慢

数据库的创建和安装,以及配置的修改基本上是按默认设置来的, 这个虽然没有仔细比对过,但是应该基本相同
都在同一局域网中,网络区别应该可以…
[/Quote]
又是违规昵称 2008-11-11
  • 打赏
  • 举报
回复
谢谢,
这个我有收集

还有没有别的原因啊?
vc555 2008-11-11
  • 打赏
  • 举报
回复
说明你需要在A机该过程的表和索引收集统计信息了。执行计划已经老了。

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧