Oracle数据库的impdp导入操作以及dba_directories使用方法

前端之家收集整理的这篇文章主要介绍了Oracle数据库的impdp导入操作以及dba_directories使用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Oracle数据库的impdp导入操作以及dba_directories使用方法@H_404_1@


@H_404_1@


@H_404_1@

今天从同事那里拿到了导出的dmp文件,当导入时发现了很多问题,记下来以免以后忘记,以下是本人的操作过程:@H_404_1@

1.首先是创建一个文件夹dump,用来存放dmp文件,存放在E:\oracle\dump@H_404_1@

2.然后是把同事那里拿来的表空间脚本执行完,我是用system执行的,下边是其中一段:@H_404_1@

CREATE TABLESPACE UR_FWDJ_DATA DATAFILE@H_404_1@

'E:\oracle\oradata\orcl\UR_FWDJ_DATA.dbf' SIZE 1060M AUTOEXTEND OFF,@H_404_1@

'E:\oracle\oradata\orcl\UR_fwdj_data_2.dbf' SIZE 4684M AUTOEXTEND OFF@H_404_1@

LOGGING@H_404_1@

ONLINE@H_404_1@

PERMANENT@H_404_1@

EXTENT MANAGEMENT LOCAL AUTOALLOCATE@H_404_1@

BLOCKSIZE 8K@H_404_1@

SEGMENT SPACE MANAGEMENT AUTO@H_404_1@

FLASHBACK ON;@H_404_1@

3.创建好表空间之后,在dos命令下使用impdp导入,但之前需要做点准备工作:@H_404_1@

3.1 创建逻辑目录,该命令不会再硬盘中创建真正的目录,最好使用system等管理员账户创建:@H_404_1@

create or replace directory mydump as 'E:\oracle\dump';@H_404_1@

3.2 查看是否正确创建(硬盘中也要有这个目录,Oracle并不关心该目录是否真的存在,如果不存在会报错):@H_404_1@

select * from dba_directories;@H_404_1@

3.3 目录创建好之后,就可以把读写权限授予特定用户:@H_404_1@

grant read,write on dirrectory mydump to system;@H_404_1@

3.3 这里同时提一下,如果创建的目录不对,修改删除的命令:@H_404_1@

修改:create or replace directory mydump as'F:\Program Files\file\top';@H_404_1@

删除:drop directory mydump;@H_404_1@

4.创建好目录之后,开始操作还原数据@H_404_1@

impdp system/manager directory=mydump dumpfile=ur_fwdj.dmp logfile=ur_fwdj.log@H_404_1@

5.执行过程中发现表空间不够用了,扩表空间:@H_404_1@

alter database datafile'E:\ORACLE\ORADATA\ORCL\UR_FWDJ_DATA.DBF' resize 2000M;@H_404_1@

发现在PL/sql中执行会报:Oracle ORA-00911 无效字符,但只需要在dos下边执行就会成功,好奇怪!@H_404_1@

6.有时候我们执行的过程中导入有错误,需要把导入的用户下的表都删除删除表空间如下:@H_404_1@

删除用户以及用户下的所有表:drop user ur_fwdj cascade;@H_404_1@

删除表空间:drop tablespace ur_fwdj_data including contents and datafiles;@H_404_1@

--如果删除空的表空间,但是不删除物理文件@H_404_1@

drop tablespace ur_fwdj_data;@H_404_1@

--如果是删除空的表空间并删除物理文件@H_404_1@

drop tablespace ur_fwdj_data including datafiles@H_404_1@

--如果是删除非空表空间,不删除物理文件@H_404_1@

drop tablespace ur_fwdj_data including contents;@H_404_1@

--如果是删除非空表空间并删除物理文件@H_404_1@

drop tablespace ur_fwdj_data including contents and datafiles;@H_404_1@

--如果其他表空间的表的外键约束关联到本表空间的表的字段时,就:@H_404_1@

drop tablespace ur_fwdj_data including contents and datafiles cascade constrants;@H_404_1@

所以上边删除表空间的意思明白了吧!@H_404_1@

导出:@H_404_1@

expdp name/pass@test directory=mydump dumpfile=UR_FWDJ.DMP schemas=ur_fwdj(远程导出数据的一种方法)@H_404_1@

注意的是如果UR_FWDJ.DMP是小写,我导入时有影响,大写就成功导入了,不知道什么原因@H_404_1@

最后不要加分号,不然会提示目录名某某某无效!@H_404_1@

猜你在找的Oracle相关文章