oracle EXP导入导出表

合集下载

使用imp和exp命令对Oracle数据库进行导入导出操作详解

使用imp和exp命令对Oracle数据库进行导入导出操作详解

使⽤imp和exp命令对Oracle数据库进⾏导⼊导出操作详解这⾥导⼊导出路径都在D盘下,默认⽂件名为:example.dmpexp⽅式导出数据相关参数项如下:关键字说明默认USERID⽤户名/⼝令FULL导出整个⽂件(N)BUFFER数据缓冲区的⼤⼩OWNER导出指定的所有者⽤户名列表FILE输出⽂件(EXPDAT.DMP)TABLES导出指定的表名列表COMPRESS是否压缩导出的⽂件(Y)RECORDLENGTH IO 记录的长度GRANTS导出权限(Y)INCTYPE增量导出类型INDEXES导出索引(Y)RECORD跟踪增量导出(Y)ROWS导出数据⾏(Y)PARFILE参数⽂件名CONSTRAINTS导出限制(Y)CONSISTENT交叉表⼀致性LOG屏幕输出的⽇志⽂件STATISTICS分析对象(ESTIMATE)DIRECT直接路径(N)TRIGGERS导出触发器(Y)FEEDBACK显⽰每 x ⾏ (0) 的进度FILESIZE各转储⽂件的最⼤尺⼨QUERY选定导出表⼦集的⼦句TRANSPORT_TABLESPACE导出可传输的表空间元数据(N)TABLESPACES导出指定的表空间列表1.完全导出(选项都为默认配置)例⼦:导出mydb数据库system⽤户,密码为123456的所有数据到D:\example.dmp⽂件中expsystem/**************.12.32/mydbfile=D:\example.dmp2.只导出表结构例⼦:导出mydb数据库system⽤户,密码为123456的所有表结构到D:\example.dmp⽂件中expsystem/**************.12.32/mydbfile=D:\example.dmprows=n3.将指定⽤户下的表导出例⼦:导出mydb数据库system和sys⽤户的所有表数据到D:\example.dmp⽂件中expsystem/**************.12.32/mydbfile=D:\example.dmpowner=(system,sys)4.将指定的表导出例⼦:导出mydb数据库system⽤户下的table1和table2表数据到D:\example.dmp⽂件中expsystem/**************.12.32/mydbfile=D:\example.dmptables=(table1,table2)imp⽅式导⼊数据相关参数项如下:关键字说明默认USERID⽤户名/⼝令FULL导⼊整个⽂件(N)BUFFER数据缓冲区⼤⼩FROMUSER所有⼈⽤户名列表FILE输⼊⽂件(EXPDAT.DMP)TOUSER⽤户名列表SHOW只列出⽂件内容(N)TABLES表名列表IGNORE忽略创建错误(N)RECORDLENGTH IO记录的长度GRANTS导⼊权限(Y)INCTYPE增量导⼊类型INDEXES导⼊索引(Y)COMMIT提交数组插⼊(N)ROWS导⼊数据⾏(Y)PARFILE参数⽂件名LOG屏幕输出的⽇志⽂件CONSTRAINTS导⼊限制(Y)DESTROY覆盖表空间数据⽂件(N)INDEXFILE将表/索引信息写⼊指定的⽂件SKIP_UNUSABLE_INDEXES跳过不可⽤索引的维护(N)FEEDBACK每 x ⾏显⽰进度TOID_NOVALIDATE跳过指定类型 ID 的验证FILESIZE每个转储⽂件的最⼤⼤⼩STATISTICS始终导⼊预计算的统计信息RESUMABLE在遇到有关空间的错误时挂起RESUMABLE_NAME⽤来标识可恢复语句的⽂本字符串RESUMABLE_TIMEOUT RESUMABLE 的等待时间COMPILE编译过程, 程序包和函数(Y)STREAMS_CONFIGURATION导⼊ Streams 的⼀般元数据(Y)STREAMS_INSTANITATION导⼊ Streams 的实例化元数据(N)TRANSPORT_TABLESPACE导⼊可传输的表空间元数据TABLESPACES将要传输到数据库的表空间DATAFILES将要传输到数据库的数据⽂件TTS_OWNERS拥有可传输表空间集中数据的⽤户1.导⼊⼀个完整的库例⼦:将D:\example.dmp⽂件中的库导⼊到mydb下的system⽤户中impsystem/**************.12.32/mydbfile=D:\example.dmpfull=yignore=y到此这篇关于使⽤imp和exp命令对Oracle数据库进⾏导⼊导出操作详解的⽂章就介绍到这了,更多相关Oracle数据库exp和imp 导⼊导出内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

Oracle中的导入导出表及数据

Oracle中的导入导出表及数据

Oracle中的导入导出表及数据Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。

exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。

利用这个功能可以构建两个相同的数据库。

1.用plsql实现1.1使用plsql连接oracle,点击工具——导出表1.2选择要导出的表1.3可执行文件在C:\oracle\product\10.2.0\db_1\bin 目录下导出是exp 导入是imp导出的为dmp文件1.4导入文件:点击工具——导入表在导入文件中选择要导入的表确认后点击导入2.用dos命令实现2.1Windows——R——cmd2.2输入dos命令:exp youngtop_us/ail@192.168.0.46/orcl10g file=F:/fileSys.dmp log=F:/fileSys.logstatistics=none tables=file_attach,file_tree,file_permissionps:exp user/password@主机地址file=存储位置log=存储位置statistics=none tables=tablename3.将数据导出到excel表中及将excel表数据导入数据库3.1选中要导出数据的表右键——查询数据3.2选中表中的数据邮件——复制到excel3.3在excel中保存3.4可以不按照数据库中的字段存放顺序,编辑形成Excel表中的数据3.5选中要导入的数据后另存一份txt文档3.6在plsql中点击工具——文本导入器进入到文本导入器的页面后,先点击“来自文本文件的数据”选项卡,然后点击打开按钮,选择数据录入.txt文件3.7在配置中进行配置如果不将标题名勾选上,则会导致字段名也当做记录被导入到数据库中,影响正确录入3.8点击导入按钮将数据导入oracle数据库中。

Oracle导入与导出(即备份与恢复)

Oracle导入与导出(即备份与恢复)
TABLESPACES 将传输的表空间列表
在没有警告的情况下成功终止导出。
IMP jwd/jwd@ps D:\DD\PHARMACY.DMP FULL=Y ****************
********************************
3. 导出工具exp非交互式命令行方式的例子
$exp scott/tiger tables=emp,dept file=/directory/scott.dmp grants=y
说明:把scott用户里两个表emp,dept导出到文件/directory/scott.dmp
$exp scott/tiger tables=emp query=\"where job=\'salesman\' and sal\<1600\" file=/directory/scott2.dmp
参数文件username.par内容
userid=username/userpassword
buffer=8192000
compress=n
grants=y
说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改
filesize指定生成的二进制备份文件的最大字节数
(可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等)
4. 命令参数说明
关键字 说明(默认)
---------------------------------------------------
USERID 用户名/口令
FULL 导出整个文件 (N)
Oracle支持三种类型的输出:

ORACLE EXP IMP 导入导出 表 实例 解决如何导出空表

ORACLE EXP IMP 导入导出 表 实例 解决如何导出空表

查看具体的命令模式$ exp help=y$ imp help=y一、导出工具exp1 它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/binexp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移它有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据;b. 表模式:导出用户所有表或者指定的表;c. 整个数据库:导出数据库中所有对象。

二、导入工具imp它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/binimp导入工具将EXP形成的二进制系统文件导入到数据库中.它有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据;b. 表模式:导出用户所有表或者指定的表;c. 整个数据库:导出数据库中所有对象。

只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入导入导出(imp/exp) 某个用户表下面的所有数据注意:必须是用oracle用户登录1、导出某个用户的所有对象exp testa/testa@orcl owner= testa file=/home/oracle/testa.dmp 如果有多个用户的话,可以用逗号隔开如exp testa/testa@orcl owner=(testa,testb)file=/home/oracle/testa.dmp2、导入某个用户的数据imp testa/testa@orcl fromuser =testa touser =testafile=/home/oracle/testa.dmp注意:注:如果在导入时有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上ignore=y 就可以了。

要保证导入的用户的表空间的名称和导出的表空间名称是一样的导入前最好保证要导入用户里面没有重复的对象和数据,要不导入会不成功。

3、导出和导入某个用户下的某张表exp test/test@orcl file=/home/oracle/Desktop/t_area.dmplog=t_area.log tables=t_areaExport: Release 11.2.0.1.0 - Production on Mon May 7 15:03:47 2012Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsExport done in ZHS16GBK character set and AL16UTF16 NCHAR character setserver uses AL32UTF8 character set (possible charset conversion) About to export specified tables via Conventional Path .... . exporting table T_AREA 31 rows exportedEXP-00091: Exporting questionable statistics.Export terminated successfully with warnings.会出现这个提示是因为终端的字符集和数据库的字符集不一样,解决方法是将终端的字符集设置的和数据库的一样,这样之后,有关数据库的提示从英文也变成中文解决步骤:oracle身份登陆sqlplus / as sysdbaSQL> select PROPERTY_VALUE from database_properties where property_name like '%SET%';PROPERTY_VALUE--------------------------------------------------------------------------------AL32UTF8AL16UTF16然后退出sqlplus,回到linux终端echo $NLS_LANGAMERICAN_AMERICA.ZHS16GBKexport NLS_LANG="Simplified Chinese_china.AL32UTF8"exp test/test@orcl file=t_area.dmp log=t_area.log tables=t_area Export: Release 11.2.0.1.0 - Production on 星期一 5月 7 15:04:44 2012Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options已导出 AL32UTF8 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的表通过常规路径.... . 正在导出表 T_AREA导出了 31 行成功终止导出, 没有出现警告。

exp语句导出表结构建表语句

exp语句导出表结构建表语句

exp语句导出表结构建表语句
EXP是Oracle数据库中的一个工具,用于数据的导入和导出操作。

通过EXP语句,我们可以将指定的表或视图的数据和结构导出为一
个.dmp文件,然后可以使用IMP或IMPDP命令将该.dmp文件导入到另
一个数据库中。

下面是一个示例的EXP语句,用于导出一个表的结构和数据:
EXP username/password@database FILE=export.dmp
TABLES=table_name
上述语句中,username是数据库用户的名称,password是用户的
密码,database是数据库的连接信息,export.dmp是导出的文件名,table_name是要导出的表的名称。

需要注意的是,如果只想导出表结构而不导出数据,可以加上参
数ROWS=N,示例:
EXP username/password@database FILE=export.dmp
TABLES=table_name ROWS=N
在实际使用中,我们还可以通过EXP语句的其他参数来控制导出的内容,例如:
- QUERY:通过指定查询条件,只导出满足条件的数据;
- WHERE:通过指定WHERE子句,只导出满足条件的数据;
- INDEXES、GRANTS、CONSTR。

Oracleexp及imp导出导入工具的使用(全)

Oracleexp及imp导出导入工具的使用(全)

Oracleexp及imp导出导入工具的使用(全)ORACLE EXP/IMP的使用详解1导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。

当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议。

对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现, EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。

下面说明一下EXP/IMP的使用。

如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中文显示,如果set nls_lang=American_america.字符集,那么帮助就是英文的了EXP的所有参数(括号中为参数的默认值:USERID 用户名/口令如:USERID=duanl/duanlFULL 导出整个数据库(NBUFFER 数据缓冲区的大小OWNER 所有者用户名列表,你希望导出哪个用户的对象,就用owner=username FILE 输出文件(EXPDAT.DMPTABLES 表名列表,指定导出的table名称,如:TABLES=table1,table2COMPRESS 导入一个extent (YRECORDLENGTH IO 记录的长度GRANTS 导出权限(YINCTYPE 增量导出类型INDEXES 导出索引(YRECORD 跟踪增量导出(YROWS 导出数据行(YPARFILE 参数文件名,如果你exp的参数很多,可以存成参数文件. CONSTRAINTS 导出约束(YCONSISTENT 交叉表一致性LOG 屏幕输出的日志文件STATISTICS 分析对象(ESTIMATEDIRECT 直接路径(NTRIGGERS 导出触发器(YFEEDBACK 显示每x 行(0 的进度FILESIZE 各转储文件的最大尺寸QUERY 选定导出表子集的子句下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N TABLESPACES 将传输的表空间列表IMP的所有参数(括号中为参数的默认值:USERID 用户名/口令FULL 导入整个文件(NBUFFER 数据缓冲区大小FROMUSER 所有人用户名列表FILE 输入文件(EXPDAT.DMPTOUSER 用户名列表SHOW 只列出文件内容(NTABLES 表名列表IGNORE 忽略创建错误(N RECORDLENGTH IO 记录的长度GRANTS 导入权限(YINCTYPE 增量导入类型INDEXES 导入索引(YCOMMIT 提交数组插入(NROWS 导入数据行(YPARFILE 参数文件名LOG 屏幕输出的日志文件CONSTRAINTS 导入限制(Y DESTROY 覆盖表空间数据文件(N INDEXFILE 将表/索引信息写入指定的文件SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护(NANALYZE 执行转储文件中的ANALYZE 语句(YFEEDBACK 显示每x 行(0 的进度TOID_NOVALIDATE 跳过指定类型id 的校验FILESIZE 各转储文件的最大尺寸RECALCULATE_STATISTICS 重新计算统计值(N下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导入可传输的表空间元数据(NTABLESPACES 将要传输到数据库的表空间DATAFILES 将要传输到数据库的数据文件TTS_OWNERS 拥有可传输表空间集中数据的用户关于增量参数的说明:exp/imp的增量并不是真正意义上的增量,所以最好不要使用。

oracle EXP导入导出表

oracle EXP导入导出表

C:\Documents and Settings\Administrator>expExport: Release 10.1.0.2.0 - Production on 星期一10月11 21:22:09 2010 Copyright (c) 1982, 2004, Oracle. All rights reserved.用户名: scott口令:tiger连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - ProductionWith the Partitioning, OLAP and Data Mining options输入数组提取缓冲区大小: 4096 >导出文件: EXPDA T.DMP > e:\dump\dept.dmp(2)U(用户), 或(3)T(表): (2)U > t导出表数据(yes/no): yes > yes压缩区(yes/no): yes > yes已导出ZHS16GBK 字符集和AL16UTF16 NCHAR 字符集即将导出指定的表通过常规路径...要导出的表(T) 或分区(T: P): (按RETURN 退出) > dept. . 正在导出表DEPT导出了 4 行要导出的表(T) 或分区(T: P): (按RETURN 退出) > emp. . 正在导出表EMP导出了14 行要导出的表(T) 或分区(T: P): (按RETURN 退出) >导出成功终止, 但出现警告。

C:\Documents and Settings\Administrator>C:\Documents and Settings\Administrator>impImport: Release 10.1.0.2.0 - Production on 星期一10月11 21:31:24 2010 Copyright (c) 1982, 2004, Oracle. All rights reserved.用户名: scott口令:连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options导入文件: EXPDA T.DMP> e:\dump\dept.dmp输入插入缓冲区大小(最小为8192) 30720>经由常规路径由EXPORT:V10.01.00 创建的导出文件已经完成ZHS16GBK 字符集和AL16UTF16 NCHAR 字符集中的导入只列出导入文件的内容(yes/no): no >由于对象已存在, 忽略创建错误(yes/no): no > yes导入权限(yes/no): yes >导入表数据(yes/no): yes >导入整个导出文件(yes/no): no > yes. 正在将SCOTT 的对象导入到SCOTT. . 正在导入表"DEPT"。

使用exp和imp导入导出指定表

使用exp和imp导入导出指定表

使⽤exp和imp导⼊导出指定表从源数据库导出:这种⽅式,包含创建表,插⼊数据,所以,⽬标应没有这个表exp user1/pwd@server1 file=c:\temp\exp.dmp tables=(table1, table2)例如:exp platadmin/plat_8admin@hkserver32 file=d:\hkdata.dmp tables=(REPORT_DRIVERATTENDANCE_day,REPORT_DRIVERATTENDANCE_MONTH)我试了⼀下,在本地不能导出,还是得在服务器上导,在服务器上导很快,⼏⼗万条数据的表,⼀两秒钟就导出完了导⼊到⽬标数据库:imp user2/pwd@server2 file=c:\temp\exp.dmp tables=(table1, table2)例如:导⼊也很快,⼀两秒钟imp platadmin/plat_8admin@orclgis file=d:\hkdata.dmp tables=(REPORT_DRIVERATTENDANCE_day,REPORT_DRIVERATTENDANCE_MONTH)1Oracle就是有这个好处,可以直接将远程的数据导出到本地;或者将本地的数据⽂件导⼊到远程数据库。

⽽SQL SERVER的备份、还原⽂件,⼀定是放在远程服务器本机的。

补充⼀下,如果有许多表,那么以上语句可能会换⾏。

但以上命令是在DOS命令窗⼝执⾏的,命令⾏⽅式,容不得换⾏。

那咋办呢?我的笨办法是将语句拷贝到WORD⽂档,然后将回车换⾏符替换掉。

替换的⽅法:在替换窗⼝,查找内容输⼊ ^p(注意是⼩写),替换内容为空,然后替换即可。

=====================================以 sysdba ⾝份运⾏,导出导⼊指定⽤户所属表:exp ‘sys/123456@Service1 as sysdba’ file=c:\temp\exp.dmp tables=(sde.ISLAND)imp ‘sys/888888@Service2 ’ file=c:\temp\exp.dmp fromuser=sde tables=(ISLAND)=================================================如果表空间的名字不⼀样,会报 ORA-00959 错误,咋办?1、先从源数据库,导出建表脚本(DDL)2、在新库新表空间⾥运⾏这些DDL3、imp,加上fromuser,touser,ignore=Y选项imp 'sys/lt@HPM as sysdba' file=c:\temp\base.dmp fromuser=hydg touser=hpm tables=(org_user,SYS_ONLINE,sys_userRoles,Org_Role,Org_Group,sys_Event) ignore=Y1有关ORA-00959 错误的应对之道,参考⽂章:。

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

C:\Documents and Settings\Administrator>exp
Export: Release 10.1.0.2.0 - Production on 星期一10月11 21:22:09 2010 Copyright (c) 1982, 2004, Oracle. All rights reserved.
用户名: scott
口令:tiger
连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
输入数组提取缓冲区大小: 4096 >
导出文件: EXPDA T.DMP > e:\dump\dept.dmp
(2)U(用户), 或(3)T(表): (2)U > t
导出表数据(yes/no): yes > yes
压缩区(yes/no): yes > yes
已导出ZHS16GBK 字符集和AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
要导出的表(T) 或分区(T: P): (按RETURN 退出) > dept
. . 正在导出表DEPT导出了 4 行
要导出的表(T) 或分区(T: P): (按RETURN 退出) > emp
. . 正在导出表EMP导出了14 行
要导出的表(T) 或分区(T: P): (按RETURN 退出) >
导出成功终止, 但出现警告。

C:\Documents and Settings\Administrator>
C:\Documents and Settings\Administrator>imp
Import: Release 10.1.0.2.0 - Production on 星期一10月11 21:31:24 2010 Copyright (c) 1982, 2004, Oracle. All rights reserved.
用户名: scott
口令:
连接到: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options
导入文件: EXPDA T.DMP> e:\dump\dept.dmp
输入插入缓冲区大小(最小为8192) 30720>
经由常规路径由EXPORT:V10.01.00 创建的导出文件
已经完成ZHS16GBK 字符集和AL16UTF16 NCHAR 字符集中的导入
只列出导入文件的内容(yes/no): no >
由于对象已存在, 忽略创建错误(yes/no): no > yes
导入权限(yes/no): yes >
导入表数据(yes/no): yes >
导入整个导出文件(yes/no): no > yes
. 正在将SCOTT 的对象导入到SCOTT
. . 正在导入表"DEPT"。

成功终止导入, 但出现警告。

C:\Documents and Settings\Administrator>。

相关文档
最新文档