Oracle 建表空间

本文介绍如何在Oracle数据库中创建表空间,包括表数量、表空间开始编号和每张表表空间数的配置,以及自动扩展和大小管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
*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;
/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值