Oracle数据库的impdp导入操作以及dba_directories使用方法
2013-03-17 18:02
302 查看
--记得评论
今天从同事那里拿到了导出的dmp文件,当导入时发现了很多问题,记下来以免以后忘记,以下是本人的操作过程:
1.首先是创建一个文件夹dump,用来存放dmp文件,存放在E:\oracle\dump
2.然后是把同事那里拿来的表空间脚本执行完,我是用system执行的,下边是其中一段:
CREATE TABLESPACE UR_FWDJ_DATA DATAFILE
'E:\oracle\oradata\orcl\UR_FWDJ_DATA.dbf' SIZE 1060M AUTOEXTEND OFF,
'E:\oracle\oradata\orcl\UR_fwdj_data_2.dbf' SIZE 4684M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
3.创建好表空间之后,在dos命令下使用impdp导入,但之前需要做点准备工作:
3.1 创建逻辑目录,该命令不会再硬盘中创建真正的目录,最好使用system等管理员账户创建:
create or replace directory mydump as 'E:\oracle\dump';
3.2 查看是否正确创建(硬盘中也要有这个目录,Oracle并不关心该目录是否真的存在,如果不存在会报错):
select * from dba_directories;
3.3 目录创建好之后,就可以把读写权限授予特定用户:
grant read,write on dirrectory mydump to system;
3.3 这里同时提一下,如果创建的目录不对,修改,删除的命令:
修改:create or replace directory mydump as'F:\Program Files\file\top';
删除:drop directory mydump;
4.创建好目录之后,开始操作还原数据
impdp system/manager directory=mydump dumpfile=ur_fwdj.dmp logfile=ur_fwdj.log
5.执行过程中发现表空间不够用了,扩表空间:
alter database datafile'E:\ORACLE\ORADATA\ORCL\UR_FWDJ_DATA.DBF' resize 2000M;
发现在PL/SQL中执行会报:Oracle ORA-00911 无效字符,但只需要在dos下边执行就会成功,好奇怪!
6.有时候我们执行的过程中导入有错误,需要把导入的用户下的表都删除,删除表空间如下:
删除用户以及用户下的所有表:drop user ur_fwdj cascade;
删除表空间:drop tablespace ur_fwdj_data including contents and datafiles;
--如果删除空的表空间,但是不删除物理文件
drop tablespace ur_fwdj_data;
--如果是删除空的表空间并删除物理文件
drop tablespace ur_fwdj_data including datafiles
--如果是删除非空表空间,不删除物理文件
drop tablespace ur_fwdj_data including contents;
--如果是删除非空表空间并删除物理文件
drop tablespace ur_fwdj_data including contents and datafiles;
--如果其他表空间的表的外键约束关联到本表空间的表的字段时,就:
drop tablespace ur_fwdj_data including contents and datafiles cascade constrants;
所以上边删除表空间的意思明白了吧!
导出:
expdp
name/pass@test directory=mydump dumpfile=UR_FWDJ.DMP schemas=ur_fwdj(远程导出数据的一种方法)
注意的是如果UR_FWDJ.DMP是小写,我导入时有影响,大写就成功导入了,不知道什么原因
最后不要加分号,不然会提示目录名某某某无效!
----------------------------------------------------------------------------------------------------------------------------
参考文档:
http://www.2cto.com/database/201202/120126.html
今天从同事那里拿到了导出的dmp文件,当导入时发现了很多问题,记下来以免以后忘记,以下是本人的操作过程:
1.首先是创建一个文件夹dump,用来存放dmp文件,存放在E:\oracle\dump
2.然后是把同事那里拿来的表空间脚本执行完,我是用system执行的,下边是其中一段:
CREATE TABLESPACE UR_FWDJ_DATA DATAFILE
'E:\oracle\oradata\orcl\UR_FWDJ_DATA.dbf' SIZE 1060M AUTOEXTEND OFF,
'E:\oracle\oradata\orcl\UR_fwdj_data_2.dbf' SIZE 4684M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
3.创建好表空间之后,在dos命令下使用impdp导入,但之前需要做点准备工作:
3.1 创建逻辑目录,该命令不会再硬盘中创建真正的目录,最好使用system等管理员账户创建:
create or replace directory mydump as 'E:\oracle\dump';
3.2 查看是否正确创建(硬盘中也要有这个目录,Oracle并不关心该目录是否真的存在,如果不存在会报错):
select * from dba_directories;
3.3 目录创建好之后,就可以把读写权限授予特定用户:
grant read,write on dirrectory mydump to system;
3.3 这里同时提一下,如果创建的目录不对,修改,删除的命令:
修改:create or replace directory mydump as'F:\Program Files\file\top';
删除:drop directory mydump;
4.创建好目录之后,开始操作还原数据
impdp system/manager directory=mydump dumpfile=ur_fwdj.dmp logfile=ur_fwdj.log
5.执行过程中发现表空间不够用了,扩表空间:
alter database datafile'E:\ORACLE\ORADATA\ORCL\UR_FWDJ_DATA.DBF' resize 2000M;
发现在PL/SQL中执行会报:Oracle ORA-00911 无效字符,但只需要在dos下边执行就会成功,好奇怪!
6.有时候我们执行的过程中导入有错误,需要把导入的用户下的表都删除,删除表空间如下:
删除用户以及用户下的所有表:drop user ur_fwdj cascade;
删除表空间:drop tablespace ur_fwdj_data including contents and datafiles;
--如果删除空的表空间,但是不删除物理文件
drop tablespace ur_fwdj_data;
--如果是删除空的表空间并删除物理文件
drop tablespace ur_fwdj_data including datafiles
--如果是删除非空表空间,不删除物理文件
drop tablespace ur_fwdj_data including contents;
--如果是删除非空表空间并删除物理文件
drop tablespace ur_fwdj_data including contents and datafiles;
--如果其他表空间的表的外键约束关联到本表空间的表的字段时,就:
drop tablespace ur_fwdj_data including contents and datafiles cascade constrants;
所以上边删除表空间的意思明白了吧!
导出:
expdp
name/pass@test directory=mydump dumpfile=UR_FWDJ.DMP schemas=ur_fwdj(远程导出数据的一种方法)
注意的是如果UR_FWDJ.DMP是小写,我导入时有影响,大写就成功导入了,不知道什么原因
最后不要加分号,不然会提示目录名某某某无效!
----------------------------------------------------------------------------------------------------------------------------
参考文档:
http://www.2cto.com/database/201202/120126.html
相关文章推荐
- Oracle数据库的impdp导入操作以及dba_directories使用方法
- 关于Linux下使用expdp和impdp命令对Oracle数据库进行导入和导出操作
- 关于Linux下使用expdp和impdp命令对Oracle数据库进行导入和导出操作
- Oracle数据库备份dmp文件,使用cmd命令导入导出步骤,以及忘记Oracle密码
- Python使用xlrd模块操作Excel数据导入的方法
- 直接使用SQL操作Oracle空间数据的原理以及配置方法
- Python使用xlrd模块操作Excel数据导入的方法
- ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法
- oracle数据库导入导出之imp,exp,impdp,expdp等工具的使用
- Python使用xlrd模块操作Excel数据导入的方法
- 直接使用SQL操作Oracle空间数据的原理以及配置方法
- objective-c中对象所有权的内存管理(关于set,get方法),以及如何使用@property来进行简易操作
- Memcached 安装、使用(Python操作)以及常用方法
- oracle数据库互操作dblink使用方法
- android eclipse中导入framework.jar以及使用其隐藏类的方法
- ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法
- ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法
- ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法
- 在JSP中使用Cookie,以及操作中文的乱码解决方法
- 根据条件、参数使用EXPDP和IMPDP导入导出Oracle数据库