特别提醒:所有操作均在system下进行
一、修改索引index的表空间
1、查询当前用户所有LOB索引,并把表空间为“JCMS24”的索引,更新为:JCMS。(手动修改)
ALTER TABLE 表名称 MOVE
TABLESPACE 新表空间
LOB (表中类型为lob的字段名) STORE AS lobsegment
(TABLESPACE 新表空间 );
2、查询当前用户所有非LOB索引,并把表空间为“JCMS24”的索引,更新为:JCMS。
DECLARE
i_count INT := 0;
CURSOR c_mysql IS
SELECT'alter index JCMS24.' || index_name ||
' rebuild tablespace JCMS' mysql
FROM dba_INDEXES
WHERE owner = 'JCMS24'
and tablespace_name = 'JCMS24'
and index_type <>'LOB';
BEGIN
FOR r_mysql IN c_mysql LOOP
DBMS_OUTPUT.put_line(r_mysql.mysql);
EXECUTEIMMEDIATE r_mysql.mysql;
i_count :=i_count + 1;
END LOOP;
DBMS_OUTPUT.put_line('i_count: ' ||i_count);
END;
二、修改用户表table的表空间
1、修改用户表table的表空间:alter table 表名 move tablespace 新表空间名;
2、查询所有用户表:select * from user_tables;
【脚本】
查询当前用户的所有的数据表,并把表空间为“JCMS24”的用户表,修改为:JCMS。
DECLARE
i_count INT := 0;
CURSOR c_mysql IS
SELECT'alter index JCMS24.' || index_name ||
' rebuild tablespace JCMS' mysql
FROM dba_INDEXES
WHERE owner = 'JCMS24'
and tablespace_name = 'JCMS24'
and index_type = 'LOB';
BEGIN
FOR r_mysql IN c_mysql LOOP
DBMS_OUTPUT.put_line(r_mysql.mysql);
EXECUTEIMMEDIATE r_mysql.mysql;
i_count :=i_count + 1;
END LOOP;
DBMS_OUTPUT.put_line('i_count: ' ||i_count);
END;
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。