信息发布软件,b2b软件,广告发布软件

标题: Oracle数据导入导出需要注意一些什么东西不会出错 [打印本页]

作者: 群发软件    时间: 2017-8-28 23:18
标题: Oracle数据导入导出需要注意一些什么东西不会出错
本帖最后由 群发软件 于 2017-8-28 23:19 编辑

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导出文件。
    数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式。
    EXPDP命令行选项
    1. ATTACH
    该选项用于在客户会话与已存在导出作用之间建立关联。语法如下
    ATTACH=[schema_name.]job_name
    Schema_name用于指定方案名,job_name用于指定导出作业名。注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:
    Expdp scott/tiger ATTACH=scott.export_job
    2. CONTENT
    该选项用于指定要导出的内容。默认值为ALL
    CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
    当设置CONTENT为ALL 时,将导出对象定义及其所有数据。为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义
    Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump
    CONTENT=METADATA_ONLY
    3. DIRECTORY
    指定转储文件和日志文件所在的目录
    DIRECTORY=directory_object
    Directory_object用于指定目录对象名称。需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录
    Expdp scott/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选项指定的目录对象
    Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp
    5. ESTIMATE
    指定估算被导出表所占用磁盘空间分方法。默认值是BLOCKS
    EXTIMATE={BLOCKS | STATISTICS}
    设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间
    Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS
    DIRECTORY=dump DUMPFILE=a.dump
    6. EXTIMATE_ONLY
    指定是否只估算导出作业所占用的磁盘空间,默认值为N
    EXTIMATE_ONLY={Y | N}
    设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作。
    Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y
    7. EXCLUDE
    该选项用于指定执行操作时释放要排除对象类型或相关对象
    EXCLUDE=object_type[:name_clause] [,…]
    Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象。EXCLUDE和INCLUDE不能同时使用
    Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW
    8. FILESIZE

    指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)
    9. FLASHBACK_SCN
    指定导出特定SCN时刻的表数据
    FLASHBACK_SCN=scn_value
    Scn_value用于标识SCN值。FLASHBACK_SCN和FLASHBACK_TIME不能同时使用
    Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp
    FLASHBACK_SCN=358523
    10. 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
    指定数据库模式导出,默认为N
    FULL={Y | N}
    为Y时,标识执行数据库导出。
    12. HELP
    指定是否显示EXPDP命令行选项的帮助信息,默认为N
    当设置为Y时,会显示导出选项的帮助信息。
    Expdp help=y
    13. INCLUDE
    指定导出时要包含的对象类型及相关对象
    INCLUDE = object_type[:name_clause] [,… ]
    14. JOB_NAME
    指定要导出作用的名称,默认为SYS_XXX
    JOB_NAME=jobname_string
    15. LOGFILE
    指定导出日志文件文件的名称,默认名称为export.log
    LOGFILE=[directory_object:]file_name
    Directory_object用于指定目录对象名称,file_name用于指定导出日志文件名。如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值。
    Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log
    16. NETWORK_LINK
    指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项。
    17. NOLOGFILE
    该选项用于指定禁止生成导出日志文件,默认值为N.
    18. PARALLEL
    指定执行导出操作的并行进程个数,默认值为1
    19. PARFILE
    指定导出参数文件的名称
    PARFILE=[directory_path] file_name
    20. QUERY
    用于指定过滤导出数据的where条件
    QUERY=[schema.] [table_name:] query_clause
    Schema用于指定方案名,table_name用于指定表名,query_clause用于指定条件限制子句。QUERY选项不能与CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用。
    Expdp scott/tiger directory=dump dumpfiel=a.dmp
    Tables=emp query=’WHERE deptno=20’
    21. SCHEMAS
    该方案用于指定执行方案模式导出,默认为当前用户方案。
    22. STATUS
    指定显示导出作用进程的详细状态,默认值为0
    23. 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 ‘DUMP’;
    GRANT READ, WIRTE ON DIRECTORY dump_dir TO scott;
    1、导出表
    Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp
    2、导出方案
    Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp
    SCHEMAS=system,scott
    3、导出表空间
    Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp
    TABLESPACES=user01,user02
    4、导出数据库
    Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y

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;

方法一:利用PL/SQL Developer工具导出:
菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可:

Oracle数据导入导出需要注意一些什么东西不会出错 b2b软件
方法二:利用cmd的操作命令导出,详情如下:
1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora文件,内容如下:
[url=]复制代码[/url]代码如下:

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=y
2将数据库中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文件可以很好的压缩。
不过在上面命令后面加上compress=y就可以了
数据的导入
1将D:\daochu.dmp中的数据导入TEST数据库中。
impsystem/manager@TESTfile=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y就可以了。
2将d:\daochu.dmp中的表table1导入
impsystem/manager@TESTfile=d:\daochu.dmptables=(table1)
注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出。
PL/SQL Developer是Oracle数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对导入或导出时的一些注意事项进行了说明,接下来我们就一一介绍。
导出步骤:
1 tools ->export user object 选择选项,导出.sql文件。
2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件。
导入步骤:
注:导入之前最好把以前的表删除,当然导入另外数据库除外。
1 tools->import tables->SQL Inserts 导入.sql文件。
2 tools->import talbes->Oracle Import然后再导入dmp文件。
一些说明:
Tools->Export User Objects导出的是建表语句(包括存储结构)。
Tools->Export Tables里面包含三种导出方式,三种方式都能导出表结构以及数据,如下:
Oracle Export
Sql Insert
pl/sql developer
第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广 。
第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。
第三种是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出,不能用编辑器查看。

作者: zzjiuzi008    时间: 2017-8-29 21:22
主很热心,不懂的问题都帮忙解决了,很好,我刚刚开的店铺有很多不懂呢店主不厌其烦的解决我问的问题,谢谢了!
作者: xubaojin    时间: 2017-8-30 17:10
错,卖家服务态度也很好,很愉快的一次购物经历。
作者: xiaozhu168    时间: 2017-8-30 23:23
,虽然不是我想要的效果,但是也在努力去做了。
作者: a5206662    时间: 2017-8-31 05:28
有耐心,下次还会找这家,都给我改了好几次了,就是时间比较长,等不起啊。总体还是很
作者: 1124789174    时间: 2017-9-2 01:03
技术亲58号~耐心讲解,用心制作,对于我们提的要求都可以完成,也少不了小笨蛋亲,077号亲,31号亲等帮忙。合作还在继续中~~感谢各位~~
作者: daoke    时间: 2017-9-5 23:03
服务非常好,东西也很好用!
作者: yerface    时间: 2017-9-15 09:25
东西挺多的
作者: ctbvip    时间: 2017-9-15 13:42
好,专业的就是不一样,价格很便宜,大公司,给中评是因为对客服的无语
作者: bysqb    时间: 2017-9-16 20:17
笨蛋,1号,19号,7号,077号,5号解决问题好
作者: z2340868    时间: 2017-9-17 01:18
看帖回帖是美德!
作者: bysqb    时间: 2017-9-17 06:10
值得购买
作者: ggt567    时间: 2017-9-17 22:22
用了这么久才来评价的,服务不错,软件也不错,很容易上手。而且,他们售后很好,不清楚的地方都会在第一时间给解答。全五分,值得推荐。
作者: mmgg    时间: 2017-9-18 20:55
工作人员态度特别好最关键的是用起来功能太强大了
作者: 阿拉丁    时间: 2017-9-22 10:37
服务也好。谢谢卖家帮我解决。
作者: wbd902    时间: 2017-9-23 13:24
上传一些技术传授的功夫。
作者: 694012770    时间: 2017-9-24 19:20
非常给力,服务也好,谢谢老板
作者: chenxue2015    时间: 2017-9-26 20:33
度都不错




欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://postbbs.com/) Powered by Discuz! X3.2