• Oracle11g空表导出设置


      

    alter system set deferred_segment_creation=false;
    select 'alter table '||table_name||' allocate extent;' from user_tables where segment_created='NO'

    处理Oracle导出dmp文件无法处理空表,以及少表的情况
    方法1、批量处理空表

    步骤1、先分析表
            生成分析语句
            --select 'analyze table '||table_name||' compute statistics;' from user_tables;

    步骤2、将分析语句拿出来执行
            类似以下语句
            analyze table table_name compute statistics;

    步骤3、处理空表
            生成处理语句
            --select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
    步骤4、执行处理语句
            类似以下语句
            alter table table_name allocate extent;
    步骤5、查询所有空表
            --select table_name from user_tables where NUM_ROWS=0;

    方法2、设置deferred_segment_creation参数

    SQL> show parameter deferred_segment_creation
    NAME                                 TYPE        VALUE 

    ------------------------------------ ----------- ------------------------------ 
    deferred_segment_creation            boolean     TRUE
    SQL> alter system set deferred_segment_creation=false;
    系统已更改。
    SQL> show parameter deferred_segment_creation 

    NAME                                 TYPE        VALUE 

    ------------------------------------ ----------- ------------------------------ 

    deferred_segment_creation            boolean     FALSE

    需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
     

    考虑到有的库中表较多(例如我接触到的某一个库有7000+张表手动分析每一张表起来较为繁琐,后期将发布一个java脚本用于自动分析表(本文中两种方法为参考其他博主资料)

  • 相关阅读:
    【求助】Oracle 新手困惑,System.Data.OracleClient requires Oracle client software version 8.1.7 or greater
    什么是APS高级计划排程(高级计划排产)一
    【求助】Html弄的比较少,问一个弱弱的问题,为什么下面代码在IE中tr之间有空白行,而在Firefox中没有空白
    使用Jmeter测试快速入门
    Jmeter数据库压测(Windows下进行压测)
    Charles安装真机证书
    Jmeter组件参数化
    Jmeter脚本录制(App)
    Jmeter的介绍
    Fiddler的使用
  • 原文地址:https://www.cnblogs.com/joyanli/p/13221055.html
Copyright © 2020-2023  润新知