Oracle11G数据泵导入导出-changxf-20140926
oracle使用数据泵导出和导入

使用数据泵导出和导入几乎所有DBA都熟悉oracle的导出和导入实用程序,它们将数据装载进或卸载出数据库,在oracle database 10g和11g中,你必须使用更通用更强大的数据泵导出和导入(Data Pump Export and Import)实用程序导出和导入数据。
以前的导出和导入实用程序在oracle database 11g中仍然可以使用,但是Oracle强烈建议使用数据泵(Data Pump)技术,因为它提供了更多的高级特性。
例如,你可以中断导出/导入作业,然后恢复它们;可以重新启动已失败的导出和导入作业;可以重映射对象属性以修改对象;可以容易地从另一个会话中监控数据泵的作业,甚至可以在作业过程中修改其属性;使用并行技术很容易快速移动大量的数据;因为oracle提供了针对数据泵技术的API,所以可以容易地在PL/SQL 程序中包含导出/导入作业;可以使用更强大的可移植表空间特性来快速移植大量的数据,甚至可在不同操作系统平台之间移动。
与旧的导出和导入实用程序不同,数据泵程序有一组可以在命令行中使用的参数以及一组只能以交互方式使用的特殊命令,你可以通过在命令行中输入expdp help = y 或者impdp help = y快速获取所有数据泵参数及命令的概述。
一.数据泵技术的优点原有的导出和导入技术基于客户机,而数据泵技术基于服务器。
默认所有的转储,日志和其他文件都建立在服务器上。
以下是数据泵技术的主要优点:1.改进了性能2.重新启动作业的能力3.并行执行的能力4.关联运行作业的能力5.估算空间需求的能力6.操作的网格方式7.细粒度数据导入功能8.重映射能力二.数据泵导出和导入的用途1.将数据从开发环境转到测试环境或产品环境2.在不同的操作系统平台上的oracle数据库直接的传递数据3.在修改重要表之前进行备份4.备份数据库5.把数据库对象从一个表空间移动到另一个表空间6.在数据库直接移植表空间7.提取表或其他对象的DDL注意:数据库不建立完备的备份,因为在导出文件中没有灾难发生时的最新数据。
oracle 导出导入操作

oracle 导出导入操作基础知识:一、数据导出(exp.exe)1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中exp system/accp@orcl file=d:\daochu.dmp full=y2、将数据库orcl中scott用户的对象导出exp scott/accp@orcl file=d:\daochu.dmp owner=(scott)3、将数据库orcl中的scott用户的表emp、dept导出exp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)4、将数据库orcl中的表空间testSpace导出exp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)二、数据导入(imp.exe)1、将d:\daochu.dmp 中的数据导入orcl数据库中。
imp system/accp@orcl file=d:\daochu.dmp full=y2、如果导入时,数据表已经存在,将报错,对该表不会进行导入;加上ignore=y即可,表示忽略现有表,在现有表上追加记录。
imp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y3、将d:\daochu.dmp中的表emp导入imp scott/accp@orcl file=d:\daochu.dmp tables=(emp)ok,现在尝试导出数据首先查看字符集select userenv(‘language’) from dual;分别查看字符集是否相同,不相同的话更改一致,否则不能正常导入我在执行过程中出现错误error: ora-12712(解决办法)shutdown immediate;startup mount;ALTER SESSION SET SQL_TRACE=TRUE;ALTER SYSTEM ENABLE RESTRICTED SESSION;ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;ALTER DATABASE OPEN;set linesize 120;alter database character set zhs16gbk;RROR at line 1:ORA-12712: new character set must be a superset of old character setALTER DATABASE character set INTERNAL_USE zhs16gbk;ALTER SESSION SET SQL_TRACE=FALSE;shutdown immediate;STARTUP执行导出命令exp scott/cat@orcl wner=scott direct=y file=scott.dmp执行成功后将scott.dmp 拷贝至目标数据库执行导入命令imp scott/cat@orcl fromuser=scott touser=scott ignore=y file=d:\jzz.DMP。
oracle使用数据泵导出和导入

使用数据泵导出和导入几乎所有DBA都熟悉oracle的导出和导入实用程序,它们将数据装载进或卸载出数据库,在oracle database 10g和11g中,你必须使用更通用更强大的数据泵导出和导入(Data Pump Export and Import)实用程序导出和导入数据。
以前的导出和导入实用程序在oracle database 11g中仍然可以使用,但是Oracle强烈建议使用数据泵(Data Pump)技术,因为它提供了更多的高级特性。
例如,你可以中断导出/导入作业,然后恢复它们;可以重新启动已失败的导出和导入作业;可以重映射对象属性以修改对象;可以容易地从另一个会话中监控数据泵的作业,甚至可以在作业过程中修改其属性;使用并行技术很容易快速移动大量的数据;因为oracle提供了针对数据泵技术的API,所以可以容易地在PL/SQL 程序中包含导出/导入作业;可以使用更强大的可移植表空间特性来快速移植大量的数据,甚至可在不同操作系统平台之间移动。
与旧的导出和导入实用程序不同,数据泵程序有一组可以在命令行中使用的参数以及一组只能以交互方式使用的特殊命令,你可以通过在命令行中输入expdp help = y 或者impdp help = y快速获取所有数据泵参数及命令的概述。
一.数据泵技术的优点原有的导出和导入技术基于客户机,而数据泵技术基于服务器。
默认所有的转储,日志和其他文件都建立在服务器上。
以下是数据泵技术的主要优点:1.改进了性能2.重新启动作业的能力3.并行执行的能力4.关联运行作业的能力5.估算空间需求的能力6.操作的网格方式7.细粒度数据导入功能8.重映射能力二.数据泵导出和导入的用途1.将数据从开发环境转到测试环境或产品环境2.在不同的操作系统平台上的oracle数据库直接的传递数据3.在修改重要表之前进行备份4.备份数据库5.把数据库对象从一个表空间移动到另一个表空间6.在数据库直接移植表空间7.提取表或其他对象的DDL注意:数据库不建立完备的备份,因为在导出文件中没有灾难发生时的最新数据。
数据泵导入导出详解

数据泵技术是Oracle Database 10g 中的新技术,它比原来导入/导出(imp,exp)技术快15-45倍。
速度的提高源于使用了并行技术来读写导出转储文件。
expdp使用使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。
因此使用EXPDP工具时,,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用DIRECTORY对象权限。
首先得建DIRECTORY:SQL> conn /as sysdbaSQL> CREATE OR REPLACE DIRECTORY dir_dump AS '/u01/backup/';SQL> GRANT read,write ON DIRECTORY dir_dump TO public;1) 导出scott整个schema--默认导出登陆账号的schema$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.log--其他账号登陆, 在参数中指定schemas$ expdp system/oracle@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.logSCHEMAS=SCOTT2) 导出scott下的dept,emp表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=DEPT,EMP3) 导出scott下除emp之外的表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logEXCLUDE=TABLE:"='EMP'"4) 导出scott下的存储过程$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=PROCEDURE5) 导出scott下以'E'开头的表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=TABLE:"LIKE 'E%'" //可以改成NOT LIKE,就导出不以E开头的表6) 带QUERY导出$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=EMP,DEPTQUERY=EMP:"whereempno>=8000"QUERY=DEPT:"wheredeptno>=10 and deptno<=40"注: 处理这样带查询的多表导出, 如果多表之间有外健关联, 可能需要注意查询条件所筛选的数据是否符合这样的外健约束, 比如EMP中有一栏位是deptno, 是关联dept中的主键, 如果"whereempno>=8000"中得出的deptno=50的话, 那么, 你的dept的条件"wheredeptno>=10 and deptno<=40"就不包含deptno=50的数据, 那么在导入的时候就会出现错误.expdp选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下:ATTACH=[schema_name.]job_nameschema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:expdpscott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALL.语法如下:CONTENT={ALL | DATA_ONLY |METADATA_ONLY}当设置CONTENT为ALL 时,将导出对象定义及其所有数据; 为DATA_ONLY时,只导出对象数据; 为METADATA_ONLY时,只导出对象定义,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dumpCONTENT=METADATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录.语法如下:DIRECTORY=directory_objectdirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dump建立目录:CREATE DIRECTORY dump as 'd:dump';查询创建了那些子目录:SELECT * FROM dba_directories;4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmp.语法如下:DUMPFILE=[directory_object:]file_name[,….]directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象,示例如下:expdpscott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间的方法.默认值是BLOCKS.语法如下:EXTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间,示例如下:expdpscott/tiger TABLES=emp ESTIMATE=STATISTICSDIRECTORY=dumpDUMPFILE=a.dump一般情况下, 当用默认值(blocks)时, 日志中估计的文件大小会比实际expdp出来的文件大, 用statistics时会跟实际大小差不多.6. EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为N.语法如下:EXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作,示例如下:expdpscott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE该选项用于指定执行操作时要排除的对象类型或相关对象.语法如下:EXCLUDE=object_type[:name_clause][,….]object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW在EXPDP的帮助文件中, 可以看到存在EXCLUDE和INCLUDE参数, 这两个参数文档中介绍的命令格式存在问题, 正确用法是:EXCLUDE=OBJECT_TYPE[:name_clause][,...]INCLUDE=OBJECT_TYPE[:name_clause][,...]示例:Expdp<other_parameters> schema=scottexclude=sequence,table:"in('EMP','DEPT')"impdp<other_parameters> schema=scott include = function,package, procedure, table:"='EMP'"有了这些还不够, 由于命令中包含了多个特殊字符, 在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行,如:EXCLUDE=TABLE:"IN('BIGTALE')"8. FILESIZE指定导出文件的最大尺寸,默认为0(表示文件尺寸没有限制).9. FLASHBACK_SCN指定导出特定SCN时刻的表数据.语法如下:FLASHBACK_SCN=scn_valuescn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmpFLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据.语法如下:FLASHBACK_TIME="TO_TIMESTAMP(time_value)"示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME ="TO_TIMESTAMP('25-08-200414:35:00','DD-MM-YYYY HH24:MI:SS')"11. FULL指定数据库模式导出,默认为N.语法如下:FULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N.当设置为Y时,会显示导出选项的帮助信息,示例如下:expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象.语法如下:INCLUDE=object_type[:name_clause][,… ]示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp INCLUDE=trigger1.1.2 expdp选项14. JOB_NAME指定要导出作用的名称,默认为SYS_XXX.语法如下:JOB_NAME=jobname_string示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmpINCLUDE=triggerJOB_NAME=exp_trigger后面想临时停止expdp任务时可以按Ctrl+C组合键,退出当前交互模式,退出之后导出操作不会停止,这不同于Oracle以前的EXP. 以前的EXP,如果退出交互式模式,就会出错终止导出任务. 在Oracle10g中,由于EXPDP是数据库内部定义的任务,已经与客户端无关. 退出交互之后,会进入export的命令行模式,此时支持status等查看命令:Export> status如果想停止改任务,可以发出stop_job命令:Export>stop_job如果有命令行提示: "是否确实要停止此作业([Y]/N):" 或"Are you sure you wish to stop this job ([yes]/no):", 回答应是yes或者no, 回答是YES以后会退出当前的export界面.接下来可以通过命令行再次连接到这个任务:expdp test/test@acf attach=expfull通过start_job命令重新启动导出:Export>start_jobExport> status15. LOGFILE指定导出日志文件文件的名称,默认名称为export.log.语法如下:LOGFILE=[directory_object:]file_namedirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.expdp中使用连接字符串和network_link的区别:expdp属于服务端工具,而exp属于客户端工具,expdp生成的文件默认是存放在服务端的,而exp生成的文件是存放在客户端.expdp username/password@connect_string //对于使用这种格式来说,directory使用源数据库创建的,生成的文件存放在服务端。
ORACLE 11g数据导入导出

导入时选 择合理的 parallel, 是可以降 低导入数 据时的时 间的,导 入数据时 指定 parallel 值,实际 是用在了 创建索引 的并行度 上 所以在导 入操作时 选择较大 的并行 度,是可 以大幅度 降低提高 创建索引 的速度, 从而加快 导入时的 速度。当 然度如增果 加并 到 太大的 值,会产 生I/O和 锁之类的 竞争,导 致导入速 度降低。
2)改变表 的owner impdp system/D igicom201 4 DIRECTO RY=exp_d ir2 DUMPFIL E=exp_sc ott.dmp TABLES= scott.dep t REMAP_S CHEMA= scott:syst 先导出 scott用户 中的数 据,然后 将此用户 下的表 dept的归 属权转移 给system 用户
导出完 成:
导出的文 件:
6)带出整 个数据库 在DOS环 境下输入 expdp system/D igicom201 4 directory =exp_dir2 dumpfile = full_demo. dmp logfile = full_demo.
导出成 功:
查看导出 文件:
数据导入:
导出成功 。
导出的文 件:
3)按表名 导出 在DOS中 输入: expdp system/D igicom201 4@myorcl tables=st udent dumpfile= table_dem o.dmp directory =exp_dir2 logfile=ta ble_demo.l og
执行结束
查看dept 表的 owner
3)导入表 空间 impdp system/D igicom201 4 DIRECTO RY=exp_d ir2 DUMPFIL E=tablesp ace_demo .dmp TABLES PACES=s ystem;
Oracle 11G数据库导出问题解决

Oracle 11G数据库导出问题解决oracle11g数据库导出问题解决一:11g数据库dmp文件导出问题问题描述:windows2021r2无法正常加装64十一位oracle10g,只可以加装64十一位11g和32十一位10g(兼容性模式)。
由于我们习惯用10g客户端相连接11g数据库展开建立表中空间等有关操作方式,此时求出存有一个问题:通过exp命令求出的dmp版本与客户端版本有关,如果10g客户端相连接另一台服务器上的11g数据库通过exp求出dmp文件在完结后可以提示信息“切换外溢数据类型错误”,这就是因客户端(10g)和数据库(11g)版本号不一致引致。
但如果客户端和数据库在同一服务器,求出时会通过环境变量去挑选调用适当版本的exp程序,我们在求出窗口中也可以看见适当版本号。
所以客户端和数据库在一台服务器时,求出完结后通常不能存有问题(由于环境变量的布局而调用了11g数据库的exp程序)。
问题解决:方法一:求出11g数据库的dmp文件中无法涵盖空表,可以使用以下方法化解:求出前在plsql中继续执行以下语句,用以查阅当前用户下数据库中所有空表:select'altertable'||table_name||'allocateextent;'fromuser_tableswherenum_rows=0将查询出的结果中生成的语句复制到sql窗口中执行,通过给所有空表分配空间的方式就可以通过exp命令成功导出空表。
对于加装oracle11g的2021r2服务器,如果数据库和客户端拆分,可以在客户端服务器加装一个11g客户端,再协调上面的方法,就可以正常求出涵盖空表的dmp文件,并且因为调用的就是11g客户端的exp命令,求出完结也不收起。
但由于导出所用的exp版本号为11g,直接将dmp文件导入10g会提示头部验证失败:可以用notepad++修正版本号用imp引入10g数据库,经测试引入并无错误提示信息,登入系统可以正常采用。
oracleg数据库导入导出方法教程

oracleg数据库导入导出方法教程Oracle 11g 是一种关系型数据库管理系统,它具有很多强大的功能,包括数据导入和导出。
在本教程中,我们将介绍 Oracle 11g 数据库的导入和导出方法。
导出数据的方法有两种,一种是使用 exp 工具,另一种是使用expdp 工具。
exp 工具是在 Oracle 11g 之前版本中使用的,而 expdp工具是在 Oracle 11g 之后版本中引入的。
在这个教程中,我们将使用expdp 工具来导出数据。
导出数据的步骤如下:1. 打开终端或命令提示符,并登录到您的 Oracle 数据库。
2.使用以下命令导出整个数据库:```sql```其中,username 是数据库用户名,password 是密码,connect_string 是连接字符串,directory_name 是要导出数据的目录名称,dumpfile_name 是要导出数据的文件名称。
例如,如果要导出一个用户的数据,可以使用以下命令:```sql```这将导出 hr 用户的数据到 datapump 目录,并生成一个 hr.dmp 文件。
3.数据导出完成后,您可以在指定目录下找到生成的导出文件。
导入数据的方法也有两种,一种是使用 imp 工具,另一种是使用impdp 工具。
在这个教程中,我们将使用 impdp 工具来导入数据。
导入数据的步骤如下:1. 打开终端或命令提示符,并登录到您的 Oracle 数据库。
2.使用以下命令导入数据:```sql```其中,username 是数据库用户名,password 是密码,connect_string 是连接字符串,directory_name 是导入数据的目录名称,dumpfile_name 是要导入的数据文件的名称。
例如,如果要导入一个用户的数据,可以使用以下命令:```sql```这将导入 hr 用户的数据,该数据文件位于 datapump 目录下的hr.dmp 文件。
oracle11g数据库导入导出方法教程

oracle11g数据库导入导出方法教程oracle11g数据库导入导出:①:传统方式——exp(导出)和(imp)导入:②:数据泵方式——expdp导出和(impdp)导入;③:第三方工具——PL/sql Develpoer;一、什么是数据库导入导出?oracle11g数据库的导入/导出,就是我们通常所说的oracle数据的还原/备份。
数据库导入:把.dmp 格式文件从本地导入到数据库服务器中(本地oracle测试数据库中);数据库导出:把数据库服务器中的数据(本地oracle测试数据库中的数据),导出到本地生成.dmp格式文件。
.dmp 格式文件:就是oracle数据的文件格式(比如视频是.mp4 格式,音乐是.mp3 格式);二、二者优缺点描述:1.exp/imp:优点:代码书写简单易懂,从本地即可直接导入,不用在服务器中操作,降低难度,减少服务器上的操作也就保证了服务器上数据文件的安全性。
缺点:这种导入导出的速度相对较慢,合适数据库数据较少的时候。
如果文件超过几个G,大众性能的电脑,至少需要4~5个小时左右。
2.expdp/impdp:优点:导入导出速度相对较快,几个G的数据文件一般在1~2小时左右。
缺点:代码相对不易理解,要想实现导入导出的操作,必须在服务器上创建逻辑目录(不是真正的目录)。
我们都知道数据库服务器的重要性,所以在上面的操作必须慎重。
所以这种方式一般由专业的程序人员来完成(不一定是DBA(数据库管理员)来干,中小公司可能没有DBA)。
3.PL/sql Develpoer:优点:封装了导入导出命令,无需每次都手动输入命令。
方便快捷,提高效率。
缺点:长时间应用会对其产生依赖,降低对代码执行原理的理解。
三、特别强调:目标数据库:数据即将导入的数据库(一般是项目上正式数据库);源数据库:数据导出的数据库(一般是项目上的测试数据库);1.目标数据库要与源数据库有着名称相同的表空间。
数据泵导入导出步骤(从sqlplus登录到导入过程)

1、首先建立目录:create directory 目录名称as '数据库服务器上的一个目录',如:create directory 别名as 'd:\服务器目录名';将导入或导出的文件放在这个目录下2、导出及导入以SID=orcl,导出dmp的账号为test,导入dmp的账号为test为例。
若将数据从sfz中导出:expdp test/test@orcl directory=别名dumpfile=导出文件名导入到test中:impdp test/test@orcl directory=别名dumpfile=导出文件名.dmp导入到处用户名不一样时,做个映射,一样时,不用写remap_schema=test:test111g版本导出,导入到10g具体如下:导出脚本(11G):expdp test109/test109@orcl directory=expdp dumpfile=test10930bak.dmp logfile=mydb.log filesize=200m full=y version=10.2.0.1.0version号一定要哈导入脚本(10G):impdp shl1017/shl1017 directory=expdpdumpfile=TEST10930BAK.dmp version=10.2.0.1.0 REMAP_SCHEMA=test109:shl1017各参数对应的数据你根据自己的修改下2015-11-24下午数据泵方式导入zh.dmp过程:1、建立目录(expnc_dir为别名)create directory expnc_dir as 'E:\ncdatabak';2、导入数据impdp system/oracle@orcl directory=expnc_dir dumpfile=zh.dmp;3、根据错误日志文件(E:\ncdatabak目录下),建立用户、临时空间、用户空间a、删除用户及空间(再次导入的时候使用)drop user zh cascade;DROP TABLESPACE EAS_D_ZH_STANDARD INCLUDING CONTENTS AND DATAFILES;DROP TABLESPACE temp_zh INCLUDING CONTENTS AND DATAFILES;b、建立空间create tablespace EAS_D_ZH_STANDARDlogging datafile 'D:\app\Administrator\oradata\orcl\EAS_D_ZH_STANDARD.dbf'size 5gautoextend onnext 100m maxsize UNLIMITEDextent management local;c、建临时空间create temporary tablespace temp_zhtempfile 'D:\app\Administrator\oradata\orcl\temp_zh.dbf'size 100mautoextend onnext 32m maxsize UNLIMITEDextent management local;d、修改自动增长的太小alter database datafile 'D:\app\Administrator\oradata\orcl\EAS_D_ZH_STANDARD.dbf' autoextend on next 100m maxsize UNLIMITED;e、建用户create user zh identified by zhdefault tablespace EAS_D_ZH_STANDARDtemporary tablespace temp_zh;f、授权grant dba,connect,resource to zhg、导入数据impdpzh/zh directory=expnc_dir dumpfile=ZH.dmpremap_schema=zh:zhremap_tablespace=EAS_D_ZH_STANDARD:EAS_D_ZH_STANDARD(注意不带;)或impdp zh/zh@orcl directory=expnc_dir dumpfile=zh.dmp;注意:a、temp表空间不能自动扩展,所以建了一个有自动扩展的空间temp_zhb、出错的时候需要删除用户、表空间、临时空间再重新建立、再导入Oracle命令(一):Oracle登录命令()1、运行SQLPLUS工具C:\Users\wd-pc>sqlplus2、直接进入SQLPLUS命令提示符C:\Users\wd-pc>sqlplus /nolog3、以OS身份连接C:\Users\wd-pc>sqlplus / as sysdba 或SQL>connect / as sysdba4、普通用户登录C:\Users\wd-pc>sqlplus scott/123456 或SQL>connect scott/123456 或SQL>connect scott/123456@servername5、以管理员登录C:\Users\wd-pc>sqlplus sys/123456 as sysdba或SQL>connect sys/123456 as sysdba6、切换用户SQL>conn hr/123456注:conn同connect7、退出exitOracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类应该是在cmd的dos命令提示符下执行,而不是在sqlplus里面。
Oracle11g导入导出命令

Oracle11g导⼊导出命令
⾸先需要进⼊系统的cmd:
执⾏导出命令,效果如下
expdp hisjk/hisjk@orcl directory=DATA_PUMP_DIR dumpfile=hisjk.dmp SCHEMAS=hisjk logfile=hisjk.log ;
再执⾏导⼊命令
impdp hisjk/hisjk@orcl directory=DATA_PUMP_DIR dumpfile=hisjk.dmp SCHEMAS=hisjk logfile=hisjk.log
TABLE_EXISTS_ACTION=TRUNCATE ;
其中
TABLE_EXISTS_ACTION 的解释如下
当使⽤完成时,如遇到表已存在时,提供给我们如下四种处理⽅式:
a.忽略(,默认⾏为);
b.在原有数据基础上继续增加(APPEND);
c.先DROP表,然后创建表,最后完成数据插⼊(REPLACE);
d.先,再完成数据插⼊(TRUNCATE)。
如果遇到在cmd sqlplus/nolog 之后执⾏conn user/pass@orcl登录不了的话可以去系统环境变量中查看 path中 server的位置是否被放在了客户端的位置之后
例如:下⾯的是正常的哦
如果不正常的话,那服务端的地址放在客户端地址之前就可以了,因为服务器是按照地址先后顺序来解析oracle server的。
Oracle数据泵方式导入导出

一、EXPDP和IMPDP使用说明Oracle Database 10g引入了最新的数据泵(Data Pump)技术,数据泵导出导入(EXPDP和IMPDP)的作用1)实现逻辑备份和逻辑恢复.2)在数据库用户之间移动对象.3)在数据库之间移动对象4)实现表空间搬移.二、数据泵导出导入与传统导出导入的区别在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项:1) EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
2) EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
3) IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.【pump特点】与原有的export和import使用程序相比,oracle的data pump工具的功能特点如下:1) 在导出或者导入作业中,能够控制用于此作业的并行线程的数量。
2) 支持在网络上进行导出导入,而不需要是使用转储文件集。
3) 如果作业失败或者停止,能够重新启动一个data pump作业。
并且能够挂起恢复导出导入作业。
4) 通过一个客户端程序能够连接或者脱离一个运行的作业。
5) 空间估算能力,而不需要实际执行导出。
6) 可以指定导出导入对象的数据库版本。
允许对导出导入对象进行版本控制,以便与低版本数据库兼容。
三、导入导出操作1.导出数据1.1在数据库服务端,用system用户通过sqlplus命令登录到oracle,sqlplus logis/logis@logis_local;1.2在oracle中创建目录,如下:CREATE DIRECTORY LOGIS_EXP_DIR AS 'd:\data';注意:d:\data 这个目录必须是磁盘上实际存在的,可以是其他目录名称和路径。
oracle 11g 数据泵导入导出方法

oracle 11g 数据泵导入导出方法
工具/原料电脑
安装好的oracle 11g 软件
方法/步骤1:
打开开始菜单中的运行
方法/步骤2:
打开以后,在运行框中输入CMD,点击确定
方法/步骤3:
运行以下命令:
sqlplus system/密码
方法/步骤4:
2 创建数据导出目录expnc_dir为目录名,'E:\ncdatabak'为数据库实际目录,命令如下:
create directory expnc_dir as 'E:\ncdatabak';
方法/步骤5:
为oracle用户授予访问数据目录的权限,命令如下:Grant read,write on directory expnc_dir to dxzyjt;
方法/步骤6:
执行数据泵出命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。
expdp dxzyjt/dxzyjt@ncdata_192.168.1.224 directory=expnc_dir dumpfile=ncdatabak.dmp schemas=dxzyjt logfile=ncdatabak.log; 备份界面如下:
方法/步骤7:
以上是导出的步骤,导入与导出的步骤基本一样,有不清楚的可以联系我。
使用数据泵方式导入导出oracle数据(不导出附件表)

一、数据导出expdp1)使用oracle sys用户登录,创建directory并赋予权限。
create directory expdpdata as 'D:\DATA\';如果是在linux服务器上,请修改对应的目录,一定要保证对应的目录是存在的。
并且空间足够。
2)赋予权限:grant read,write on directory expdpdata to lyd;3)切换到dos界面(退出oracle登录)进行数据导出(开始会等待比较长的时间):expdp erpdb/erpdb directory=expdpdata schemas=erpdb dumpfile=2012-08-09.dmp logfile=2012-08-09.log exclude=table:\"IN\(\'SM_PUB_FILESYSTEM\',\’HR_ATTACHMENT\’\)\"完整截图如下:二、数据导入impdp导入时也需要和导出一样创建对应的目录和授权,将dmp文件放到创建的目录下。
1)导到指定用户下:impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;2)改变表的owner:impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;3)导入表空间:impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;4)导入数据库:impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加数据:impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;。
Oracle11G导入导出(imp和exp)少表解决方法

Oracle 11G R2 用exp无法导出空表解决方法Oracle 11G在用E XPORT导出时,空表不能导出11G R2中有个新特性,当表无数据时,不分配segment,以节省空间解决方法:一、insert一行,再rollb ack就产生segment了。
该方法是在在空表中插入数据,再删除,则产生segment。
导出时则可导出空表。
二、设置defe rred_segme nt_cr eatio n 参数该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
修改SQL语句:altersystem set deferr ed_se gment_crea tion=falsescope=both;需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。
如需导出之前的空表,只能用第一种方法。
三、用以下这句查找空表select 'alter table '||table_name||' allocate extent;' from user_t ables wherenum_ro w s=0;把查询结果导出,执行导出的语句,强行修改se gment值,然后再导出即可导出空表,注意:数据库插入数据前,修改11g_R2参数可以导出空表查找空表select 'altertable'||table_name||' alloca te extent;' from user_t ables wherenum_ro ws=0四、Oracle 10g以后增加了exp dp和im pdp工具,用此工具也可以导出空的表oracle expdp/impdp用法详解1)创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
Oracle 11g的数据库导入导出

oracle 11g 数据库导入导出一、导入数据库1、新建一个表空间,表空间的名字、大小请根据具体项目进行调整。
--建立表空间sql语句create tablespace raxmdatafile 'E:\11g\oradata\orcl\raxm.dbf'size 2048mautoextend on next 32m maxsize 4096m2、新建一个用户,要注意选择默认的表空间、对角色权限、系统权限进行授权,如下图所示:3、将要导入的数据库文件拷到oracle 11 g安装目录下,我oracle 11g 的安装目录是:E:oracle11g\admin\orcl\dpdmp,我就将数据库文件拷到该目录下,并将要导入的数据库文件重命名为:expdat.dmp,这里一定要重命名为这个名字,因为第4步的导入数据库默认的路径就是E:oracle11g\admin\orcl\dpdmp,导入的数据库文件为expdat.dmp,操作如下图所示:4、打开控制台,输入impdp rays/1,这里的rays指的是你刚才建立的用户,1指的是该用户的密码。
5、为了安全起见,导入完成之后,去数据库验证下导入的数据库是否正确。
6、如果在导入数据库的过程中有出现问题,可以参考附录中的百度版oracle 11g 导入导出。
二、导出数据库导出数据库是导入数据库的逆过程,具体步骤如下:1、打开控制台,输入expdp raxm/1,其中expdp表示导出数据库,raxm 表示用户,1表示密码,如下图所示:2、控制台显示成功导出之后,可以在oracle 11 g安装目录下,我oracle 11g的安装目录是:E:oracle11g\admin\orcl\dpdmp,找到导出的数据库文件,如下图所示:3、接着你就可以根据项目的需要对导出来的数据库进行重命名。
4、如果在导出数据库的过程中有出现问题,可以参考附录中的百度版oracle 11g 导入导出。
Oracle数据库数据泵的导入导出使用

Oracle数据库数据泵的导⼊导出使⽤`Oracle数据库数据泵的导⼊导出使⽤:导出:1.登录数据库sqlplus / as sysdba2.查询有哪些操作⽬录select * from dba_directories;3.创建存放导出dmp⽂件的⽬录(需要⽬录真是存在),⽤系统管理员登录数据库,在SQL执⾏器中执⾏如下命令create directory dump_dir as '/home/oracle/data/expdpfile';4.修改所创建的⽬录所属的⽤户及⽤户组chown -R oracle:oinstall /home/oracle/data/expdpfile;5.将该⽬录的使⽤权限赋给⽤户,执⾏如下命令(SQL执⾏器执⾏)grant read,write on directory dump_dir to HZJSAAS;6.导出数据(切换到数据泵存放的路径下,执⾏cmd命令⾏如下)expdp HZJSAAS/HZJSAAS@bpmtest directory= dump_dir file=bpm.dmp logfile=export.log schemas=HZJSAAS===================================================导⼊:1.删除⽤户drop user HZJSAAS cascade2.创建⽤户CREATE USER HZJSAAS IDENTIFIED BY 1 DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;3.给⽤户授权GRANT connect,dba,resource to HZJSAAS;4.创建存放导⼊dmp⽂件的⽬录create directory impnc_dir as '/home/oracle/data/expdpfile';5.将该⽬录的使⽤权限赋给⽤户,执⾏如下命令(SQL执⾏器执⾏)Grant read,write on directory impnc_dir to HZJSAAS;6.导⼊数据remap_tablespace=HZJSAAS:HZJSAAS 原来表空间:新的表空间remap_schema=HZJSAAS:HZJSAAS 原来的schema:现在的schematransform=segment_attributes:n 去掉表空间和存储⼦句,加上这个参数后,remap_tablespace参数就会失效,就会倒进⽤户默认的表空间impdp HZJSAAS/1@orcl dumpfile =bpm.dmp logfile=export.log directory=impnc_dir remap_schema=HZJSAAS:HZJSAAS`。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle11G数据库命令:
1进入SQLPLUS状态
1、打开【附件】-【命令提示符】,以系统管理员的身份运行;
2、输入sqlplus / as sysdba;
3、回车执行语句,进入数据库;
2用户管理
【说明】:在SQLPLUS状态下执行。
2.1创建用户
CREATE USER yonghuming IDENTIFIED BY mima DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;
说明:
1、“yonghuming”——用户名称;
2、“mima”——用户密码;
2.2授权用户:(一般授权)
GRANT connect,dba to yonghuming;
说明:
1、“yonghuming”——用户名称;
2.3授权用户:(数据泵模式)
GRANT read,write on directory expdir to yonghuming;
说明:
1、“expdir”——数据泵创建的目录名称;
2、“yonghuming”——用户名称;
2.4查看用户
select username from dba_users;
2.5删除用户
drop user yonghuming(用户名)cascade;
3数据泵操作
3.1创建目录
1、在数据库实例上创建directory(sqlplus模式下执行)
CREATE OR REPLACE DIRECTORY 目录名称 AS '数据库服务器上的一个目录' 例如 CREATE OR REPLACE DIRECTORY expdir AS 'd:\';
红字为要命名的目录名称,as后面为实际路径(windows环境),把需要导入的数据直接放入d盘目录下即可。
2、创建后可以用这个命令来查看已存在的目录
(查看所有)
select * from dba_directories;
(查看制定目录名所在目录)
select * from dba_directories WHERE DIRECTORY_name='expdir';
3.2创建用户并授权
CREATE USER yonghuming IDENTIFIED BY mima DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;
GRANT read, write ON DIRECTORY expdir TO orcle;
1、红字“expdir”为创建的目录;
2、蓝字” yonghuming”为需要被授权的用户名;
3.3数据库备份导出
创建用户并授权后,在dos状态(非sqlplus下)
假设原用户名称为test:
expdp nc6/orcle@orcl schemas=nc6 dumpfile=nc6.dmp directory=expdir logfile=test.log;
3.4数据库导入
创建用户并授权后,在dos状态(非sqlplus下)
【说明】:
1、使用数据泵语句导出的数据库,必须对应使用数据泵语句导入。
2、执行脚本前,需要把数据库文件如SYYNC611_FINAL-2.dmp考到本机D盘根下(创建
的目录位置)。
1、导出前导入后的数据库用户名称一致
impdp test/1@orcl(用户\密码@实例名) directory=expdir(已经创建的目录) dumpfile=text.dmp(具体数据库名称) schemas=test(数据泵导出的用户名称);
2、导出前导入后的数据库用户名称不一致,需要做用户名的映射
假设导出前用户名为test,导入的新用户名为test1:
impdp test1/1@orcl(用户\密码@实例名) directory=expdir(已经创建的目录) dumpfile=text.dmp(具体数据库名称) schemas=test(数据泵导出的用户名称) remap_schema=test:test1(导出用户名:导入用户名);
其中:schemas是源用户remap_schema中test是源用户test1是将要导入的目的用户.
4单表备份命令
create table 新表名as select * from 旧表名
5普通模式下导出导入
5.1导出
exp test/1@orcl(用户名/密码@数据库实例名)file=D:\test.dmp
5.2导入
Imp test/1@orcl(用户名/密码@数据库实例名)file=D:\test.dmp full=y
6Oracle11g不能新增空表解决方法
说明:
在oracle 11g r2中,发现传统的exp脚本居然不能导出空的表,需要按照如下的步骤去操作。
6.1原因:
Oracle 11g 新增了一个参数:deferred_segment_creation,含义是段延迟创建,默认是true。
如果这个参数设置为true,你新建了一个表T1,并且没有向其中插入数据,那么这个表不会立即分配extent,也就是不占数据空间,只有当你insert数据后才分配空间,这样可以节省少量的空间。
6.2解决办法:
当设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment,就可以用exp\imp脚本操作数据库的导入导出
1、在sqlplus中,执行如下命令:
alter system set deferred_segment_creation=false;
2、查看参数值:
show parameter deferred_segment_creation;
如果参数值为false则表明修改成功。
【说明】该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。
需要重新启动数据库,让参数生效。
7NC数据库文件创建脚本
7.1NC5系列
7.1.1创建NC表空间
/*NC*/ E:\app\oradata\orcl
CREATE TABLESPACE NNC_DATA01 DATAFILE 'E:\app\oradata\orcl\nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPACE NNC_DATA02 DATAFILE 'E:\app\oradata\orcl\nnc_data02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPACE NNC_DATA03 DATAFILE 'E:\app\oradata\orcl\nnc_data03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K ;
CREATE TABLESPACE NNC_INDEX01 DATAFILE 'E:\app\oradata\orcl\nnc_index01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;
CREATE TABLESPACE NNC_INDEX02 DATAFILE 'E:\app\oradata\orcl\nnc_index02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;
CREATE TABLESPACE NNC_INDEX03 DATAFILE 'E:\app\oradata\orcl\nnc_index03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
7.1.2创建IUFO表空间
CREATE TABLESPACE iufo DATAFILE 'E:\app\oradata\orcl\iufo.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
7.2NC6系列
创建NC表空间
CREATE TABLESPACE NNC_DATA01 DATAFILE 'E:\app\oradata\orcl\nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPACE NNC_INDEX01 DATAFILE 'E:\app\oradata\orcl\nnc_index01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;。