Oracle 建表空间

/*
*app 创建表空间,大小为50M,自动扩展10M
*pram table_num(表数量),start_num(表空间开始编号),tbs_num(每张表表空间数)
*/
create or replace procedure ctbs(table_num in number ,start_num in number,tbs_num in number) authid current_user is
  str_tbs varchar2(4000);
  str_max varchar2(1000);
  data_file varchar2(200);
begin
  data_file := 'D:\oracle\product\10.2.0\oradata\FDB\XPP\';
  <<outer>>
  for k in 0..table_num-1 loop
    <<inner>>
    for i in start_num .. tbs_num-1 loop
      str_tbs := 'create tablespace P_' || LTRIM(TO_CHAR(k*tbs_num+i, '099')) ||
           ' datafile ' || chr(39) ||data_file||'P_' ||
           LTRIM(TO_CHAR(k*tbs_num+i, '099')) || '.dbf' || chr(39) ||
           ' size 600M
            autoextend on next 10M maxsize unlimited logging
            extent management local autoallocate
            segment space management auto';
      execute immediate str_tbs;
    end loop inner;
  end loop outer;
    for k in 0..table_num-1 loop
    str_max := 'create tablespace P_' || LTRIM(TO_CHAR(k, '099')) ||'max'||
           ' datafile ' || chr(39) ||data_file||'P_' ||
           LTRIM(TO_CHAR(k, '099')) || 'max.dbf' || chr(39) ||
           ' size 500M
            autoextend on next 10M maxsize unlimited logging
            extent management local autoallocate
            segment space management auto';
     execute immediate str_max;
    end loop;
end ctbs;
/

set serveroutput on size 1000000
begin
  ctbs(1,0,100);
end;
/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值