ITPub博客

首页 > 数据库 > Oracle > 【TUNE_ORACLE】ROWID切片SQL参考

【TUNE_ORACLE】ROWID切片SQL参考

原创 Oracle 作者:Attack_on_Jager 时间:2021-07-28 16:12:22 0 删除 编辑

实验环境

搭建平台:VMware Workstation

OS:RHEL 6.10

Grid&DB:Oracle 11.2.0.4


SQL参考

create user test identified by test default tablespace users;

--先给测试用户赋权

grant dba to test;

create table tab as select * from stu.students;  --任意copy一张表用来测试


create or replace procedure p_rowid(range number, id number) is

  cursor cur_rowid is

  -----------------------------------SQL主体-----------------------------------  

    select dbms_rowid.rowid_create(1,

                                   b.data_object_id,

                                   a.relative_fno,

                                   a.block_id,

                                   0) rowid1,

           dbms_rowid.rowid_create(1,

                                   b.data_object_id,

                                   a.relative_fno,

                                   a.block_id + blocks - 1,

                                   999) rowid2

      from dba_extents a, dba_objects b

     where a.segment_name = b.object_name

       and a.owner = b.owner

        and b.object_name = 'TAB' --表名

       and b.owner = 'TEST' --用户名

       and mod(a.extent_id, range) = id;

  -----------------------------------SQL主体-----------------------------------     

  v_sql varchar2(4000);

begin

  for cur in cur_rowid loop

    v_sql := 'delete tab where student_id > 200 and rowid between :1 and :2';  --可以根据自己的SQL修改此处

    execute immediate v_sql

      using cur.rowid1, cur.rowid2;

    commit;

  end loop;

end;

/


--如果要将表切分成8份,可以在8个窗口中一次执行:

begin 

p_rowid(8,0);

end;

/

begin 

p_rowid(8,1);

end;

/

......

begin 

p_rowid(8,7);

end;

/


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992972/viewspace-2783837/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在某银行任职DBA,拥有多年数据库运维经验,擅长Oracle,MySQL。尤其擅长Oracle的SQL优化,数据库性能调优,数据库备份、恢复与迁移。拥有的认证:OCM 12c,OCM 11g,MySQL OCP,RHCE,阿里云ACP,巨杉SCDP,软考系统集成工程师认证,Oracle Iaas OCA,OBCA,TDSQL认证,TBase认证

注册时间:2021-01-11

  • 博文量
    142
  • 访问量
    482833