您现在的位置是:首页 >

drop什么意思啊 Oracle性能优化:droptable与dbcache

火烧 2021-06-01 05:53:51 1067
Oracle性能优化:dro ta le与d cache   们都知道dro ta le tru cate ta le时都会先做一次check oi t 将被删除对象的脏块写入磁盘   客户有一套系统

Oracle性能优化:droptable与dbcache  

  们都知道drop table truncate table时都会先做一次checkpoint 将被删除对象的脏块写入磁盘

  客户有一套系统 Oracle 需要做数据迁移 由于种种原因 采用的是逻辑迁移的方式 由于库比较大 超过了 T 而停机时间又有限 因此在正式迁移之前需要做大量的测试 测试的目的 一方面是看迁移流程上是否存在问题 另一方面是看迁移的时候 哪个地方会存在性能瓶颈 并进行优化 同时估算实施迁移时间

drop什么意思啊 Oracle性能优化:droptable与dbcache

  第一次测试后 需要把测试产生的大量用户及其对象全部删除 删除用的是drop user username cascade 不幸的是这种方式删除得相当地慢 一个 多个表的用户 删除了 个半小时才删除了 多个表 为什么这么慢?有没有办法提高速度?

  drop table既然要做checkpoint 那么在db cache非常大的情况下 这需要消耗的时间是比较长的 如果能够减少这个时间无疑将大幅提高速度 首先尝试做一次checkpoint 将buffer cache全部刷新出去

  view plaincopy to clipboardprint?

  alter system checkpoint;

  alter session set events immediate trace name flush_cache level ;

  alter system checkpoint;

  alter session set events immediate trace name flush_cache level ;

  发现没什么效果

  由于db_cache_size有 GB左右 db_keep_cache_size有 G左右 重新设置参数 将db_keep_cache_size设为 将db_cache_size设为 M 重启一下数据库 重新执行删除用户的操作 操作很快完成

lishixinzhi/Article/program/Oracle/201311/17079  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码