如何使用impdp导入oracle数据库文件

如何使用impdp导入oracle数据库文件,第1张

导入格式(按用户方式导入,oracle在本机)

impdp 用户名/密码

schemas=要导入的用户(即是使用expdp导出的用户) directory=创建的文件夹名称(directory_name)

dumpfile=test.dmp(要放入到directory_path路径下) logfile=imp.log(可以不写)

[sql] view plain copy

--导入时必须先创建文件夹路径

create or replace directory bao as 'd:\oracle\test'

--给使用的用户授权(读写权限)

Grant read,write on directory bao to scott

--查看目录及权限

SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d

WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1

创建完文件夹后,在win7下是没有创建的文件夹的,需要手动创建文件夹,并且把使用expdp导出的dmp文件放入该文件夹下(开始自己导入时,创建完文件夹后始终在磁盘上找不到)

期间报过好多错,像org-29283,org-06512,ora-29283,ora-39002,org-39070等等,反正很郁闷的~!

创建好文件夹后,进行导入:(我使用的是通过运行command命令进入命令行界面导入)

impdp scott/tiger schemas=certification directory=test dumpfile=test.dmp

这要导入后会报错,提示表空间XXX不存在,用户certification不存在

根据错误信息,创建好表空间,和用户,并设置用户的表空间

[sql] view plain copy

CREATE TABLESPACE TEACHER

LOGGING

DATAFILE 'D:\ORACLE\ORADATA\ORCL\TEACHER.DBF'

SIZE 1024M

AUTOEXTEND ON

NEXT 32M MAXSIZE 2048M

EXTENT MANAGEMENT LOCAL

drop user certification

create user certification identified by cert

DEFAULT TABLESPACE TEACHER

grant connect,resource to certification

grant create session,dba to certification

写法跟expdp命令一样 如导出命令: expdp 用户名/密码  schemas=用户名 directory=exp dumpfile=*.dmp logfile=exp.log

导入命令只需把expdp换成impdp就行 impdp 用户名/密码  schemas=用户名 directory=exp dumpfile=*.dmp logfile=imp.log

注意事项:

首先从导出的机器中传到要导入数据库的机器上,如Windows可以放在D:\imp 文件夹下(如果两台机器 *** 作系统不同,需使用二进制传输dmp文件)

在要导入数据的数据库创建导入导出目录

SQL>create directory as 'D:\imp'

3.命令行中开始导入  impdp 用户名/密码  schemas=用户名 directory=exp dumpfile=*.dmp logfile=exp.log

先用impdp的show=y参数执行一下,看看有哪些表空间,你可以在任何位置先建 好同样的表空间,也可以把表空间数据文件所在盘、目录建好,再imp,它会自动在相应位置建表空间、倒入数据,如果找不到盘、目录,它就建不了表空间,也就倒入不了数据,会报错


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9891550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存