批量move table\者重建索引
2016-01-05 16:38
591 查看
select 'alter table '||table_name||' move tablespace rpt;' from user_tables;
select 'alter index '||index_name||' rebuild tablespace RPT_IDX;' from user_indexes;
CREATE OR REPLACE PROCEDURE BATCH_REBUILD_INDEX(USER_NAME IN VARCHAR2) IS
S_SQL VARCHAR2(500);
ACCOUNT NUMBER := 0;
BEGIN
FOR LINE2 IN (SELECT T.OWNER,
T.INDEX_NAME
FROM ALL_INDEXES T
WHERE T.OWNER = UPPER(USER_NAME)
AND T.TABLE_TYPE = 'TABLE'
AND T.TEMPORARY = 'N'
AND T.INDEX_TYPE = 'NORMAL') LOOP
S_SQL := 'alter index ' || LINE2.OWNER || '.' || LINE2.INDEX_NAME || ' rebuild';
ACCOUNT := ACCOUNT + 1;
EXECUTE IMMEDIATE S_SQL;
END LOOP;
DBMS_OUTPUT.PUT_LINE(ACCOUNT);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END BATCH_REBUILD_INDEX;
begin
BATCH_REBUILD_INDEX('SCOTT');
end;
多个表空间导入一个表空间:
expdp rpt/rpt dumpfile=struncuredata.dmp directory=DIR_DP logfile=structuredata.log schemas=rpt content=metadata_only
impdp rptmgr/rptmgr directory=DIR_DP dumpfile=struncuredata.dmp remap_schema=rpt:rptmgr remap_tablespace='(RPT:USERS,RPT_IDX:USERS,RPT_HISTORY_IDX:USERS,RPT_HISTORY:USERS)' logfile=struncuredata.log content=metadata_only
select 'alter index '||index_name||' rebuild tablespace RPT_IDX;' from user_indexes;
CREATE OR REPLACE PROCEDURE BATCH_REBUILD_INDEX(USER_NAME IN VARCHAR2) IS
S_SQL VARCHAR2(500);
ACCOUNT NUMBER := 0;
BEGIN
FOR LINE2 IN (SELECT T.OWNER,
T.INDEX_NAME
FROM ALL_INDEXES T
WHERE T.OWNER = UPPER(USER_NAME)
AND T.TABLE_TYPE = 'TABLE'
AND T.TEMPORARY = 'N'
AND T.INDEX_TYPE = 'NORMAL') LOOP
S_SQL := 'alter index ' || LINE2.OWNER || '.' || LINE2.INDEX_NAME || ' rebuild';
ACCOUNT := ACCOUNT + 1;
EXECUTE IMMEDIATE S_SQL;
END LOOP;
DBMS_OUTPUT.PUT_LINE(ACCOUNT);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END BATCH_REBUILD_INDEX;
begin
BATCH_REBUILD_INDEX('SCOTT');
end;
多个表空间导入一个表空间:
expdp rpt/rpt dumpfile=struncuredata.dmp directory=DIR_DP logfile=structuredata.log schemas=rpt content=metadata_only
impdp rptmgr/rptmgr directory=DIR_DP dumpfile=struncuredata.dmp remap_schema=rpt:rptmgr remap_tablespace='(RPT:USERS,RPT_IDX:USERS,RPT_HISTORY_IDX:USERS,RPT_HISTORY:USERS)' logfile=struncuredata.log content=metadata_only
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解