oracle数据库导入导出方法

Oracle Database 10g以后引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中。
 
数据泵导出导入(EXPDP和IMPDP)的作用
 
 1、实现逻辑备份和逻辑恢复。
 
 2、在数据库用户之间移动对象。
 
 3、在数据库之间移动对象
 
 4、实现表空间搬移。

数据泵导出导入与传统导出导入的区别:
 
在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项;
 
EXP和IMP是客户段工具程序,它们既可以在客户端使用,也可以在服务器段使用。
 
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用
 
IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
 
 
今天我在导入同事给我的数据文件时,总是报IMP-00038错误,提示,无法转换为环境字符集句柄,造成这种错误的原因一般是数据库版本不匹配,但是我们使用的都是oracle11g,就排除了这种可能。最后发现原因是他是使用数据泵导出的数据文件,而我使用传统imp命令导入是不可以的,后续改为使用impdp数据泵导入成功。
 
下面是我使用数据泵导入数据文件的完整过程:
 
1、使用system用户登录数据库,创建新用户usertest(新建用户时用户名最好和数据文件导出时的用户名相同),表空间可以使用系统默认的也可以自己新建一个表空间。sql代码如下:
 
新建用户使用oracle默认表空间:
create user usertest identified by usertest; 
 
新建表空间:
create tablespace user_all 
datafile ‘D:/dev/oracle/tablespace/user_all.dbf‘
size 300M   
autoextend on   
next 50M   
maxsize unlimited 
 
新建用户(设置默认表空间):
create user usertest identified by usertest default tablespace user_all;
 
2、对新建的用户赋权限,dba、connect、resource。sql代码如下:

grant connect, resource,dba to usertest;
 
3、为数据库导入导出,新建目录文件 如dumpdir
 
create directory 目录名称 as ‘数据库服务器上的一个目录‘,如:
create directory dumpdir as ‘d:\服务器目录名‘;
将导入或导出的文件放在这个目录下
 
4、为此用户的导入导出目录赋读写权限
grant read,write on directory dumpdir to usertest;

5、导出及导入
以SID=orcl,导出dmp的账号为usertest,导入dmp的账号为usertest为例。

若将数据从sfz中导出:
expdp usertest/[email protected] directory=dumpdir  dumpfile=导出文件名

导入到usertest中:
impdp usertest/[email protected] directory=dumpdir  dumpfile=导出文件名.dmp
 
导入导出用户名最好相同,用户名不同时,还需要做个映射
 
remap_schema=test:usertest

注意在使用本地数据库时,要启动以下oracle服务:
 
OracleOraDb11g_home1TNSListener
OracleServiceORCL

如果只是连接远程服务器上的数据库,仅使用PL/SQL工具,那么可以把服务全停,这样能省点内存。

时间: 2024-07-30 13:46:44

oracle数据库导入导出方法的相关文章

oracle数据库导入导出命令!

Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失). Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端 修了条路,然后数据就可以被拉过来了) 这样你可以把数据导出到本地,虽然可能服务器离你很远

Oracle数据库导入导出实战总结(同版本)

今天闲來无事,就导了一个数据库玩玩,顺便总结下 0.cmd 命令 管理员权限登录数据库 sqlplus /  as sysdba 1.cmd 连接远程数据库 sqlplus xn_balance/[email protected]:1521/orcl --------导出 2.cmd 命令导出数据库(没必要连上数据库,直接导) exp xn_balance/[email protected]:1521/orcl file=d:/daochu.dmp full=y 3. 将数据库中system用户

ORacle数据库导入导出数据

一.导出1.导出整个数据库通用命令:exp 数据库用户名/数据库密码@数据库别名 file=E:\目录\文件名.dmp举例:exp gwyxgldb /gwyxgldb @192.168.0.31  file=d:\gwyxgldb.dmp 2.导出部分表通用命令exp 数据库用户名/数据库密码@数据库别名 GRANTS=Y TABES=(要导出的表1, 要导出的表2,...) file=E:\目录\文件名.dmp exp gwyxgldb /gwyxgldb @192.168.0.31 gra

Oracle数据库导入导出逻辑备份方法总结

[EXP常用参数] USERID  即用户名/密码该参数就必须且为第一个: FILE    指定数据输出文件路径: LOG     指定日志输出文件路径: TABLES  导出指定表数据: FULL    完全导出整个文件(N): ROWS    导出数据行(Y): QUERY   用于导出表的子集的 select 子句: [示例] 1.[全库模式]将数据库orcl完全导出,用户名scott密码scott数据文件导出到D:/orcl/scott.dmp,日志文件到出到D:/orcl/scott.

Oracle数据库导入导出

一.准备工作 创建表空间: create temporary tablespace yangwen_temp tempfile 'D:\oracle\oradata\orcl\yangwen_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; create tablespace yangwen_data logging datafile 'D:\oracle\oradata\orcl\

Oracle数据库导入导出命令总结

分类: Linux Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中.利用这个功能我们可以从生产库中导出数据库,再导入数据库到测试库中. 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行是由于在oracle中,安装目录\ora9i\bin被设置为全局路径(也可直接在系统环境变量中设置),该目录下有EXP.EXE与IMP

Oracle 数据库导入导出 dmp文件

首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用命令导入.导出数据.补充:1.要新建一个数据库: Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可 以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本 地导入到远处的数据库服务器中. 利用这个功能可以构建两个相同的数据库,一 个用来测试,一个用来正式使用.例如:imp命令导入数据:imp username/[email protected]SI

oracle数据库导入导出命令

大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失). Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端 修了条路,然后数据就可以被拉过来了) 这样你可以把数据导出到本地,虽然可能服务器离你很远. 你同样可以把dmp文件从本地导入到远处的数据库服务器中. 利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用

oracle数据库导入导出步骤

数据库备份(导出): 首先:连接dba数据库方法:连接数据库用sysdba,用户名: sys 密码: oracle 第一种方法: sqlplus /nolog conn sys/[email protected] as sysdba 第二种方法: sqlplus sys/[email protected] as sysdba 一.备份整个数据库 1).全库方式,导出整个数据库中所有的对象,但并不包括sys用户中的对象,即数据字典无法导出. exp user/[email protected]_n