遷移帶LOB等大欄位資料到非預設表空間

eric_zhyd發表於2013-11-16
# 建立新表空間
CREATE TABLESPACE TEST DATAFILE
'D:\ORADATA\PRONES2\TEST-01.DBF' SIZE 10240M AUTOEXTEND ON NEXT 1M MAXSIZE 10240M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO;
 
# 建立使用者與許可權
create user TEST identified by TEST default tablespace TEST;
grant dba to TEST;
 
# 通過IMP匯入相關資料
IMP (省略)
 
# 遷移資料到新表空間
sqlplus TEST/TEST
spool C:\TEST_TABLE.sql
select 'alter table '||tname||' move tablespace TEST;' from tab;
spool off;
@C:\TEST_TABLE.sql
 
# 遷移索引到新表空間
sqlplus TEST/TEST
spool C:\TEST_TABLE.sql
select 'alter index '||index_name||' rebuild tablespace TEST;' from user_indexes;
spool off;
@C:\TEST_INDEX.sql
 
# 限制使用者所屬的表空間
revoke unlimited tablespace from TEST;
alter user TEST quota 0 on SYSTEM;
alter user TEST quota 0 on USERS;
alter user TEST quota unlimited on TEST;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12974804/viewspace-776736/,如需轉載,請註明出處,否則將追究法律責任。

相關文章