您的位置:首页 > 数据库 > Oracle

修改oracle表空间步聚

2015-07-08 00:00 746 查看
1.创建新的表空间
1.1针对于表
CREATE Tablespace TS_OPRISK_DAT datafile '/oracle/oradata/cqbank/TS_OPRISK_DAT.dbf'size 500mautoextend on next 32mmaxsize 2048m extentmanagement local;
1.2针对于索引
CREATE Tablespace TS_OPRISK_IDX datafile '/oracle/oradata/cqbank/TS_OPRISK_IDX.dbf'size 500mautoextend on next 32mmaxsize 2048m extentmanagement local;
2.执行以下sql打出的脚本
(针对修改普通表所属的表空间
即无BLOB和CLOB等字段类型的表
注:有BLOB或者CLOB类型的表会自动创建索引)

select 'alter table '|| table_name ||' move tablespace TS_OPRISK_DAT;' from user_all_tables;
3.执行以下sql打出的脚本
(针对有BLOB或者CLOB类型的表)

select 'alter table ' || xtable || ' move tablespace TS_OPRISK_DAT lob' || '(' ||column_name || ') store as ( tablespace TS_OPRISK_DAT);'from (select xtable, wmsys.wm_concat(column_name) column_namefrom (select owner || '.' || table_name xtable,column_name,tablespace_namefrom dba_lobswhere owner='OPR' AND tablespace_name = 'TSDAT01' AND TABLE_NAME
3ff0
NOT LIKE '%==$0')group by xtable);
4.针对索引
select 'alter index '|| index_name ||' rebuild tablespace TS_OPRISK_IDX;' from user_indexes a WHERE INDEX_TYPE<>'LOB';
5.重建索引
select 'alter index '|| index_name ||' rebuild; ' from user_indexes a WHERE INDEX_TYPE<>'LOB';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: