oracle import命令使用浅解
oracle的Export、Import详解

1、export/import的用处oracle export/import工具用于在数据库之间传递数据。
export从数据库中导出数据到dump文件中import从dump文件中到入数据导数据库中下面是一般使用他们的情况(1)两个数据库之间传送数据同一个版本的oracle server之间不同版本的oracle server之间同种os之间不同种os之间(2)用于数据库的备份和恢复(3)从一个schema传送到另一个schema(4)从一个tablespace传送到另一个tablespace2、dump文件export到出的是二进制格式的文件,不可以手工编辑,否则会损坏数据。
该文件在oracle支持的任何平台上都是一样的格式,可以在各平台上通用。
dump文件在import时采用向上兼容方式,就是说oralce7的dump文件可以导入到oracle8中,但是版本相差很大的版本之间可能有问题。
3、export/import过程export导出的dump文件包含两种基本类型的数据- ddl (data dictionary language)- datadump文件包含所有重新创建data dictionary的ddl语句,基本上是可以读的格式。
但是应该注意的是,千万不要用文本编辑器编辑之,oracle说不支持这样做的。
下面列出的是dump文件中包括的oracle对象,分为table/user/full方式,有些对象只是在full方式下才有(比如public synonyms, users, roles, rollback segments等)table mode user mode full database mode---------------------- ---------------------- -------------------------table definitions table definitions table definitionstable data table data table dataowner's table grants owner's grants grantsowner's table indexes owner's indexes indexestable constraints table constraints table constraintstable triggers table triggers all triggersclusters clustersdatabase links database linksjob queues job queuesrefresh groups refresh groupssequences sequencessnapshots snapshotssnapshot logs snapshot logsstored procedures stored proceduresprivate synonyms all synonymsviews viewsprofilesreplication catalogresource costrolesrollback segmentssystem audit optionssystem privilegestablespace definitionstablespace quotasuser definitions4、import时的对象倒入顺序在倒入数据时,oracle有一个特定的顺序,可能随数据库版本不同而有所变化,但是现在是这样的。
Oracle Export/Import数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种方法Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。
导出备件是一种逻辑备份,冷备份和热备份是物理备份。
一、导出/导入(Export/Import)利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导入数据(Import)Oracle支持三种方式类型的输出:(1)、表方式(T方式),将指定表的数据导出。
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、增量导出/导入增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。
在进行此种导出时,系统不要求回答任何问题。
导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
增量导出包括三种类型:(1)、“完全”增量导出(Complete)即备份三个数据库,比如:exp system/manager inctype=complete file=040731.dmp(2)、“增量型”增量导出备份上一次备份后改变的数据,比如:exp system/manager inctype=incremental file=040731.dmp(3)、“累积型”增量导出累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。
比如:exp system/manager inctype=cumulative file=040731.dmp数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
Oracle 9i培训胶片中文版-4_2.Export和Import的使用-caith

11
华为机密, 华为机密,未经许可不得扩散 文档密级: 文档密级:内部公开
Import 模式
模式
Table User Tablespace Full Database
描述
获取指定的表. 获取指定的表 获取一个用户的所有对象 获取一个表空间的所有对象 获取输出文件的所有对象
12
华为机密, 华为机密,未经许可不得扩散 文档密级: 文档密级:内部公开
直接路径导出的限制
不能使用交互模式. 客户端和服务端字符集必须一致. BUFFER参数不起作用. 不能包含带有 LOB, BFILE, REF, or object 形式的字段. ,
10
华为机密, 华为机密,未经许可不得扩散 文档密级: 文档密级:内部公开
使用 Import 工具恢复
获取建表定义 从一个有效的输出文件中获取数据 如有用户错误,可以从相应文件中恢复
Tables definitions Tables data Grants Indexes Tables constraints
5
华为机密, 华为机密,未经许可不得扩散 文档密级: 文档密级:内部公开
Export 命令
语法 exp keyword = (value, value2, … ,valuen)
Import 工具的命令行
语法 imp keyword = value or keyword = (value, value2, … value n)
举例
imp hr/hr TABLES=(employees,departments) rows=y file=exp1.dmp imp system/manager FROMUSER=hr file=exp2.dmp imp system/manager TRANSPORT_TABLESPACE=y TABLESPACES=ts_employees
oracle数据库导入导出命令

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=y2 将数据库中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文件可以很好的压缩。
oracle-备份与恢复基础知识

/export/db_incr$rq.dmp"
iv. 编辑root用户crontab文件,将上面的脚本命令用cron程序来制定数据库备份的时间:
$ vi /var/spool/cron/crontabs/root
v. 在/var/spool/cron/crontabs/root文件中增加以下内容:
把第三天增量备份的dmp文件imp至数据库中
$ imp sys/manager file= sidincr3.dmp ignore=y full=y inctype=restore
===
(2). 数据库逻辑备份策略的制定:
数据库管理员可以排定一个备份日程表,结合数据导出的三个不同方式合理、高效、可靠地完成。比如数据库的备份任务可作如下安排:
例如:编写Oracle逻辑备份的sh文件,并用cron程序来制定备份的时间。
i. 编辑完全备份的脚本文件(exp_comp.sh):
rq='date +"%m%d"'
su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/
星期一:完全导出(A)
星期二:增量导出(B)
星期三:增量导出(C)
星期四:增量导出(D)
星期五:累计导出(E)
星期六:增量导出(F)
星期日:增量导出(G)
(4).使用Export/Import的注意事项:
$ imp system/manager inctype=RECTORE FULL=Y FILE =E
第五步:最近增量导入F:
oracle imp&exp 导入导出命令详解

oracle imp&exp 导入导出命令详解附录一:给用户增加导入数据权限的操作第一,启动sql*puls第二,以system/manager登陆第三,create user 用户名IDENTIFIED BY 密码(如果已经创建过用户,这步可以省略)第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字第五, 运行-cmd-进入dmp文件所在的目录,imp userid=system/manager full=y file=*.dmp或者imp userid=system/manager full=y file=filename.dmp执行示例:F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp附录二:Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.先建立import9.par,然后,使用时命令如下:imp parfile=/filepath/import9.par例import9.par 内容如下:FROMUSER=TGPMSTOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)ROWS=YINDEXES=YGRANTS=YCONSTRAINTS=YBUFFER=409600file==/backup/ctgpc_20030623.dmplog==/backup/import_20030623.log在导入导出命令中加上feedback=1000可以让过程显示一个不断增多的“...”,以改变以往的闪烁的光标。
ExportImport 使用技巧与常见错误

Export/Import 使用技巧与常见错误Export 和 Import 是一对读写Oracle数据的工具. Export 将 Oracle 数据库中的数据输出到操作系统文件中, Import 把这些文件中的数据读到Oracle 数据库中. Export/Import可以用来完成以下工作: 数据归档, 数据库升级, 备份数据库, 把数据从一个数据库移到另一个数据库, 回收数据库存储碎片等等.使用Export除了要保证磁盘或磁带上有足够的空间, 还必须执行expvew.sql和expvew.sql来创建Export使用的示图, 并创建EXP_FULL_DATABASE ROLE. 使用Export的用户应具有CREATE SESSION的权限, 若要Export其他用户的表还要有EXP_FULL_DATABASE ROLE.同样, 使用Import必须用catex.sql来创建IMP_FULL_DATABASE ROLE. 使用Import 的用户应具有CREATE SESSION的权限. Import只能读入用Export创建的文件. 如果该文件是全库Export, 使用Import的用户还要有IMP_FULL_DATABASE ROLE.Export/Import有三个级别: 表级, 用户级和全数据库级.表级允许Export/Import指定的表而不涉及其他数据库对象. 用户级Export/Import只针对属于指定用户的全部数据库对象. 只有拥有EXP_FULL_DATABASE/IMP_FULL_DATABASE ROLE 的用户才能使用全数据库级的Export/Import.有三种方式执行Export/Import: 参数文件方式, 命令行方式和交互式.使用参数文件是一种比较好的方式, 格式为:Exp <username/password> PARFILE = <ilename>Imp <username/password> PARFILE = <ilename>命令行方式是指在命令行中指定参数:Exp <username/password> TABLES = (emp,dept) GRANTS = yImp <username/password> FROMUSER = scott TOUSER = test TABLES = (emp,dept)交互式只要敲入Exp或Imp然后回答屏幕上的提问即可.下面介绍一些EXPORT/IMPORT的使用技巧- 把数据库对象从一个用户移到另一个用户Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.假设要把表 T 的拥有者User1改为User2, 具体步骤是:- exp system/manager tables = User1.T- imp system/manager fromuser = User1 touser = User2 tables = T- drop table User1.T- 把数据库对象从一个表空间移到另一个表空间建表时可以指定表空间, 表空间一经确定就部能随意改变. 若要表 T 从表空间 tbs1移到表空间 tbs2, 就要采用以下方法:- exp <user/passwd> tables = T- imp <user/passwd> tables = T indexfile = temp.sql- drop table T- 编辑 temp.sql 只保留所需的建表命令并指定表空间为tbs2- 以表的所有者执行temp.sql- imp <user/passwd> tables = T ignore = Y- 只输出一个的表空间通常数据库设计成用户若属于某个表空间, 那么这个用户创建的数据库对象也在该表空间内.Export某个表空间可用如下方法:- 查看表空间内所有用户spool ownersselect ownerfrom dba_segmentswhere tablespace_name = '<TablespaceName>';spool off- 查看表空间内所有数据库对象spool objectsselect owner, object_name, object_typefrom dba_objectswhere owner = 'owner1'or owner = 'owner2'...or owner = 'ownern';spool off- 作表级Export- 从Exp文件中提取创建数据库对象的命令在IMPORT时使用 'INDEXFILE = FileName', IMPORT把创建数据库对象的命令输出到指定的文件中, 编辑后运行这个文件就能建立数据库对象.下面介绍Export/Import 使用中几个常见的问题和解决办法- Export/Import 使用不同的字符集Export文件中包含着字符信息. 如过输入/输出都使用担字节字符集, 如EBCDIC或US7ASCII, 输入时将自动进行字符集转换. 转换过程中, 若输出文件中含有的目标字符集中不能匹配的字符会自动设成缺省字符.对于多字节字符集, 如ZHS16CGB231280, 通常不能自动转换, 只有在字符串长度不变的情况下才能自动转换.- 空间不够 -- 碎片问题有些时候, 即使数据库仍有足够的空间, 使用IMPORT时却出空间不够的错误. 出现这种现象通常是由于数据库中存在碎片, 即有很多小的不连续的空闲空间. 解决办法是先将数据库全库EXPORT(FULL=Y), SHUTDOWN数据库, 重新建库(CREATE DATABASE)后用IMPORT FULL=Y恢复数据.- ROLLBACK段不够Export/Import使用过程中, 如果数据量很大会出现'ROLLBACK段不够'的错误. 这时要建一个足够大的ROLLBACK段, 使它ONLINE而其他ROLLBACK段OFFLINE. 这样, Export/Import使用这个大ROLLBACK段, 从而避免上述现象.不同观点。
oracle的import用法

oracle的import用法Oracle的import用法可以通过Oracle的数据导入工具`impdp`实现。
以下是impdp命令的基本用法:```impdp username/password@database_nameDIRECTORY=directory_name DUMPFILE=dump_file_name [other_options]```其中,各参数的含义如下:- `username/password@database_name`:要导入数据的Oracle数据库的用户名、密码和数据库连接信息。
- `DIRECTORY=directory_name`:指定导入数据文件的目录,需要在数据库中先创建目录。
- `DUMPFILE=dump_file_name`:指定要导入的数据文件名。
- `[other_options]`:可选的其他选项,如指定导入模式、指定要导入的表等。
以下是一些常用的impdp命令选项:- `SCHEMAS=schema_names`:指定要导入的模式(用户)名。
- `TABLES=table_names`:指定要导入的表名。
- `TRANSFORM=transform_options`:指定导入时对数据进行的转换操作,如修改表名、修改字段类型等。
- `REMAP_SCHEMA=old_schema:new_schema`:将导入的数据从旧的模式(用户)导入到新的模式(用户)。
- `REMAP_TABLE=old_table:new_table`:将导入的数据从旧的表导入到新的表。
- `REMAP_DATAfile=old_file:new_file`:将导入的数据从旧的数据文件导入到新的数据文件。
请注意,impdp命令需要在操作系统的命令行中执行,并且需要具有Oracle数据库的管理员权限。
在执行命令之前,请确保已经创建好了要导入的数据文件并设置了正确的权限。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle import命令使用浅解
oracle的exp命令用来导出数据,导出的二进制文件如何使用,怎样才能导入到数据库中呢?答案就是通过oracle的imp命令。
该命令的很多参数和上一篇中介绍的exp是相对应的,所以两篇可以对比着来看。
1.认识imp命令
Imp命令可以通过输入各种参数来控制导出的运行方式,执行参数时格式如下:
IMP KEYWORD=value 或KEYWORD=(value1,value2,...,valueN),例如IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N 。
要想查看imp支持的所有参数,可以通过执行Imp help=y 来查看参数的详细情况。
虽说是详细情况,但是等你查看了就知道了,其实一点都不详细,要不然我也就没必要再写这边笔记博文了。
2.参数详解
USERID:用户名/口令。
该参数在imp命令中位置必须是第一个,用户名/口令。
格式为用户名/密码@待连接的数据库。
具体参考第三节中示例。
BUFFER:数据缓冲区大小。
定义了插入数据的缓冲区的大小,单位是byte,该值越大, Import进程执行插入次数就越少,从而提高导入效率。
BUFFER的大小取决于系统应用、数据库规模,通常来说,设为百兆就足够了。
FROMUSER:所有者用户名列表。
待导入的二进制文件的中的shcema信息,如果导出的文件包含多个用户,那么该参数设定时为多个用户的子集,或者全集。
如果指定了文件包含用户中的一部分,则本次导入操作只会导入已经指定的部分用户的数据。
TOUSER:用户名列表。
与FROMUSER对应的参数,指定导入的目标用户列表。
因为这个参数的存在,可以使我们轻松的把一个用户下的数据导入到另一个用户下,只需执行一个相应的touser就可以了。
前提是该用户确实存在。
FILE:输入文件。
待导入的二进制文件,如果不指定的话,默认采用EXPDAT.DMP。
如果导出时设定了最大转储文件大小的话,我们得到的可能是多个文件,这时候可以指定多个文件名,如:FILE=(file1.dmp,file2.dmp……)。
TABLES:表名列表。
指定要导入的表名。
可以是多个表名,多个表名时采用如下格式:tables=(test_tab_1,test_tab_2)。
如果是在linux或者unix下的话,括号需要进行转义。
如:tables=\(test_tab_1,test_tab_2\) 。
IGNORE:忽略创建错误。
默认为N,及不会忽略创建时的错误。
比如在导入一个表时,目标表已经存在,那样就会导入失败,并提示错误。
如果我们将IGNORE=Y,这样就不会出现该错误了,但是你就得做好表被追加数据的心理准备了。
即使重复了,也不会报错,会直接导入到表中。
RECORDLENGTH:IO记录的长度。
指定文件的byte长度。
INDEXES:是否导入索引。
COMMIT:提交数组插入。
默认值是N,表示导完一张表之后进行提交。
如果设置为Y,则每次缓冲区满了之后就进行提交一次。
这样可以减少占用的回滚段大小。
建议设置为Y.
ROWS: 导入数据行。
默认为Y,即导入表中的记录。
设置为N的话,则只会导入表结构。
LOG:屏幕输出的日志文件。
CONSTRAINTS:是否导入文件中包含的表的constraint内容。
GRANTS:是否导入权限。
STATISTICS:统计信息。
统计导入过程的相关信息,可选项包括ALWAYS,NONE,SAFE,RECALCULATE。
以上只是列举了imp的基本常用参数。
要午休了,就写这些吧,基本也就够了。
3.举例
下面是一个导入命令的示例,可以参考一下。
如下:
imp scott/scottpwd@mydb file=/data/test.dmp.tmp buffer=100000 fromuser=user1 touser=user1 commit=Y tables=\(etl_test_0,etl_test_1\) ignore=Y indexes=N rows=Y grants=Y constraints=Y log=/data/imp.log。