oracle性能分析2

Posted 疯子峰@自律给我自由

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle性能分析2相关的知识,希望对你有一定的参考价值。

Oracle性能分析

软件环境:Oracle 11g , 双机RAC.

问题: 

大表(千万级行记录)查询、操作慢,经常超时终端(ORA-01013: 用户请求取消当前的操作)

分析:

1)分区表

2)历史数据归档

解决:

采用方案2)。

  1. 创建历史表、
  2. create table {tablename}_his as select * from {tablename} where ...

    删除表数据。数据量太大(7444741)无法直接删除,需批量删除。

    declare  
       cursor mycursor is SELECT  ROWID FROM {tablename} WHERE ltl_time < to_date(2017-08-01,YYYY-mm-dd) order by rowid;   --------按ROWID排序的Cursor,删除条件是XXX=XXXX,根据实际情况来定。
       type rowid_table_type is  table  of rowid index by pls_integer;
       v_rowid   rowid_table_type;
    BEGIN
       open mycursor;
       loop
         fetch   mycursor bulk collect into v_rowid  limit 5000;   --------每次处理5000行,也就是每5000行一提交
         exit when v_rowid.count=0;
         forall i in v_rowid.first..v_rowid.last
            delete from {tablename} nologging  where rowid=v_rowid(i);
         commit;
       end loop;
       close mycursor;
    END;

     

以上是关于oracle性能分析2的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Toad for Oracle 中使用自定义代码片段?

续:纠正:ubuntu7.04可以安装,而且完美的安装 ! for《Oracle-10.2.0.1,打补丁10.2.0.5:在 debian 版本4不含4以上,及 ubuntu 7.04不含(代码片段

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段

CPNtools协议建模安全分析---实例变迁标记