Maison > base de données > tutoriel mysql > Oracle 11g的exp不能导出空表

Oracle 11g的exp不能导出空表

WBOY
Libérer: 2016-06-07 17:16:43
original
1286 Les gens l'ont consulté

由于公司内部没有Oracle 11g,以前也没怎么使用过该版本,所以一些新特性还不是很了解。这次导出11g的数据库,就遇到了exp不能导

由于公司内部没有Oracle 11g,以前也没怎么使用过该版本,所以一些新特性还不是很了解。这次导出11g的数据库,就遇到了exp不能导出空表的问题,折腾了好久也没搞明白,后来切换到expdp的数据泵方式,增加version参数,方便导入到10g数据库,终于完整的把数据库给导出了,包括100个多空表。
 
今天上网才了解到,原来这个exp不导出空表,是11g的新特性,,当表无数据时,不分配segment,以节省空间,所以exp导出的时候,不导出这些表。
 
针对这个问题,网上有个方便的解决方案。
 
用以下这句查找空表并生成执行命令
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
 
把查询结果导出,执行导出的语句。
类似 alter table T_TAB allocate extent;
 
然后再用exp的方式去导出数据库,终于可以完整的导出包括空表的数据库。

linux

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal