Oracle11g及其以后版本在导出(exp)数据库时会自动过滤掉空表,使得空表无法导出,但当我们需要还原数据库应用到系统中时却需要这些空表。
如何连同空表一起导出???
1.打开PL/SQL,登录需要备份(导出)的数据库,新建一个SQL窗口,输入一下语句“select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;”点击执行按钮,筛选出空表;

2.复制这些空表,新建一个SQL窗口,将空表粘贴进去,点击执行按钮,自动处理空表属性;

3.待属性被修改后,我们就可以导出数据库啦!打开DOS窗口,输入“exp 用户名/密码@服务名 file=导出存储路径\导出文件命名 log=导出过程记录存储路径\记录文件命名”;

4.查看导出记录文件,发现空表也被导出。

作者:帅帅哒主公
链接:https://www.jianshu.com/p/c73bf8837420
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文介绍了一种在Oracle11g及其以后版本中导出包含空表的数据库的方法。通常,Oracle会自动过滤掉空表,但通过特定的SQL语句可以解决这一问题,确保空表在导出时一并被保存,这对于数据库还原时保留完整结构至关重要。
384

被折叠的 条评论
为什么被折叠?



