ITPub博客

首页 > 数据库 > Oracle > 【SQL】【脚本】迁移当前用户下所有表和索引到新表空间

【SQL】【脚本】迁移当前用户下所有表和索引到新表空间

原创 Oracle 作者:OCMU联盟 时间:2009-07-14 21:47:24 0 删除 编辑
生成批量迁移当前用户下的所有表和索引到新表空间的SQL脚本。

c:\>cat mv_tab_idx_to_tbs.sql
set echo off

column order_col1 noprint
column order_col2 noprint

set heading off
set verify off
set feedback off
set echo off

spool tmp.sql

SELECT   DECODE (segment_type, 'TABLE', segment_name, table_name) order_col1,
         DECODE (segment_type, 'TABLE', 1, 2) order_col2,
            'alter '
         || segment_type
         || ' '
         || segment_name
         || DECODE (segment_type, 'TABLE', ' move ', ' rebuild ')
         || CHR (10)
         || ' tablespace &Move_to_Tablespace '
         || CHR (10)
         || ' storage ( initial '
         || initial_extent
         || ' next '
         || next_extent
         || CHR (10)
         || ' minextents '
         || min_extents
         || ' maxextents '
         || max_extents
         || CHR (10)
         || ' pctincrease '
         || pct_increase
         || ' freelists '
         || FREELISTS
         || ');'
    FROM user_segments,
         (SELECT table_name, index_name
            FROM user_indexes)
   WHERE segment_type IN ('TABLE', 'INDEX') AND segment_name = index_name(+)
ORDER BY 1, 2
/

spool off

set heading on
set verify on
set feedback on
set echo on


-- The End --

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70034820/viewspace-2994154/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
OCM联盟( Oracle Certified Master Union)是由侯圣文(ACE总监)发起的一个公益组织,旨在为每一个OCM大师提供一个可以继续展示自己才华,技术和实力的平台。

注册时间:2007-05-27

  • 博文量
    799
  • 访问量
    8406986