Oracle数据导入导出imp/exp
功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。
Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接
(通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端 修了条路,然后数据就可以被拉过来了)
这样你可以把数据导出到本地,虽然可能服务器离你很远。
你同样可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中 安装目录\$ora10g\BIN被设置为全局路径,
该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了
数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
注意:
你要有足够的权限,权限不够它会提示你。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
数据导出:
exp hkb/hkb@boss_14 full=y file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbfull.log;
导出注意事项:导出的是当前用户的的数据,当前用户如果有DBA的权限,则导出所有数据!
同名用户之间的数据导入:
imp hkb/hkb@xe file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y
不同名之间的数据导入:
imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmp
log=c:\orabackup\hkbimp.log;
oracle导入导出数据库
一,赋予导入,导出权限
oracle导入,导出数据库,要有权限,下面是我把导入,导出的权限付给tank这个用户
grant EXP_FULL_DATABASE,IMP_FULL_DATABASE to tank
二,导出数据库和表
1,导出全库
exp tank/tank@TEST file=/home/zhangying/ora_bak/test.dump full=y
2,导出tank这个用户的表
exp tank/tank@TEST file=/home/zhangying/ora_bak/test_tank.dump owner=tank
3,导出部分表
exp tank/tank@TEST file=/home/zhangying/ora_bak/test_part.dump tables=TEST1,TEST2 compress=y
Export: Release 10.2.0.1.0 - Production on Wed Jun 29 11:51:02 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses WE8ISO8859P1 character set (possible charset conversion)
About to export specified tables via Conventional Path ...
. . exporting table TEST1
. . exporting table TEST2 0 rows exported
Export terminated successfully without warnings.
exp
tank/tank@TEST file=/home/zhangying/ora_bak/test_part.dump tables=(TEST1,TEST2)
bash:
在未预料的“(”附近出现语法错误
网上有很多tables=(TEST1,TEST2)这样的写法,oracle
10g这样种写法肯定是不行的。
4,导出表中的部分数据
exp tank/tank@TEST file=/home/zhangying/ora_bak/test_part.dump tables=TEST QUERY=\" where city=2 \"
EXP-00019:
failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000:
Export terminated unsuccessfully
不要忘了加上\,不然会报错的,网上有很多是这样写的,QUERY="
where city=2 "是不加\的,但这样写是报错的,至少oracle 10g是报错的。
三,导入数据库表
1,整库导入
imp tank/tank file=/home/zhangying/ora_bak/test.dump full=y
2,导入部分表
imp tank/tank file=/home/zhangying/ora_bak/test.dump tables=TEST1,TEST2
如果导出时就是部分表,那就不用指定表了。
分享到:
相关推荐
本文将深入探讨Oracle数据库的导入导出命令,特别是如何更改字符集的相关知识。 首先,Oracle数据库提供了两种主要的数据导入导出工具:`expdp`(Export Data Pump)和`impdp`(Import Data Pump)。这两个实用程序...
Oracle数据库导入导出命令详解 Oracle数据库导入导出命令是数据库管理员和开发人员必备的技能之一。今天,我们将详细介绍如何使用命令行来操作Oracle数据库的导入和导出。 备份数据 备份数据是数据库管理员的重要...
1. **Oracle数据库导入导出的重要性** - 数据迁移:当需要将数据从一个Oracle实例迁移到另一个实例时,导入导出工具是关键。 - 数据备份:定期备份数据库以防止数据丢失,确保业务连续性。 - 数据恢复:在系统...
### Oracle数据库导入导出命令详解 #### 一、Oracle 导入导出命令概述 Oracle 数据库提供了强大的数据导入导出功能,通过 `exp` 和 `imp` 命令来实现数据的备份与恢复。这些命令对于日常的数据库管理来说至关重要...
Oracle数据库导入导出命令(备份与恢复) Oracle数据库是目前最流行的RELATIONAL DATABASE MANAGEMENT SYSTEM(关系数据库管理系统),它提供了强大且灵活的数据存储和管理功能。为了确保数据的安全和可靠性,Oracle...
**二、Oracle数据库导入命令(IMP)** 1. **USERID参数** 和导出命令类似,`USERID=demo2/demopwd@orcl`用于指定导入数据时连接到数据库的凭证。这里的`demo2`和`demopwd`是新的用户名和密码,`orcl`仍然是服务名...
最近做项目的时候遇到过oracle数据库导入导出,在这里我做下记录,防止自己忘记了,有什么不对或者不足的地方,欢迎广大博友拍砖,哈哈~导出命令:1)单表导出:exp 用户名/密码@服务器别名 tables=表名 file=d:\名称...
Oracle数据库的导入导出是数据库管理中常见的操作,主要用于数据迁移、备份恢复和系统复制等场景。本文将详细讲解Oracle数据库的DMP文件及其相关的EXP(导出)和IMP(导入)工具。 DMP文件是Oracle数据库的转储文件...
总的来说,这个"Oracle导入导出命令bat执行命.rar"文件提供了一套全面的解决方案,可以帮助数据库管理员简化Oracle数据库的维护工作。通过自动化这些过程,用户可以节省大量手动操作的时间,同时减少人为错误的可能...
2. **Oracle数据库导入(Import)** - **获取帮助**:`imp help=y`同样适用于查看导入命令的帮助。 - **完整数据库导入**:`imp system/manager file=bible_db log=dible_db full=y ignore=y`将整个数据库导入,`...
Oracle数据库的导入导出是数据库管理中的重要环节,主要用于数据迁移、备份恢复和系统复制等操作。本篇文章将深入探讨Oracle数据库的导入导出过程,以及处理“process挂起”问题的方法。 首先,Oracle数据库提供了...
### Oracle数据库导入导出知识点详解 #### 一、Oracle数据库导入导出概述 Oracle数据库导入导出是数据库管理员经常使用的工具之一,它主要用于备份数据库、迁移数据或在不同环境中复制数据库结构与数据。通过导入...
#### Oracle数据库导入导出概述 Oracle提供了多种方式来备份数据库,包括逻辑备份、物理文件备份以及使用RMAN的增量物理文件系统备份。其中,逻辑备份主要依赖于`IMP&EXP`命令,用于导出和导入数据库中的数据、结构...
### ORACLE数据库导入导出详解 #### 一、概述 Oracle数据库是一款广泛应用于企业级环境中的关系型数据库管理系统。在日常运维与管理过程中,经常需要对数据库中的数据进行备份、恢复或者迁移操作。其中,Oracle...