博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle exp 导出表时会发现少表,空表导不出解决方案
阅读量:4070 次
发布时间:2019-05-25

本文共 580 字,大约阅读时间需要 1 分钟。

今天遇到一个群有,他说在oracle11g上利用exp导出的时候,发现原本数据库中有723张表,但是用exp导出的时候却只能导出304张出来,其实这个原因是oralce11g 中增加了一个新特性 "deferred_segment_creation" 含义是段延迟创建,默认是true。

具体解释:

 如果这个参数设置为true,你新创建了一个table,并且没有向其中插入数据,那么这个表不会立即分配extend,也就是不占数据空间,即表不分配segment以节省空间,所以这些表也没能导出来。在系统表user_tables中也可以看到segment_treated的字段里是“NO”或者“YES”说明了某张表是否分配了segment。说白了是为了可以节省少量的空间。

下面给出解决办法:

1.最笨的方法是给空表随便添加一笔数据

2.对空表分配空间

select 'alter table ' ||table_name ||' allocate extent;' from user_tables where segment_created='NO';

  上述代码可产生批量的修改表extent的SQL语句(有多少张空表就产生多少条),我们只需要将其生成的所有sql代码全部执行,就可以给每一张已经存在的表来分配 segment,然后就可以利用exp 导出了

转载地址:http://wjhji.baihongyu.com/

你可能感兴趣的文章
剑指_顺时针打印矩阵
查看>>
剑指_栈的压入弹出序列
查看>>
剑指_复杂链表的复制
查看>>
服务器普通用户(非管理员账户)在自己目录下安装TensorFlow
查看>>
星环后台研发实习面经
查看>>
大数相乘不能用自带大数类型
查看>>
字节跳动后端开发一面
查看>>
CentOS Tensorflow 基础环境配置
查看>>
centOS7安装FTP
查看>>
FTP的命令
查看>>
CentOS操作系统下安装yum的方法
查看>>
ping 报name or service not known
查看>>
FTP 常见问题
查看>>
zookeeper单机集群安装
查看>>
do_generic_file_read()函数
查看>>
Python学习笔记之数据类型
查看>>
Python学习笔记之特点
查看>>
Python学习笔记之安装
查看>>
shell 快捷键
查看>>
VIM滚屏操作
查看>>