将ORACLE 从一个表空间转换到另一个表空间时,主要有以下三个步骤:
1、数据表的表空间转换。
首先查询当前用户下的所有表:
select 'alter table '|| table_name ||' move tablespace tablespace_name;' from user_all_tables;
然后修改数据表的空间:
alter table TABLE_NAME move tablespace TABLESPACE_NAME(要转换的表空间名)
2、索引的表空间转换。
首先查询当前用户下的所有索引
select 'alter index '|| index_name ||' rebuild tablespace tablespace_name;' from user_indexes;
然后修改索引表的空间:
alter index INDEX_NAME rebuild tablespace TABLESPACE_NAME(要转换的表空间名)
3、lob字段的表空间。
首先查询当前用户下的所有lob字段
select 'alter table '||table_name||' move lob ('||column_name||') store as (tablespace tablespace_name);' from USER_LOBS
然后修改lob字段的表空间
alter table TABLE_NAME move lob (COLUMN_NAME) store as (tablespace TABLESPACE_NAME);