签到成功

知道了

CNDBA社区CNDBA社区

批量转换分区表为普通表

2016-09-05 09:19 2758 0 翻译 Oracle 11G
作者: Expect-乐

# cat chg_partition.shhttp://www.cndba.cn/Expect-le/article/185

http://www.cndba.cn/Expect-le/article/185
http://www.cndba.cn/Expect-le/article/185

sqlplus -s system/oracle@orcl <<EOF
select * from dual;
set linesize 300
set page 0
col sql_text fro a300
set feedback off
set long 99999
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE','PRETTY',true);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE','SQLTERMINA',true);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE','TABLESPACE',true);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE','SEGMENT_ATTRIBUTES',false);
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE','REF_CONSTRAINTS',false);
spool tmp_$1.sql
select 'select DBMS_METADATA.GET_DDL('||chr(39)||'TABLE'||chr(39)||','||''''||table_name||chr(39)||','||''''||owner||chr(39)||') sql_text from dual;'
FROM all_tables where owner='SCOTT' and table_name in(UPPER('$1'));
spool off;
spool $1_ddl.tmp
@tmp_$1.sql
spool off
EOF
last_line=`grep -n "PARTITION BY" $1_ddl.tmp|awk -F: '{print $1}'`
last_line=`expr $last_line - 1`
sed -nn '1,'$last_line'p' $1_ddl.tmp > tmp_$1_ddl.sql1
sed 's/PRADAPPO/'$2'/' tmp_$1_ddl.sql1 > tmp_$1_ddl.sql
echo ";" >> tmp_$1_ddl.sql
rm $1_ddl.tmp
rm tmp_$1_ddl.sql1

使用:http://www.cndba.cn/Expect-le/article/185http://www.cndba.cn/Expect-le/article/185

# ksh chg_partition.sh EMP

生成的文件如下

http://www.cndba.cn/Expect-le/article/185
http://www.cndba.cn/Expect-le/article/185

tmp_EMP_ddl.sqlhttp://www.cndba.cn/Expect-le/article/185


http://www.cndba.cn/Expect-le/article/185http://www.cndba.cn/Expect-le/article/185

分区表,普通表

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1567326次
  • 积分:1957
  • 等级:核心会员
  • 排名:第4名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ