使用exp/imp导出/导入Oracle数据库表结构信息和表数据(oracle数据库表中含有blob字段,导出表提示有blob字段无法导出.sql类型的文件 解决办法 用命令导出.dmp文件 cmd 命令吧oracle表结构和数据)

使用exp/imp导出/导入Oracle数据库表结构信息和表数据

问题:

oracle数据库表中含有blob字段,导出表提示有blob字段无法导出.sql类型的文件 解决办法 用命令导出.dmp文件 cmd 命令吧oracle表结构和数据

参考地址:https://blog.csdn.net/qq_40493944/article/details/110122323

一、导出

1 exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名
2 
3 eg:
4 --导出全部表结构和数据
5 exp root/root@10.5.34.233:1521/test file=‘D:daochu.dmp’

2.导出指定的表

1 exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名 tables=(表名1,表名2,...)
2 
3 eg:
4 --导出指定的表table1,table2
5 exp root/root@10.5.34.233:1521/test file=‘D:daochu.dmp’ tables=(table1,table2)

3.导出表空间中以XX开头的表

1 exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名 tables=(XX%)
2 
3 eg:
4 --导出表空间中以AB开头的所有表结构和数据
5 exp root/root@10.5.34.233:1521/test file=‘D:daochu.dmp’ tables=(AB%)

4.仅导出表结构,不导出数据

1 exp username/password@Oracle数据库安装ip地址:端口/SID file=路径及文件名 rows = n

5.注意
因为oracle为了节约空间,对于空表不分配segment,所以对于空表使用exp命令导不出来,有以下几种解决办法:

使用以下语句设置空表可以导出,设置后需要重启数据库。

1 alter system set deferred_segment_creation = false

对需要导出的空表插入一条数据再删除,此刻该表就产生了segment,再导出时就可以成功了。

执行以下语句,也可以导出。

1 alter table 空表名 allocate extent;

二、导入

已经存在导出的.dmp文件,则可以使用以下语句将其导入到你需要导入的目标数据库中。

 

每天多努力一点,你将会变得更好。
原文地址:https://www.cnblogs.com/lidar/p/15210905.html