oracle使用命令导入dmp(impdp)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用命令导入dmp文件

impdp

序:以前写过使用imp、exp的导入导出,现在与时俱进,高版本的oracle使用泵的导入导出更方便了,主要特点是快、压缩率高占用空间小。

这里主要讲解linux环境下的使用,其实windows的环境下使用时一样的,下面一起讲解吧

一、连接到linux

这里使用Xshell工具,连接后如图:

二、切换到oracle用户

su– oracle

注意“-”前后的空格

三、连接到oracle

格式:sqlplus [用户名/密码@url:端口/实例名]或/ as sysdba sqlplus / as sysdba (连接到本机oracle)

注意“/”前后的空格

sqlplus SDP_CMS_HRB/SDP_CMS_HRB@10.9.219.24/orcl(在

linux和oracle下通用)

Linux

Windows

Ps:如果再windows无法连接到oracle,请确定安装的客户端是否支持服务器上安装的oracle的版本。

四、建用户

create user SDP_CMS_HRB identified by SDP_CMS_HRB;

见上一步windows的图,已经创建用户。

五、建表空间

这里拿到一个dmp文件有时候同事没有告诉表空间,需要自己查看,其实可以使用UE文本编辑软件打开查看,搜索

tablespace,或者先不建表空间直接导入一次后看导入日志。

格式:Create tablespace表空间名datafile表空间文件路径size 32m autoextend on next 32m maxsize 1024m extent

management local;

Create tablespace SDP_PORTALMS_HRB datafile

'/u01/oracle/oradata/orcl/SDP_PORTALMS_HRB.dbf' size

32m autoextend on next 32m maxsize 1024m extent management local;

注意表空间文件路径是相对连接的服务器的路径,这里oracle

是安装在linux,如果是安装在windows则路径是E:xx/orcl

类似这样的。

ps:查询表空间

SELECT * FROM SYS.DBA_DATA_FILES DD where

DD.TABLESPACE_NAME like 'SDP_%';

如果已经存在,执行命令会提示已经存在,如下图,

六、用户授权

grant create session,dba to SDP_PORTALMS_HRB;

七、建directory,目的是存放将要导入的dmp文件

格式:create or replace directory directory名 as 路径;

create or replace directory hrb_db as

'/usr/local/dbfile/hrb_sdp/161008';

注意这里提示路径新建完成了,实际没有建,linux需要自己

使用mkdir命令新建,windows新建文件夹就不多说了,这里

要重点说明的是linux新建后需要将所建的所有目录都chmod 777 目录名赋权,dmp、log名最好也赋权,否则会报一个不

能打开读取的错误。

建后目录路径后,需要将dmp文件复制到该路径下,如图:

八、directory赋予读写权限

Grant read,write on directory HRB_DB to SDP_PORTALMS_HRB;

Ps:查看目录及权限

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; 九、使用impdp泵导入

格式:

impdp用户名/密码[@10.9.217.3/orcl]schemas=与用户名对

应 directory=directory名(注意大写)dumpfile=dmp文件名

[logfile=导入日志名]job_name=与用户名对应;

如果是导入到本机的oracle,是可以省略[@10.9.217.3/orcl]的

impdp

SDP_PORTALMS_HRB/SDP_PORTALMS_HRB@10.9.217.3/orcl

schemas=SDP_PORTALMS_HRB directory=HRB_DB

dumpfile=SDP_PORTALMS_HRB_161008.dmp

logfile=SDP_PORTALMS_HRB_161008_imdp.log

job_name=SDP_PORTALMS_HRB;

注意:这一步的命令如果在linux上,切换到oracle账户就可执行,如果是在windows则需要远程连接到oracle所在的windows 后cmd执行。

这里补充说明下,如果导入命令执行后,报错出现大批量的creation failed或failed to create with error,则有可能是表空间没有建。

以上在sql命令执行的连接到服务器切换到oracle账号后,连接到oracle执行或者在本机cmd连接oracle后执行都可以。只是最后一步需要在linux下的oracle账号执行,或远程连接windows后cmd 下执行。

最后补充一句,使用impdp是可以不用建用户的,但是必须使用dba 用户,还要指定remap_schema。

例如:(SDP_CMS_HRB赋予过dba权限)

相关文档
最新文档