Home >Database >Mysql Tutorial >Oracle 11g R2版本使用exp命令导出表不全的解决方案

Oracle 11g R2版本使用exp命令导出表不全的解决方案

WBOY
WBOYOriginal
2016-06-07 15:01:451275browse

前天在业务库中导出完整库时,再导入到新库时发现部分表丢失。 看日志后分析是部分空表没有导出。查google知,11G中新特性,当表无数据时,不分配segment,以节省空间。而使用exp命令时,无Segment的表不会被导出。 解决方案: http://wenku.baidu.com/view/

前天在业务库中导出完整库时,再导入到新库时发现部分表丢失。

看日志后分析是部分空表没有导出。查google知,11G中新特性,当表无数据时,不分配segment,以节省空间。而使用exp命令时,无Segment的表不会被导出。

解决方案:

http://wenku.baidu.com/view/7beb56f57c1cfad6195fa702.html

采取第三种:

先执行如下语句得出空表:

<strong>select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;</strong>



然后将执行结果复制到另一个SQL窗口,并执行类似的语句:

ALTER TABLE COMJARREF ALLOCATE EXTENT;
ALTER TABLE COMSTORE ALLOCATE EXTENT;
ALTER TABLE DATASERVER ALLOCATE EXTENT;
ALTER TABLE EIMP_COLUMNS ALLOCATE EXTENT;
ALTER TABLE EIMP_TABLES ALLOCATE EXTENT;

--...................................................................


然后再导出,OK!

值得注意的是:这样强制分配后,增加了200多个空表,导出文件从原来的101M变为102M,略有增加。

Oracle 11g R2版本使用exp命令导出表不全的解决方案

Oracle 11g R2版本使用exp命令导出表不全的解决方案

 


助人等于自助!   3w@live.cn



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn