经常我们在导出数据库进行备份的时候,会发现有些空表没有导出,如何导出包含空表的完整数据库呢?那么请按照下面的方法进行即可。
1.使用plsql工具,连接oracle数据库
2.打开一个sql窗口,用以下这句查找空表并生成执行命令
1 |
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; |
得到类似下方的语句:
alter table SYS_PRIVILEGE allocate extent;
alter table SYS_RELEVANCE_RESOURCE allocate extent;
alter table SYS_RELEVANCE_TARGET allocate extent;
alter table SYS_RESOURCE_TYPE allocate extent;
alter table TASK_FEEDBACK allocate extent;
alter table TASK_MYTASKTYPE allocate extent;
…
3.将查询结果的内容导出或者拷贝,使用sql窗口进行执行。
4.执行完成后,即可用exp的命令或者脚本进行导出,得到完整的数据库,包含空表。