经常我们在导出数据库进行备份的时候,会发现有些空表没有导出,如何导出包含空表的完整数据库呢?那么请按照下面的方法进行即可。
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.执行完成后,
(1)交互式命令行方式导出
exp username/password@service_name file=/home/oracle/databasename.dmp
username:用户名
password:密码
service_name:数据库的服务名
file:要导出数据库文件的路径
(2)交互式命令行方式导入
$ imp usrname/password file = t.dmp full=y
来源:CSDN
作者:傲来雾-花果香
链接:https://blog.csdn.net/a546835886/article/details/104631827