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数据库的管理员权限。
在执行命令之前,请确保已经创建好了要导入的数据文件并设置了正确的权限。
oracle11gimp用法
oracle11gimp用法Oracle 11g IMP(Import)用法指南Oracle 11g是一种强大的关系数据库管理系统,它提供了多种工具和功能,其中之一是IMP(Import)工具,它用于将先前导出的数据和对象导入到Oracle数据库中。
本文将介绍Oracle 11g IMP工具的用法,帮助您使用它进行数据导入。
首先,确保您已经安装了Oracle 11g数据库,并具备正确的权限以执行导入操作。
使用IMP工具进行数据导入的基本语法如下:```imp username/password@database file=<导入文件路径> full=y```其中,`username/password@database`是您的数据库登录凭据,`file=<导入文件路径>`是导入文件的路径和名称,`full=y`表示导入所有数据和对象。
下面是一些常用的IMP工具参数:1. FROMUSER和TOUSER:用于指定要导入数据的源用户和目标用户。
例如:```imp username/password@database fromuser=<源用户> touser=<目标用户>file=<导入文件路径> full=y```2. TABLES:可以通过指定TABLES参数来限制只导入特定的表。
例如:```imp username/password@database tables=(table1, table2) file=<导入文件路径> full=y```3. IGNORE:用于指定在导入过程中遇到重复记录时的操作。
可以选择忽略(ignore)或替换(replace)重复记录。
例如:```imp username/password@database ignore=y file=<导入文件路径> full=y```4. INDEXES:可以使用INDEXES参数来控制是否导入表的索引。
oracle的import用法
Oracle的import用法1. 导入数据的目的和意义在数据库管理中,数据导入是一个非常重要且常见的操作。
导入数据可以将外部数据源中的数据加载到Oracle数据库中,以便后续分析、查询和处理。
这对于数据迁移、备份恢复、系统集成等场景都非常有用。
Oracle提供了多种导入工具和方法,其中最常用的是使用imp命令行工具或者使用Oracle SQL Developer图形界面工具进行导入。
2. 使用imp命令行工具进行导入2.1 准备导入文件在使用imp命令进行导入之前,首先需要准备好导入文件。
通常情况下,导入文件是由Oracle提供的导出工具exp生成的。
这些导出文件通常以.dmp为扩展名。
2.2 连接到数据库在执行导入操作之前,需要先连接到目标数据库。
可以使用以下命令连接到数据库:$ sqlplus username/password@database其中,username是要连接的用户名,password是对应的密码,database是目标数据库实例名。
2.3 执行导入操作连接到数据库后,就可以执行实际的导入操作了。
以下是一个示例命令:$ imp username/password@database file=export.dmp full=y其中,username/password@database是连接数据库的参数,file=export.dmp指定了导入文件的路径和名称,full=y表示导入所有对象。
2.4 导入参数说明在上述示例命令中,我们使用了一些导入参数。
下面是一些常用的导入参数及其说明:•file=:指定要导入的文件路径和名称。
•fromuser=:指定要导入的源用户。
•touser=:指定要导入到的目标用户。
•tables=:指定要导入的表名。
•ignore=y:忽略导入过程中遇到的错误。
•indexes=:是否导入索引,默认为y。
•constraints=:是否导入约束,默认为y。
oracle import参数
oracle import参数摘要:一、导语二、Oracle导入参数概述1.SQL*Plus导入参数2.导入参数的作用3.导入参数的分类三、Oracle导入参数详解1.文件路径参数2.数据库连接参数3.数据转换参数4.导入控制参数四、实战案例1.使用导入参数导入数据2.处理导入过程中的错误3.优化导入性能五、总结正文:一、导语作为一名职业写手,今天我们将为大家介绍Oracle导入参数的相关知识。
Oracle数据库作为业界领先的数据库管理系统,其强大的数据导入功能为企业数据的迁移和整合提供了便利。
本文将详细解析Oracle导入参数的使用方法和实战技巧,帮助大家更好地应用这一功能。
二、Oracle导入参数概述1.SQL*Plus导入参数在Oracle中,导入参数主要通过SQL*Plus命令进行设置。
这些参数用于控制导入过程,确保数据正确、高效地导入到目标数据库。
2.导入参数的作用导入参数主要用于以下方面:- 指定数据源(如文件、数据库表等)- 控制数据导入格式- 设置数据转换规则- 定义导入错误处理方式3.导入参数的分类Oracle导入参数主要分为以下几类:- 文件路径参数:用于指定数据源文件的位置- 数据库连接参数:用于连接目标数据库- 数据转换参数:用于指定数据格式转换规则- 导入控制参数:用于控制导入过程,如分批大小、错误处理等三、Oracle导入参数详解1.文件路径参数文件路径参数用于指定数据源文件的位置。
在SQL*Plus中,可通过`FILE`关键字设置文件路径,如:IMPORT INTO table_nameFROM FILE "path_to_file"```2.数据库连接参数数据库连接参数用于连接目标数据库。
在SQL*Plus中,可通过`CONNECT`关键字设置数据库连接信息,如:```CONNECT target_database```3.数据转换参数数据转换参数用于指定数据格式转换规则。
oracle中exp,imp(导入,导出)的使用详解
oracle中exp,imp(导⼊,导出)的使⽤详解今天说说Oracle数据库的导⼊(imp.exe)和导出(exp.exe)命令的使⽤,我们的电脑⾥⾯安装完Oracle或OracleClient的时候,在我们的安装⽬录⾥⾯就有这两个命令了,⼀般是在你的Oracle安装⽬录下⾯的bin⽂件夹下⾯会有exp.exe和imp.exe这两个⽂件,它们都是在命令⾏下运⾏,⾸先打开你的CMD程序,然后切换到Oracle的bin⽬录下⾯。
下⾯就看看这两个命令的具体⽤法:基本语法和实例:1、EXP:有三种主要的⽅式(完全、⽤户、表)1、完全:EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y如果要执⾏完全导出,必须具有特殊的权限2、⽤户模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC这样⽤户SONIC的所有对象被输出到⽂件中。
3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)这样⽤户SONIC的表SONIC就被导出2、IMP:具有三种模式(完全、⽤户、表)1、完全:IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y2、⽤户模式:IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC这样⽤户SONIC的所有对象被导⼊到⽂件中。
必须指定FROMUSER、TOUSER参数,这样才能导⼊数据。
3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC)这样⽤户SONIC的表SONIC就被导⼊。
Oracleexp及imp导出导入工具的使用(全)
ORACLE EXP/IMP的使用详解1导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。
当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议。
对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现, EXP/IMP越来越力不从心了,这个时候,数据库的备份都转向了RMAN和第三方工具。
下面说明一下EXP/IMP的使用。
如何使exp的帮助以不同的字符集显示:set nls_lang=simplifiedchinese_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技术文档 第四章 Export 和Import工具
Copyright © Sinobest Technology Holdings Ltd. 2006. All rights reserved.
7
ORACLE
Import 的处理顺序
1. 新table与index 的结构先被创建. 2. 导入数据,更新索引. 3. 导入Triggers,启用integrity constraint
– 数据库对象的一个完整的备份
使用 Import 工具来恢复一个数据库对象 使用Export/Import工具来做数据库迁移
Copyright © Sinobest Technology Holdings Ltd. 2006. All rights reserved.
2
ORACLE
Oracle Export 和 Import 工具概述
3
Байду номын сангаас
ORACLE
Export模式
Table Mode Table definitions Table data (all or selected rows) Owner’s table grants User Mode Tables definitions Tables data Owner’s grants Grants Tablespace Mode Table definitions Full Database Mode Tables definitions Tables data Grants
Owner’s table indexes
Table constraints
Owner’s indexes
Tables constraints
Indexes
Table constraints Triggers
ORACLE数据导出和导入解读
ORACLE数据导出和导入Cd\回到根目錄分类:技术积累2007.3.4 20:14 作者:海之声| 评论:0 | 阅读:0一. 导出工具exp1. 它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/binexp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS 间迁移它有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据;b. 表模式:导出用户所有表或者指定的表;c. 整个数据库:导出数据库中所有对象。
2. 导出工具exp交互式命令行方式的使用的例子$exp test/test123@appdbEnter array fetch buffer size: 4096 > 回车Export file: expdat.dmp > m.dmp 生成导出的文件名(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3Export table data (yes/no): yes > 回车Compress extents (yes/no): yes > 回车Export done in ZHS16GBK character set and ZHS16GBK NCHAR character setAbout to export specified tables via Conventional Path ...Table(T) or Partition(T:P) to be exported: (RETURN to quit) > cmamenu 要导出的表名. . exporting table CMAMENU 4336 rows exportedTable(T) or Partition(T:P) to be exported: (RETURN to quit) >要导出的表名nTable(T) or Partition(T:P) to be exported: (RETURN to quit) > 回车Export terminated successfully without warnings.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说明:在exp里面加上导出emp的查询条件job='salesman' and sal<1600(但我个人很少这样用,还是把满足条件的记录生成临时表后,再exp会方便一些)$exp parfile=username.par file=/directory1/username_1.dmp,/directory1/username_2.dmp filesize=2000M log=/directory2/username_exp.log参数文件username.par内容userid=username/userpasswordbuffer=8192000compress=ngrants=y说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改filesize指定生成的二进制备份文件的最大字节数(可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等)二.导入工具imp1. 它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/binimp导入工具将EXP形成的二进制系统文件导入到数据库中.它有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据;b. 表模式:导出用户所有表或者指定的表;c. 整个数据库:导出数据库中所有对象。
Oracle的导入导出命令
Oracle的导入导出命令ORACLE导入导出命令解析本文对Oracle数据的导入导出imp ,exp 两个命令进行了介绍, 并对其相应的参数进行了说明,然后通过一些示例进行演练,加深理解.文章最后对运用这两个命令可能出现的问题(如权限不够,不同oracle版本)进行了探讨,并提出了相应的解决方案;本文部分内容摘录自网络,感谢网友的经验总结;一.说明oracle 的exp/imp命令用于实现对数据库的导出/导入操作;exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件;imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。
二.语法可以通过在命令行输入imp help=y 获取imp的语法信息:======================================================== =====================C:\Documents and Settings\auduser>imp help=yImport: Release 9.0.1.1.1 - Production on 星期二5月20 18:21:57 2008(c) Copyright 2001 Oracle Corporation. All rights reserved.可以通过输入IMP 命令和您的用户名/口令后接用户名/口令的命令:例程: IMP SCOTT/TIGER或者, 可以通过输入IMP 命令和各种参数来控制“导入”按照不同参数。
要指定参数,您可以使用关键字:格式: IMP KEYWORD=value 或KEYWORD=(value1,value2,...,vlaueN)例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N或TABLES=(T1: P1,T1: P2),如果T1 是分区表USERID 必须是命令行中的第一个参数。
oracle导入导出参数
oracle导入导出参数Oracle导入导出参数详解概述:Oracle数据库是一种关系型数据库管理系统,支持各种数据导入和导出操作。
本文将详细介绍Oracle数据库导入导出的相关参数和用法,帮助读者更好地理解和使用这些功能。
1. expdp/impdp命令Oracle提供了expdp和impdp命令用于导出和导入数据。
expdp命令用于导出数据,impdp命令用于导入数据。
下面将详细介绍这两个命令的常用参数。
2. expdp参数expdp命令的常用参数如下:- userid:指定连接数据库的用户名和密码。
- directory:指定数据导出的目录。
- dumpfile:指定导出数据的文件名。
- logfile:指定导出日志的文件名。
- tables:指定要导出的表名。
- exclude:指定要排除导出的对象。
- compression:指定导出文件是否进行压缩。
- parallel:指定导出操作的并行度。
3. impdp参数impdp命令的常用参数如下:- userid:指定连接数据库的用户名和密码。
- directory:指定数据导入的目录。
- dumpfile:指定导入数据的文件名。
- logfile:指定导入日志的文件名。
- tables:指定要导入的表名。
- remap_schema:指定将导入数据重新映射到的目标用户。
- remap_tablespace:指定将导入数据重新映射到的目标表空间。
- transform:指定导入数据的转换规则。
4. 导出参数实例下面以一个实际的例子来演示如何使用expdp命令导出数据。
例子:expdp system/password@orcl directory=EXPORT_DIR dumpfile=expdp.dmp logfile=expdp.log tables=EMP,DEPT解析:- system/password@orcl:使用用户名system和密码password连接到数据库实例orcl。
Oracleimport命令使用浅解
Oracleimport命令使用浅解在上一篇 oracle export 命令使用浅解的文章中介绍了 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 就可以了。
Oracle导入某一命令的实际操作步骤描述
Oracle导入IMPOracle导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件。
imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法。
1. 获取帮助imp help=y2. 导入一个完整数据库imp system/manager file=bible_db log=dible_db full=y ignore=y3. 导入一个或一组指定用户所属的全部表、索引和其他对象imp system/manager file=seapark log=seapark fromuser=seapark impsystem/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)4. 将一个用户所属的数据导入另一个用户imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copyimp system/manager file=tank log=tank fromuser=(seapark,amy)touser=(seapark1, amy1)5.Oracle导入IMP中你需要对其导入一个表imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)6. 从多个文件导入imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck, filesize=1G full=y7. 使用参数文件imp system/manager parfile=bible_tables.parbible_tables.par参数文件:#Import the sample tables used for the Oracle8i Database Administrator'sBible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import8. 增量导入imp system./manager inctype= RECTORE FULL=Y FILE=AOracle imp/expC:Documents and Settingsadministrator>exp help=yExport: Release 9.2.0.1.0 - Production onCopyright (c) 1982, 2002, Oracle Corporation. All rights reserved.通过输入 EXP 命令和用户名/口令,您可以后接用户名/口令的命令:例程: EXP SCOTT/TIGER或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出”按照不同参数。
Oracle数据库字符集转换规律全面剖析
作为一个Oracle数据库的用户,对于Export和Import两个命令绝对不会感到陌生,因为这二者正是我们经常用于数据备份和恢复的工具。
但在使用这两个命令过程中所发生的Oracle字符集问题,常给一些Oracle 使用者带来不必要的麻烦和不必要的数据损失。
本文将就Export和Import过程中Oracle字符集的转换规律及使用这两个命令的注意事项做一总结。
字符集转换的原因Export、Import过程如上图所示,从这个示意图中可以看到有四处关系到字符集,而这四处字符集的不一致恰恰是导致Oracle进行字符集转换的原因。
* 源数据库字符集;* Export过程中用户会话字符集;* Import过程中用户会话字符集;* 目标数据库字符集。
在Export和Import过程中,如果存在影响字符集转换的四因素不一致,则可能发生Oracle字符集转换,即:在Export过程中,如果源数据库字符集与Export用户会话字符集不一致,会发生字符集转换,并在导出的二进制格式Dmp文件的头部几个字节中存储Export用户会话字符集的ID号。
在这个转换过程中可能发生数据的丢失。
例1: 如果源数据库使用ZHS16GBK,而Export用户会话字符集使用US7ASCII,由于ZHS16GBK是8位字符集,而US7ASCII是7位字符集,这个转换过程中,中文字符在US7ASCII中不能够找到对等的字符,所以所有中文字符都会丢失而变成“?? ”形式,即这种转换后生成的Dmp文件已经发生了数据丢失。
例2: 如果源数据库使用ZHS16GBK,而Export用户会话字符集使用ZHS16CGB231280,但由于ZHS16GBK字符集是ZHS16CGB231280字符集的超集,这个过程中绝大部分字符都能够正确转换,只有一些超出ZHS16CGB231280字符集的字符变为“?? ”形式。
如果源数据库使用ZHS16CGB231280字符集,而Export用户会话使用ZHS16GBK字符集,则转换过程能够完全转换成功。
- 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。