oracle数据库的导入导出
oracle 导出 导入数据 对比方法
(原创实用版4篇)编制人员:_______________审核人员:_______________审批人员:_______________编制单位:_______________编制时间:____年___月___日序言下面是本店铺为大家精心编写的4篇《oracle 导出导入数据对比方法》,供大家借鉴与参考。
下载后,可根据实际需要进行调整和使用,希望能够帮助到大家,谢射!(4篇)《oracle 导出导入数据对比方法》篇1Oracle数据库的导出和导入数据可以通过PL/SQL工具或SQL*PLUS命令行界面进行。
以下是一些常用的导出和导入方法:1. 使用PL/SQL工具导出和导入数据:导出数据:- 使用PL/SQL工具中的“导出用户对象”功能,选择要导出的表,并将其导出为SQL文件。
- 使用PL/SQL工具中的“导入表”功能,选择要导入的SQL文件,并将其导入到数据库中。
导入数据:- 使用PL/SQL工具中的“导入表”功能,选择要导入的SQL文件,并将其导入到数据库中。
- 在 SQL*PLUS 中使用“CREATE TABLE AS SELECT”语句将数据导入到新表中。
2. 使用 SQL*PLUS 命令行界面导出和导入数据:导出数据:- 使用 SQL*PLUS 命令行界面中的“EXP”命令,选择要导出的表,并将其导出为 SQL 文件。
- 使用 SQL*PLUS 命令行界面中的“EXP”命令,选择要导出的表,并将其导出为 CSV 文件。
导入数据:- 使用 SQL*PLUS 命令行界面中的“IMP”命令,选择要导入的 SQL 文件,并将其导入到数据库中。
- 在 SQL*PLUS 中使用“CREATE TABLE AS SELECT”语句将数据导入到新表中。
需要注意的是,在导入数据时,如果导入的表已经存在,则可以使用“APPEND”选项将数据追加到表中,而不是覆盖现有的数据。
《oracle 导出导入数据对比方法》篇2Oracle 数据库的导出和导入数据可以使用以下方法:1. 导出数据:使用PL/SQL工具,在tools目录下选择导出用户对象的功能,选择所有表导出为SQL文件,只有结构没有数据。
oracle导数据的方式
oracle导数据的方式【原创实用版】目录1.Oracle 简介2.Oracle 导数据的方式2.1 使用 SQL*Plus2.2 使用数据泵2.3 使用导入导出工具2.4 使用外部表2.5 使用批处理正文Oracle 是一款广泛使用的关系型数据库管理系统,它具有高性能、安全、可扩展性强等特点。
在 Oracle 中,数据的导入导出是非常常见的操作。
下面我们将介绍几种 Oracle 导数据的方式。
首先,我们来介绍一下使用 SQL*Plus 导数据。
SQL*Plus 是 Oracle 提供的一个命令行工具,通过它可以直接执行 SQL 语句。
要使用SQL*Plus 导数据,需要先登录到 Oracle 数据库,然后使用 INSERT、SELECT 等 SQL 语句将数据导入到目标表中。
这种方法适用于数据量较小的情况。
其次,我们来介绍一下使用数据泵导数据。
数据泵是 Oracle 提供的一个数据传输工具,它可以将数据从一个源移动到另一个源,包括将数据导入到 Oracle 数据库中。
使用数据泵导数据需要创建一个数据泵实例,然后使用相应的命令将数据导入到目标表中。
数据泵适用于大量数据的导入导出操作。
再来介绍一下使用导入导出工具导数据。
Oracle 提供了一个名为“导入导出”的图形化工具,通过它可以方便地实现数据的导入导出。
使用导入导出工具需要先创建一个导入导出任务,然后设置相应的导入导出选项,最后执行任务将数据导入到目标表中。
这种方法适用于对数据库操作不熟悉的用户。
此外,还可以使用外部表导数据。
外部表是 Oracle 提供的一种数据存储方式,它允许将数据存储在文件系统中,同时又能像操作普通表一样操作外部表。
要使用外部表导数据,需要先创建一个外部表,然后将数据文件复制到指定的位置,最后使用 ALTER TABLE 命令将数据加载到外部表中。
这种方法适用于数据量较大且需要频繁访问数据的情况。
最后,我们来介绍一下使用批处理导数据。
ORACLE数据库导入导出
Oracle 10g EXPDP和IMPDP使用说明收藏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导出文件.数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:Expdp scott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALLCONTENT={ALL | DATA_ONLY | METADATA_ONLY}当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dumpCONTENT=METADATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump先在对应的位置创建物理文件夹,如D:\backup建立目录:create or replace directory backup as '/opt/oracle/utl_file'SQL>CREATE DIRECTORY backup as ‘d:\backup’;SQL>grant read,write on directory backup to SYSTEM;查询创建了那些子目录:SELECT * FROM dba_directories;4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmpDUMPFILE=[directory_object:]file_name [,….]Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKSEXTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICSDIRECTORY=dump DUMPFILE=a.dump6. EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为NEXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE该选项用于指定执行操作时释放要排除对象类型或相关对象EXCLUDE=object_type[:name_clause] [,….]Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE 和INCLUDE不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW8. FILESIZE指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)9. FLASHBACK_SCN指定导出特定SCN时刻的表数据FLASHBACK_SCN=scn_valueScn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmpFLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME=“TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYY HH24:MI:SS’)”11. FULL指定数据库模式导出,默认为NFULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N当设置为Y时,会显示导出选项的帮助信息.Expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象INCLUDE = object_type[:name_clause] [,…]14. JOB_NAME指定要导出作用的名称,默认为SYS_XXXJOB_NAME=jobname_string15. LOGFILE指定导出日志文件文件的名称,默认名称为export.logLOGFILE=[directory_object:]file_nameDirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值.Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.17. NOLOGFILE该选项用于指定禁止生成导出日志文件,默认值为N.18. PARALLEL指定执行导出操作的并行进程个数,默认值为119. PARFILE指定导出参数文件的名称PARFILE=[directory_path] file_name20. QUERY用于指定过滤导出数据的where条件QUERY=[schema.] [table_name:] query_clauseSchema用于指定方案名,table_name用于指定表名,query_clause用于指定条件限制子句.QUERY选项不能与CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES 等选项同时使用.Expdp scott/tiger directory=dump dumpfiel=a.dmpTables=emp query=’WHERE deptno=20’21. SCHEMAS该方案用于指定执行方案模式导出,默认为当前用户方案.22. STATUS指定显示导出作用进程的详细状态,默认值为023. TABLES指定表模式导出TABLES=[schema_name.]table_name[:partition_name][,…]Schema_name用于指定方案名,table_name用于指定导出的表名,partition_name用于指定要导出的分区名.24. TABLESPACES指定要导出表空间列表25. TRANSPORT_FULL_CHECK该选项用于指定被搬移表空间和未搬移表空间关联关系的检查方式,默认为N.当设置为Y时,导出作用会检查表空间直接的完整关联关系,如果表空间所在表空间或其索引所在的表空间只有一个表空间被搬移,将显示错误信息.当设置为N时,导出作用只检查单端依赖,如果搬移索引所在表空间,但未搬移表所在表空间,将显示出错信息,如果搬移表所在表空间,未搬移索引所在表空间,则不会显示错误信息.26. TRANSPORT_TABLESPACES指定执行表空间模式导出27. VERSION指定被导出对象的数据库版本,默认值为COMPATIBLE.VERSION={COMPATIBLE | LATEST | version_string}为COMPATIBLE时,会根据初始化参数COMPATIBLE生成对象元数据;为LATEST时,会根据数据库的实际版本生成对象元数据.version_string用于指定数据库版本字符串.调用EXPDP使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此,使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.CREATE DIRECTORY dump dir AS ‘D:DUMP’;GRANT READ, WIRTE ON DIRECTORY dump_dir TO scott;1,导出表Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp logfile=exp.log;2,导出方案Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=system,scott logfile=/exp.log;3.导出表空间Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01,user02 logfile=/exp.log;4,导出数据库Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y logfile=/exp.log;使用IMPDPIMPDP命令行选项与EXPDP有很多相同的,不同的有:1,REMAP_DATAFILE该选项用于将源数据文件名转变为目标数据文件名,在不同平台之间搬移表空间时可能需要该选项.REMAP_DATAFIEL=source_datafie:target_datafile2,REMAP_SCHEMA该选项用于将源方案的所有对象装载到目标方案中.REMAP_SCHEMA=source_schema:target_schema3,REMAP_TABLESPACE将源表空间的所有对象导入到目标表空间中REMAP_TABLESPACE=source_tablespace:target_tablespace4.REUSE_DATAFILES该选项指定建立表空间时是否覆盖已存在的数据文件.默认为NREUSE_DATAFIELS={Y | N}5.SKIP_UNUSABLE_INDEXES指定导入是是否跳过不可使用的索引,默认为N6,SQLFILE指定将导入要指定的索引DDL操作写入到SQL脚本中SQLFILE=[directory_object:]file_nameImpdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql7.STREAMS_CONFIGURATION指定是否导入流元数据(Stream Matadata),默认值为Y.8,TABLE_EXISTS_ACTION该选项用于指定当表已经存在时导入作业要执行的操作,默认为SKIPTABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;当设置为APPEND时,会追加数据,为TRUNCATE时,导入作业会截断表,然后为其追加新数据;当设置为REPLACE时,导入作业会删除已存在表,重建表病追加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项9.TRANSFORM该选项用于指定是否修改建立对象的DDL语句TRANSFORM=transform_name:value[:object_type]Transform_name用于指定转换名,其中SEGMENT_ATTRIBUTES用于标识段属性(物理属性,存储属性,表空间,日志等信息),STORAGE用于标识段存储属性,VALUE用于指定是否包含段属性或段存储属性,object_type用于指定对象类型.Impdp scott/tiger directory=dump dumpfile=tab.dmp Transform=segment_attributes:n:table 10.TRANSPORT_DATAFILES该选项用于指定搬移空间时要被导入到目标数据库的数据文件TRANSPORT_DATAFILE=datafile_nameDatafile_name用于指定被复制到目标数据库的数据文件Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmpTRANSPORT_DATAFILES=’/user01/data/tbs1.f’调用IMPDP1, 导入表Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp logfile=/exp.log;Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tab.dmpTABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM logfile=/exp.log;第一种方法表示将DEPT和EMP表导入到SCOTT方案中,第二种方法表示将DEPT和EMP表导入的SYSTEM方案中.注意,如果要将表导入到其他方案中,必须指定REMAP SCHEMA选项.2,导入方案Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott logfile=/exp.log;Impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmpSCHEMAS=scott REMAP_SCHEMA=scott:system logfile=/exp.log;3,导入表空间Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01 logfile=/exp.log;4,导入数据库Impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y logfile=/exp.log;impdp wms_dmzs/wms_dmzs@orcl directory=BACKUP dumpfile=WMS_DM20150820.DMP logfile=WMS_DM20150820.log remap_tablespace=WMS:USERS SCHEMAS=WMS_DMZS REMAP_SCHEMA=wms_dmzs:wms_dmzs EXCLUDE=PROCEDURE:\"='PROC_DO_DZ_TY'\"。
oracle的数据库的导入导出
oracle的数据库的导入导出从一个用户expdp导出再impdp导入到另一个用户(示例:讲scott用户里面的表全部迁移到新建的test用户里面)如果想导入的用户已经存在:1.导出之前需要做的一些操作,进入数据库,默认为sys用户SQL> create directory dumpdir as '/home/oracle/test_bk ';(该备份路径是需要手动创建的)SQL> grant read,write on directory dumpdir to scott(scott为源用户);导出用户expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp 示例:expdp scott/tiger directory=dumpdir dumpfile=scott.dmp2.导入之前需要做一些操作,进入数据库,默认为sys用户SQL> create directory dumpdir as '/home/oracle/test_bk ';(该备份路径是需要手动创建的)SQL> grant read,write on directory dumpdir to test(test为目标用户);导入用户impdp test/test directory=dumpdir dumpfile=scott.dmp REMAP_SCHEMA=scott:test full=y;如果想导入的用户不存在:1. 导出用户expdp user1/pass1 directory=dumpdirdumpfile=user1.dmp2. 导入用户impdp system/passsystem directory=dumpdirdumpfile=user1.dmp REMAP_SCHEMA=user1:user2 full=y;3. user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码impdp遇到的错误C:\Documents and Settings\Administrator>impdp aaa/ccc directory=data_dump dumpfile=fromaaa.dmp logfile=IMP_DATA_20100618.LOG连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsORA-39001: 参数值无效ORA-39000: 转储文件说明错误ORA-39143: 转储文件"F:\ora10G_expdp\ic_price_fromlufang.dmp" 可能是原始的导出转储文件可恶的提示让我一直以为是版本的的问题,因为是同事给的dmp文件,用的又都是10.2.0版本,自然以为用的是expdp,所以一直用impdp导入,其他的权限都没问题,所以最后怀疑同事用的是exp,所以试了下imp导入,成功执行了。
Oracle数据库导入导出命令总结
Oracle数据库导入导出命令总结Oracle数据库导入导出命令总结执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle中,安装目录\\ora9i\\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例。
数据导出:1将数据库zxcc完全导出,用户名kf密码zx导出到D:\\zxcc.dmp中expkf/zx@zxccfile=d:\\zxcc.dmpfull=yfull=y表示全库导出。
full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。
2将数据库zxcc中kf用户与cc用户的表导出expkf/zx@zxccfile=d:\\zxcc_ur.dmpowner=(kf,cc)full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXP中full=y和owner=XX是不能同时使用的。
3将数据库zxcc中的表kf_operator、kf_role导出expkf/zx@zxccfile=d:\\zxcc_tb.dmptables=(kf_operator,kf_role)tables=xx表示备份相关表,不能同时和owner、full使用。
4将数据库中的表kf_operator中的字段oper_id以"00"打头的数据导出expkf/zx@zxccfile=d:\\zxcc_t.dmptables=(kf_operator)query=\\"whereop er_idlike"00%"\\"query主要是导出合适条件的数据。
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数据库的导入导出
表空间的数据文件即可,因此速度很快,但有许多限 制。
二、导出数据泵
1.命令格式 2.参数文件 3.连接用户与权限 4.例
1.命令格式
2.参数文件
Expdp parfile=参数文件名
参数文件名的路径要明确 可以省略、相对路径或绝对路径
如果导入的对象在目标数据库中已存在 跳过,不执行此对象的导入,包含与该对象相关的一系列其 他对象
例:导入表
例:导入方案
四、导入与导出实例
导出
导入
导入前,需要在目标数据库创建的内容
导入的参数文件
导入的批命令文件
把相关文件放在指定路径下,执行批命令文件
式。 数据泵是位于服务器端的工具,在bin文件夹
导入的工具名称:impdp 导出的工具名称:expdp
导出
根据需要将数据库中的对象生成特定格式的文件(也
称dump文件、转储文件),存放在指定的目录中。
导入
从指定的目录中,读取dump文件,将数据库对象导入
到目标数据库中(实际上是重新创建)。
参数文件是一文ห้องสมุดไป่ตู้格式,通常用txt为后缀
每个参数一行 每行的格式:keyword=参数值
3.连接用户与权限
连接用户参数:
如果在命令行中直接写:用户名/口令 如果在参数文件中:userid=用户名/口令 该参数必须是第一个参数,该参数将影响到对导入和
导出操作的权限。
权限
用数据泵导出导入数据(9.3)
一、基本概念 二、导出数据泵 三、导入数据泵 四、导入与导出实例
一、基本概念
oracle数据的导入导出(两种方法三种方式)
oracle数据的导⼊导出(两种⽅法三种⽅式)⼤概了解数据库中数据的导⼊导出。
在oracle中,导⼊导出数据的⽅法有两种,⼀种是使⽤cmd命令⾏的形式导⼊导出数据,另⼀种是使⽤PL/SQL⼯具导⼊导出数据。
1,使⽤cmd命令⾏导⼊导出数据 1.1整库导出 整库导出:exp 管理员账号/密码 full=y;//参数full表⽰整库导出。
导出后会在当前⽬录下⽣成⼀个EXPDAT.DMP的⽂件,此⽂件为备份⽂件。
如果想导出数据到指定位置,并且取个名字,需要添加file参数。
例如:exp system/123456 file= C:\person.dmp full=y。
1.2整库导⼊ 整库导⼊:imp 管理员账号/密码 full=y file=C:\person.dmp。
1.3使⽤cmd命令按⽤户导出导⼊ 1.3.1 按⽤户导出:exp 管理员账号/密码 owner=⽤户名 file=C:\person.dmp。
1.3.2 按⽤户导⼊:imp 管理员账号/密码 file=C:\person.dmp fromuser=⽤户名。
1.4使⽤cmd命令按表导出导⼊ 1.4.1按表导出:exp 管理员账号/密码 file=person.dmp tables=t_person,t_student。
1.4.2按表导⼊:imp 管理员账号/密码 file =person.dmp tables=t_person,t_student。
2.)使⽤PL/SQL 开发⼯具导出导⼊数据 pl/sql⼯具包含三种⽅式导出oracle表结构和表数据,分别为:oracle export,SQL inserts,pl/sql developer。
它们的含义如下: 第⼀种oracle export:导出的是.dmp格式的⽂件,.dmp⽂件是⼆进制⽂件,可以跨平台,包含权限等。
第⼆种SQL inserts :导出的是.sql格式的⽂件,可以⽤⽂本编辑器查看,通⽤性⽐较好,效率不如第⼀种,适合⼩数据量的导⼊导出。
oracle导入导出详解
总结了oracle的导入导出,希望能帮助大家一. 导出工具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=2000Mlog=/directory2/username_exp.log参数文件username.par内容userid=username/userpasswordbuffer=8192000compress=ngrants=y说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改filesize指定生成的二进制备份文件的最大字节数(可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等) 4. 命令参数说明关键字说明(默认)---------------------------------------------------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 屏幕输出的日志文件STA TISTICS 分析对象(ESTIMATE)DIRECT 直接路径(N)TRIGGERS 导出触发器(Y)FEEDBACK 显示每x 行(0) 的进度FILESIZE 各转储文件的最大尺寸QUERY 选定导出表子集的子句下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N) TABLESPACES 将传输的表空间列表二.导入工具imp1. 它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/binimp导入工具将EXP形成的二进制系统文件导入到数据库中.它有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据;b. 表模式:导出用户所有表或者指定的表;c. 整个数据库:导出数据库中所有对象。
oracle数据库的导入导出
导入数据库文件(开始--运行--cmd )
1、用户名是stu_test,密码是abcdef,数据库是orclfile=....是要导入的数据库文件的存放位置
imp stu_test/abcdef@orcl file=d:/a.dmp full=y
imp stu_test/abcdef@orcl file=d:/a.dmp full=y
--上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
--在后面加上 ignore=y 就可以了。
2、将d:/a.dmp中的表table1 导入
imp system/system@orcl file=d:/a.dmp tables=(table1)
imp system/system@orcl file=d:/a.dmp tables=(table1)
imp stu_test/abcdef@orcl file=d:/a.dmp full=y ignore=y
--上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
--在后面加上 ignore=y 就可以了。
imp stu_test/abcdef@orcl file=d:/a.dmp full=y ignore=y
Байду номын сангаас
导出数据库文件(开始--运行--cmd)
1、用户名为stu_test,密码为abcdef,数据库为orcl,file=.....为导出后存放位置
exp stu_test/abcdef@orcl file=d:/a.dmp
exp stu_test/abcdef@orcl file=d:/a.dmp
oracle数据库的导入导出命令:
oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
oracle数据库导出和oracle导⼊数据的⼆种⽅法(oracle导⼊导出数据)⽅法⼀:利⽤PL/SQL Developer⼯具导出:菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可:⽅法⼆:利⽤cmd的操作命令导出,详情如下:1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN⽬录下有个tnsname.ora⽂件,内容如下:复制代码代码如下:CMSTAR =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.13.200)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = cmstar)))其中:CMSTAR为数据库名,HOST为IP地址,所以可以仿效上⾯的例⼦⼿动添加数据录连接。
2:⽤cmd进⼊命令⾏输⼊:tnsping cmstar就是测试172.18.13.200是否连接成功3:导⼊与导出,如下:数据导出:1 将数据库TEST完全导出,⽤户名system 密码manager 导出到D:\daochu.dmp中exp system/manager@TEST file=d:\daochu.dmp full=y2将数据库中system⽤户与sys⽤户的表导出expsystem/manager@TESTfile=d:\daochu.dmpowner=(system,sys)3将数据库中的表table1、table2导出expsystem/manager@TESTfile=d:\daochu.dmptables=(table1,table2)4将数据库中的表table1中的字段filed1以"00"打头的数据导出expsystem/manager@TESTfile=d:\daochu.dmptables=(table1)query=\"wherefiled1like'00%'\"上⾯是常⽤的导出,对于压缩我不太在意,⽤winzip把dmp⽂件可以很好的压缩。
Oracle 数据导入导出
一.连接对方数据库开始菜单——程序——Oracle-OraceHome90——ConfigurationAndMigrationTools——NetConfigurationAssistant,如图:图1打开界面按下列图操作:图2选择本地网络服务名配置,点击下一步:选择“添加”点击下一步:选择“Oracle8i或更高版本数据库或服务”点击下一步:图5视具体情况,填写服务器名称如:c508cjw,其服务器的选择由需要连接的对方数据库名称而定,名称可由下列方法查找:图6打开对方机器上的Enterprise Manager Console,点击数据库——点击所需数据库,出现上图界面其中SERVICE-NAME=后为服务器名称。
下一步,选择TCP选项,点击下一步:图7出现界面如下图,填写主机名,主机名为图6中HOST=后的名称。
图8点击下一步。
选择调试点击下一步:出现下列界面:图10 界面显示调试成功,点击下一步:任意输入一个名称,原则是没有重名,便于理解。
下一步,如果不配置另外网络服务名则选否,下一步。
显示完成配置。
数据导入和导出数据导出:打开开始菜单——点击运行——输入CMD确定如果只知道用户名,不知道用户密码:输入exp system/manager@服务名owner=username File=路径:\文件名.dmp如果知道用户名和密码:输入exp 用户名/密码@服务名file=路径:\文件名.dmp数据导入:打开开始菜单——点击运行——输入CMD确定如果知道用户名和密码:输入imp 用户名/密码@服务名fromuser=用户名(文件所属用户)file=路径:\文件名.dmp如果只知道用户名,或用户没有相应权限:输入imp system/manager@服务名fromuser=用户名(文件所属用户)file=路径:\文件名.dmp。
oracle数据库备份(导入、导出)
1.删除数据库中已存在的表并重新导入数据库:SELECT 'drop table ' || table_name || ';' FROM user_tables UNIONSELECT 'drop sequence ' || sequence_name || ';' FROM user_sequences UNIONSELECT 'drop PROCEDURE ' || object_name || ';' FROM user_objects WHEREobject_type='PROCEDURE' UNIONSELECT 'drop FUNCTION ' || object_name || ';' FROM user_objects WHEREobject_type='FUNCTION' UNIONSELECT 'drop type ' || type_name || ';' FROM user_types.导入前先删除这个用户:DROP USER cvibms CASCADE;2.在表空间里新增一个用户:-- Create the usercreate user cvibmsidentified by cvibmsdefault tablespace CVIBMSDBtemporary tablespace TEMPprofile DEFAULT;-- Grant/Revoke role privilegesgrant connect to cvibms with admin option;grant dba to cvibms with admin option;-- Grant/Revoke system privilegesgrant unlimited tablespace to cvibms;3.导入数据库dos命令:Imp userid=orcl/orcl@orcl file=d:/cvibms130122.dmp commit=y ignore=y full=yImp userid=cvibms/cvibms@XE file=d:/cvibms0226.dmp fromuser=cvibms touser=cvibms Imp userid=cvibms/cvibms@admin file=d:/cvibms0411.dmp commit=y ignore=y full=y imp cvibms/cvibms@orcl fromuser=cvibms touser=cvibms file= d:/cvibms0426.dmp ignore=y log=d:/数据备份/0426_imp.log BUFFER=20480004.导出本地数据库dos命令:(.5数据库)exp userid=CVIBMS/CVIBMSSC@CVIBMS file=e:/cvibms0411.dmp full=yexp userid=CVIBMS/CVIBMSSC@CVIBMS file=e:/cvibms0411.dmp owner=cvibmsexp userid=cvibms/cvibms@orcl file=e:/cvibms0620.dmp owner=cvibms5.构造表空间(注意新建的表空间最好与导入dmp文件的表空间一致,否则会报错) create tablespace CVIBMSDBdatafile 'F:\app\dpxuliang\oradata\admin\CVIBMSDB.dbf' size 100mautoextend on next 1m maxsize 2000mextent management localsegment space management auto;导出时一定要带上服务器版本号(迁移服务器)6. 高版本的oracle利用数据泵导入导出数据库1)创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
数据库导入导出
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如:
exp system/manager inctype=complete file=040731.dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如:
exp system/manager inctype=incremental file=040731.dmp
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、 增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
优点:增量备份体积小,备份不影响正常业务。
缺点:对于备份集、日志文件和备份策略等需要有一定的维护成本和学习成本。
从数据库备份的对象来看,备份工作可以使用RMAN进行物理方式的备份,也可以使用exp/expdp工具进行逻辑方式的备份。物理备份又可以分为两种类型:1镜像复制备份:把数据文件,控制文件,归档日志文件进行操作系统复制,通过RMAN的copy命令实现
1. Oracle 数据库提供了多种数据库备份与恢复的解决方案,其中包括基于RMAN的备份、用户管理的备份、Data Pump Export、闪回技术等,这些主流的备份方式有不同的特性,请结合您的经历谈谈您对它们的理解。
Oracle数据库安装数据导出导入
Oracle数据库安装数据导出导入一、Oracle数据库安装Oracle安装:Oracle数据库安装用户数没有限制限制用户数的是进程和核心参数(企业版)。
运行Setup,选择“高级安装”选择“企业版”选择“盘符”点击“下一步”点击“是”选择“创建数据库”选择“一般用途”面打钩点击“下一步”选择“文件系统”选择“不启动自动备份”选择“所有的帐户都使用同一口令”,输入口令点击“安装”等待安装数据库全局数据库名:orcl,SID:orcl。
点击“确定”点击“退出”,即完成oracle数据库安装。
二、数据库导出在运行中输入cmd 弹出命令行窗口,输入:exp dgljxck/lj@dgljxck_204.6 file=f:\\dgljxck_en.dmp log=f:\\dgljxck_en.logDgljxck:数据库用户名lj:数据库口令dgljxck_204.6:实例名称,就是远程数据库名file:要导出的dmp文件全路径。
三、数据库导入在运行中输入cmd 弹出命令行窗口,输入:imp dgljxck/lj@ora9i file= f:\\dgljxck_en.dmp Dgljxck:数据库用户名lj:数据库口令ora9i:实例名称,就是数据库名file:要导入的dmp文件全路径。
四、在IIS 中创建和配置虚拟目录创建虚拟目录:启动IIS 管理器;右击要创建虚拟目录的站点或文件夹,指向“新建”,然后单击“虚拟目录”;在虚拟目录创建向导中,单击“下一步”。
在“别名”框中,键入虚拟目录的名称(iraq),然后单击“下一步”;在“路径”框中,键入或浏览至包含虚拟目录的物理目录,然后击“下一步”;选中与要分配给用户的访问权限对应的复选框。
默认情况下,“读取”和“运行脚本”复选框处于选中状态;单击“下一步”,然后单击“完成”。
配置虚拟目录:在IIS 管理器中,右击需要配置的虚拟目录的节点,然后单击“属性”。
oracle数据库的导入和导出
2.1.2.2数据库表的导入首先准备好数据库的备份文件,如E:\jainsure.dmp的文件。
1.打开“开始”—“运行”—输入“cmd”,在光标所在出输入imp回车,之后提示输入用户名:jainsure;密码:123(是第一步创建的用户名和密码)成功后显示如下图2.在“导入文件”后输入:E:\jainsure.dmp 回车然后再依次回车,等看到提示输入,“用户名:”再输入“jainsure回车。
此用户名:为数据库备份文件导出时的用户名。
回车然后等待数据导完。
3.可以用批处理文件来实现bat语句如下:imp.exe insure=E:\jainsure.dmp buffer=30720 fromuser=jainsure touser=jainsure log=D:\2.log(其中fromuser为源数据库的用户名,即touser为将要导入的用户名)2.1.2.3数据库表的导出1.打开“开始”—“运行”—输入“cmd”,在光标所在出输入exp回车,之后提示输入用户名:jainsure;密码:123。
(是第一步创建的用户名和密码)回车。
2.在导出文件,expdat.dmp>后面输入导出的路径和名称,如D:\jainsure.dmp,回车直到提示”要导出的用户“>输入jainsure。
回车等待数据导完。
3.可以用批处理文件来实现bat语句如下:exp jainsure/123@insure file ='d:\ttinsure.dmp‘log=d:\1.log (其中jainsure/123为要导出的数据表的用户名和密码,@后面的为数据库的全局名,file后面的为存放的路径。
)2.2前置机的配置前置机的功能分为两部分:一部分是连接中心工作站点客户端访问数据库;另一部分是连接HIS的接口。
而且这两部分的功能并存的,所以跟这两部分功能都相同的配置都要完整。
2.2.1连接客户端访问数据库时前置机的配置1.安装oracle的database企业版或cilent客户端。
oracle导数据的方式
oracle导数据的方式摘要:1.导数据的概念2.Oracle 数据库的导数据方式a.数据泵b.导入/导出工具c.SQL*Loaderd.OEM 备份与恢复3.数据泵的优势与使用方法4.导入/导出工具的使用场景与步骤5.SQL*Loader 的工作原理与配置6.OEM 备份与恢复的功能与操作7.总结与展望正文:1.导数据的概念在Oracle 数据库中,导数据是指将数据从一个源数据库传输到另一个目标数据库的过程。
导数据通常用于数据迁移、数据备份与恢复等场景。
为了实现这一目标,Oracle 提供了多种导数据方式。
本文将对这些方式进行详细介绍。
2.Oracle 数据库的导数据方式a.数据泵数据泵(Data Pump)是Oracle 数据库提供的一种高效、可扩展的导数据方式。
它基于Oracle 的内置进程,使用PL/SQL 进行数据传输。
数据泵支持批量传输、事务传输以及并行传输等多种传输模式,能够满足不同场景的需求。
b.导入/导出工具导入/导出工具(Import/Export)是Oracle数据库自带的一款命令行工具,用于实现数据的导入与导出。
它支持多种文件格式,如CSV、TXT等。
通过配置相应的参数文件,导入/导出工具可以实现自动化数据传输。
c.SQL*LoaderSQL*Loader 是Oracle 提供的一款用于加载大量数据的工具。
它通过SQL 语句将数据从外部文件加载到数据库表中。
SQL*Loader 支持各种数据类型与约束,能够满足复杂数据结构的导入需求。
d.OEM 备份与恢复Oracle Enterprise Manager(OEM)是Oracle 数据库的管理工具,提供备份与恢复功能。
通过OEM,用户可以方便地对数据库进行备份与恢复操作。
此外,OEM 还支持自动备份与恢复策略,提高数据安全性。
3.数据泵的优势与使用方法数据泵的优势在于其高效性与可扩展性。
数据泵支持批量传输、事务传输以及并行传输等多种传输模式,能够满足不同场景的需求。
oracle常用的数据库迁移方法
oracle常用的数据库迁移方法Oracle是一种常用的关系型数据库管理系统,为了满足不同需求,很多时候需要将数据库迁移到其他环境或系统中。
本文将介绍几种常用的Oracle数据库迁移方法。
一、数据泵导入导出数据泵是Oracle提供的一种高效的数据迁移工具,可以将表、视图、存储过程等数据库对象以及数据导出为二进制文件,再通过数据泵导入工具将数据导入到目标数据库中。
数据泵导出可以使用expdp命令,导出的文件可以包含完整的数据库对象和数据,也可以只导出指定的对象。
数据泵导入可以使用impdp命令,将导出的文件恢复到目标数据库中。
二、物理备份恢复物理备份恢复是一种将源数据库的物理文件备份并复制到目标数据库的方法。
这种方法适用于需要将整个数据库迁移到其他环境的情况。
在源数据库上执行备份命令,将数据库的物理文件备份到指定位置。
将备份文件复制到目标数据库服务器上。
在目标数据库上执行恢复命令,将备份文件恢复到目标数据库中。
三、逻辑备份恢复逻辑备份恢复是一种将源数据库中的逻辑数据导出为可读的文本文件,再通过导入工具将数据导入到目标数据库中的方法。
在源数据库上执行逻辑备份命令,将数据导出为文本文件。
将备份文件复制到目标数据库服务器上。
在目标数据库上执行导入命令,将备份文件导入到目标数据库中。
四、数据库链接数据库链接是一种在不同数据库之间进行数据传输和共享的方法。
可以在目标数据库中创建一个链接,链接到源数据库,然后通过SQL语句将数据从源数据库传输到目标数据库。
在目标数据库中创建一个数据库链接,链接到源数据库。
通过SQL语句查询源数据库中的数据,并将数据插入到目标数据库中。
五、GoldenGate数据复制GoldenGate是Oracle提供的一种高性能数据复制工具,可以将源数据库的数据实时复制到目标数据库中。
这种方法适用于需要实时同步数据的场景。
在源数据库和目标数据库上分别安装和配置GoldenGate软件。
在源数据库上配置数据抽取进程,将数据抽取到中间文件。
oracle数据库导入导出方法
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_alldatafile 'D:/dev/oracle/tablespace/user_all.dbf'size 300Mautoextend onnext 50Mmaxsize unlimited新建⽤户(设置默认表空间):create user usertest identified by usertest default tablespace user_all;2、对新建的⽤户赋权限,dba、connect、resource。
Oracle数据库的导入导出
Oracle数据库的导⼊导出
在接管⼀个服务器维护⼯作的时候遇到⼀个oracle数据库迁移的问题,没弄个oracle,因此百度查、找同事问,弄的鸡飞狗跳。
⾸先是导出(其实还有⼀种⽅式:⽤plsql导出)
exp ⽤户名/密码@SID file=f:\xx.dmp owner=⽤户名,回车
在导出成功后,在选定的路径中即可找到备份的数据库⽂件(备份⽂件格式为:DMP)
其次是导⼊
我打算⽤同⼀个表空间,因此需要先创建⼀个⽤户
因为是本地,因此输⼊命令连接到库
sqlplus / as sysdba
创建⽤户
create user 账户 identified by 数据库 default tablespace 表空间名
⽤户授权
grant connect, resource to ⽤户名
grant dba to ⽤户名
导⼊数据库
imp 账号/⼝令@数据库 fromuser=备份时导出账号 touser=账号(现⽤账号)
然后会提⽰你没有DMP⽂件,把DMP⽂件拖进去即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何写批处理文件自动将数据导入oracle数据库文章分类:数据库Oracle数据库的自动导入与导出,在许多地方有广泛的应用.例如:一个Oracle数据库应用系统开发结束后,如果要将系统安装到客户计算机上,就需要将初始数据导入到用户的Oracle数据库中.最近项目中也需要实现以上功能,花了点时间搜索实验,整理如下:先把要安装的初始数据文件导出为initial.dmp,然后在客户计算上安装好oracle,接着执行批处理文件impInitialData.bat(与该批处理文件同一目录还有createuser.sql,initial.dmp两个文件)impInitialData.bat中内容如下:@echo offsqlplus system/manager @createuserimp system/manager file=initial.dmp fromuser=initialuser touser=initialuser ignore = y上面的createuser是一个扩展名为sql的文件.与批处理文件放在同一目录下.其内容为:create user initialuser identified by test;grant dba,resource,connect to initialuser;exit;简要解释一下:@echo off 表示其之后的命令不在命令提示符窗口显示出来sqlplus为oracle的一个工具程序,须先安装oracle后才能使用system/manager 为oracle的一个默认管理员帐户,如果被锁定或更改密码了就不能用了,可以用其它的帐户/密码来替换;@createuser 表示执行createuser.sql文件该sql文件中, create user xx identified by yy;表示创建一个密码为yy的用户xx;grant dba,resource,connect to xx;表示授权给用户xx dba,resource,connect 权限imp 为导入数据命令,后面的参数中file表示要导入的数据库文件;fromuser表示原导出的数据库文件的用户名;touser表示要导入的数据库的用户名;ignore表示忽略错误大致的方法就是这样,可以再增添其它命令来执行更复杂的操作.Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。
Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接(通过net8 assistant中本地-->服务命名添加正确的服务命名其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。
你同样可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录\ora81\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文件可以很好的压缩。
不过在上面命令后面加上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能否连上。
以前我们一般都是使用PL/SQL Developer来实现,但是PL/SQL Developer在导出、导入数据时有两个问题:1、要把表数据和对象(存储过程、视图)分开导出2、导出的视图如果有注释,那么在导入时常常会出错。
其实,PL/SQL的导出、导入功能使用的是Oracle自带的工具:exp和imp,这两个工具的导出导入数据时提供了很多功能,PL/SQL 只是使用其中的一些功能。
下面对它们简单介绍一下:1 exp/imp使用方法及实例exp/imp为一种数据库备份恢复工具也可以作为不同数据库之间传递数据的工具两个数据库所在的操作系统可以不同exp 可以将数据库数据导出为二进制文件imp 可以将导出的数据文件再导入到相同的数据库或不同的数据库数据库导出有四种模式full(全库导出), owner(用户导出), table(表导出), tablespace(表空间导出).full( 全库导出): 导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 这些系统用户之外的所有用户的数据.owner( 用户导出): 导出某个或某些用户的所有权限和数据.tables( 表导出): 导出某些表(可以是不同用户的)的结构和数据.tablespace( 表空间导出):表空间导出数据.执行exp 有三种方法:交互式,命令行和参数文件交互式:直接输入exp 命令用户可以按照exp 提示的信息一步一步操作,比较简单.命令行:输入命令行exp username/password parameter=value.参数文件:输入命令行exp username/password parfile=filename exp 所需的参数从参数文件引入.参数是可以重复的优先级为命令行优于参数文件后面的参数值覆盖于前面的参数值.参数介绍详细的介绍可通过exp help=y或imp helpe=y来查看。
下面只对一些常用的参数进行说明。
buffer 缓冲区大小如果此值设为0 则一次只导入一条记录对数据量大的导出可以设置较大一般缺省值即可.file 导出的文件列表可以指定一个或多个文件名缺省扩展名为.dmp 缺省导出文件名为expdat.dmp.filesize exp 导出文件的最大字节数超出时从文件列表中获取下一个文件名,没有,则提示输入新的文件名.help 显示export 参数帮助信息inctype 增量备份的类型:complete(完全),cumulative(累积)和incremental (增量).只可以在全库导出模式下才可以做完全累积或增量导出累积导出只导出自上次累积导出或完全导出以来已经修改的表增量导出只导出自上次增量累积或完全导出以来已经修改的表完全导出将数据库中全部对象都导出不管是否以及何时被修改.log:日志文件,一般如果以命令行导入时,将log 设置上比较好可以看,到所有的导入信息,导入信息哪儿出错,导入了那些数据库对象.show(imp):只是用来显示备份数据文件的内容.full:为Y时表示在全库方式下导出缺省为N.tables:导出的表列表可以指定一个或多个表名.fromuser(imp):可以将导出文件中的一个用户模式的数据对象导入为另一个用户模式的对象此参数表示导出文件中的用户模式.touser(imp):此参数表示导入到数据库中时使用的用户模式对象譬如使用全库或者用户模式导出caittmdba用户的所有对象到一个文件中导入时需要将用户模式名称改为caittmdba1此时fromuser 为caittmdba,touser 为caittmdba1导出、导入实例导出数据:D:\oracle\ora92\bin\exp userid=caittmdba/cait@YSDB_192.168.1.2 owner=caittmdba file=e:\%DA TE%.dmp log=e:\exp.log通过该命令可以把caittmdba这个用户所属的所有数据、对象导出到一个文件中,导出的日志写在e:\exp.log文件中,连接Oracle的本地服务名为YSDB_192.168.1.2,导出的文件为e:\%DA TE%.dmp,这个文件的文件名是当前的日期。
如果把这个命令写成批处理文件,并放到计划任务中,就可以自动进行备份数据了。
导入数据:D:\oracle\ora92\bin\imp userid=caittmdba/cait@YSDB_192.168.1.2 fromuser=caittmdba touser=caittmdba file=e:\data.dmp log=e:\imp.log注意事项在导出数据时常常会出现Oracle 942 错误,这个错误往往是在对Oracle进行了升级后才会出现,这是Oracle升级程序的一个Bug(Oracle的Bug和补丁一直以来都是满天飞,而且不成体系,文档和技术支持以少,这一点和MS比起来就差很远了。