记录一下oracle数据库的基本导入导出命令,以及常识性知识。
1、低版本的exp、imp可以连接到高版本(和同版本)的数据库服务器,但高版本的exp、imp不能连接到低版本的数据库服务器。
2、高版本exp导出的dmp文件,低版本不能imp导入(无法识别dmp文件);低版本exp导出的dmp文件,高版本可以imp导入(向下兼容)
3、从oracle低版本exp导出的数据可以imp导入高版本的oracle数据库,但是仅限于相邻版本,如从oracle10到oracle11;对于不相邻版本,如从oracle10到oracle12,则只能先将数据导入到相邻版本oracle11,再从oracle11导入到oracle12中。
4、自oracle9i以后,引入新的命令impdp、expdp,oracle11g中exp命令是不能导出数据库中的空表的,但是可以通过expdp导出。
5、oracle 11g通过exp导出的数据是无法通过imp导入到oracle10g中的,但是可以通过expdp和impdp命令完成。
6、impdp和expdp是服务端命令,不能在客户端使用。
7、oracle常用导入导入命令示例如下:
1 2 |
exp imzcy/imzcy@orcl file=/home/oracle/imzcy-20180525.dmp log=/home/oracle/imzcy-20180525-exp.log owner=imzcy buffer=10000 imp imzcy/imzcy@orcl file=/home/oracle/imzcy-20180525.dmp log=/home/oracle/imzcy-20180525-imp.log fromuser=imzcy touser=zcy buffer=10000 |
如4所述,使用exp导出是无法导出空表,所以需要后续手动创建;导入的时候要注意权限方面的问题(比如一些视图什么的要调用其他用户下表数据,如果没有提前授权可能会报错。这个导入完成后可以用plsql直观的根据图标查看到,再授权即可)
expdp和impdp命令详细使用示例,可以查看这篇文章windows下使用expdp和impdp命令导出及导入