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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)