查询空表 并导出修改空表语句 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null; 如果表存在分区 alter table 表名 modify partition 分区名 allocate extent;
需求说明: 今天一同事问,在通过mysqldump导出数据库的时候,能不能把某些表不导出,或者叫做排除在外呢, 记得应该是可以实现,就搜索了下,通过mysqldump的--ignore-table参数能够实现,再次记录下. 操作过程: 1.查看某个库及其中的表的情况 mysql> use mytest Reading table information for completion of table and column names You can turn off this feature t
一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 .insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. .设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------
exp不导出空表,是11g的新特性,当表无数据时,不分配segment,以节省空间,所以exp导出的时候,不导出这些表. 先登录要导出的用户执行以下语句 先执行 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; 后执行 SET FEEDBACK OFF set heading off set pagesize 1000 spool d:\allocateemptyta