用数据泵导入/导出Oracle数据库

来源:互联网 发布:php 域名没有授权 编辑:程序博客网 时间:2024/04/27 21:34

今天下午在大牛的帮助下解决完oracle的tns连接问题后,就要把oracle的数据库搬到另外一个服务器上。原来以为比较简单,还是遇到了一些问题,再次感谢大牛琪琪,记录一下。


1. 使用数据泵导出命令expdp将数据导出:

expdp user/psw@orcl schemas=schema dumpfile=user_expdp.dmp directory=DATA_PUMP_DIR version=10.2.0
在这个命令中,user是用户名,psw是密码,orcl是服务名,schema是表空间名。dumpfile=后面的是导出的文件名。directory=后面的是服务器上导出文件的路径。
注意1,在使用expdp命令之前,要检查一下DATA_PUMP_DIR这个变量是否存在,并且服务器上是否有这个文件夹。
注意2,这个命令后面带了一个version的参数,表示导出成什么版本的oracle数据库文件。在后面使用impdp命令导入这个文件的时候,也要加上同样的version=xxx

2. 将user_expdp.dmp文件拷贝到目标服务器上的DATA_PUMP_DIR文件夹中
检查DATA_PUMP_DIR这个变量,并将user_expdp.dmp文件拷贝到文件夹中

3. 使用数据泵导入命令impdp将数据导入新的oracle服务器:
impdp  user/psw@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=user_expdp.dmp SCHEMAS=schema REMAP_SCHEMA=schema:schema version=10.2.0
注意,后面加上了version=的参数
这一步出了问题。根据错误提示,新的服务器上没有schema表空间,也没有user用户。所以需要在服务器上先创建schema表空间和user用户。
创建完成后,再次执行以上命令,数据导入,但有一个视图导入报错,不知道为什么。所以只能再用CREATE VIEW命令重新创建该视图。


0 0