oracle怎么导出远程数据库,导出文件是dmp格式

oracle怎么导出远程数据库,导出文件是dmp格式,第1张

1、dexter/xiaojun@127001:1521/startrek

远程数据库的用户名/密码@IP地址:端口号/service_name

2、file

file指定了输出文件的路径

3、log

log为输出log文件的路径

4、tables

指定了要导出的表的名称。(多个表使用逗号分隔,按照用户导出的时候可以去掉tables这个选项)!

不一定。 看你具体的需求。

dmp文件一般通过exp命令导出来。如果是全数据库导出,那么所有的dbf文件里的数据会导出一个dmp文件。

dbf文件和导出dmp的文件并没有强制的一对一的关系。

唯一的关系就是dbf是数据文件,保存的是数据。dmp是将数据导出的文件。数据来源于dbf文件。

没听过用plsql导dmp文件的 ,本地数据库在cmd中导,服务器上的在服务器上导,我们公司用的是oracle数据库。

例:服务器上

导出:用的Xshell

su - oracel

expdp gr/gr dumpfile=testdmp directory=DATA_PUMP_DIR SCHEMAS=gr

然后用其配套的工具去服务器上把文件下载到本地

导入到本地

1创建用户并授权

2创建表空间

3给用户指定表空间

4导入

impdp gr1/gr1 dumpfile=testdmp directory=DATA_PUMP_DIR remap_tablespace=gr:gr1,gr_idx:gr1_idx remap_schema=gr:gr1 TABLE_EXISTS_ACTION=REPLACE

只要你看懂了,绝对满足你的需求了。(所有表,所有结果,都在这个文件里面)

用这总方法导入seq不会自动增加 (目前也在研究中,能把seq搞定就超级完美了)

导出数据库命令:

mysqldump -u root -p mydb2 > e:\mydbsql

把数据库mydb2导出到e盘的mydbsql

注意:在dos下进入mysql安装的bin目录下,但是不要登陆。

导入数据库命令:

mysqldump -u root -p mydb2 < e:\mydbsql

把数据库e盘的mydbsql导入到mydb2

注意:要先新建mydb2 然后使用导入语句

oracle 用户创建 数据库的导入导出imp/exp

可以在SQLPLUSEXE或者DOS(命令行)中执行执行环境:可以在SQLPLUSEXE或者DOS(命令行)中执行,

DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径,

该目录下有EXPEXE与IMPEXE文件被用来执行导入导出。

创建用户

给用户增加导入数据权限的 *** 作

第一,启动sqlpuls

第二,以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=filenamedmp

执行示例:

F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notifydmp 17jquerycom

下面介绍的是导入导出的实例。

数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochudmp中

exp system/manager@TEST file=d:daochudmp full=y

exp fang/fang@ORCL file=d:oais20100401dmp full=y

exp oais/oais@ORCL file=d:oais_mjdmp full=y

2 将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:daochudmp owner=(system,sys)

3 将数据库中的表inner_notify、notify_staff_relat导出

exp aichannel/aichannel@TESTDB2 file= d:datanewsmgntdmp tables=(inner_notify,notify_staff_relat)

exp fang/fang@ORCL file=d:oais20100401_essmenudmp tables=(essmenu)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:daochudmp tables=(table1) query=" where filed1 like '00%'"

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面 加上 compress=y 来实现。 一起jquery,17jquery

数据的导入

1 将D:daochudmp 中的数据导入 TEST数据库中。

imp system/manager@TEST file=d:daochudmp

imp aichannel/aichannel@HUST full=y file=d:datanewsmgntdmp ignore=y

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上 ignore=y 就可以了。

2 将d:daochudmp中的表table1 导入

imp system/manager@TEST file=d:daochudmp tables=(table1)

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。 MSSQL的导入导出有三种方法,不可以在cmd模式下进行:1使用Transact-SQL进行数据导入导出 我们很容易看出,Transact-SQL方法就是通过SQL语句方式将相同或不同类型的数据库中的数据互相导入导出或者汇集在一处的方法。如果是在不同的SQL Server数据库之间进行数据导入导出,那将是非常容易做到的。一般可使用SELECT INTO FROM和INSERT INTO。使用 SELECT INTO FROM时INTO后跟的表必须存在,也就是说它的功能是在导数据之前先建立一个空表,然后再将源表中的数据导入到新建的空表中,这就相当于表的复制(并不会复制表的索引等信息)。而INSERT INTO的功能是将源数据插入到已经存在的表中,可以使用它进行数据合并,如果要更新已经存在的记录,可以使用UPDATE。 SELECT INTO table2 FROM table1 --table1和table2的表结构相同 INSERT INTO table2 SELECT FROM table3 --table2和table3的表结构相同 当在异构数据库之间的进行数据导入导出时,情况会变得复杂得多。首先要解决的是如何打开非SQL Server数据库的问题。 在SQL Server中提供了两个函数可以根据各种类型数据库的OLE DB Provider打开并 *** 作这些数据库,这两个函数是OPENDATASOURCE和OPENROWSET。它们的功能基本上相同,不同之处主要有两点。 2 使用命令行BCP导入导出数据 很多大型的系统不仅仅提供了友好的图形用户接口,同时也提供了命令行方式对系统进行控制。在SQL Server中除了可以使用SQL语句对数据进行 *** 作外,还可以使用一个命令行工具BCP对数据进行同样的 *** 作。BCP是基于DB-Library 客户端库的工具。它的功能十分强大,BCP能够以并行方式将数据从多个客户端大容量复制到单个表中,从而大大提高了装载效率。但在执行并行 *** 作时要注意的是只有使用基于 ODBC 或 SQL OLE DB 的 API 的应用程序才可以执行将数据并行装载到单个表中的 *** 作。 BCP可以将SQL Server中的数据导出到任何OLE DB所支持的数据库的,如下面的语句是将authors表导出到excel文件中。 bcp pubsdboauthors out c:\temp1xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P"password" BCP不仅能够通过命令行执行,同时也可以通过SQL执行,这需要一个系统存储过程xp_cmdshell来实现,如上面的命令可改写为如下形式。 EXEC masterxp_cmdshell 'bcp pubsdboauthors out c:\temp1xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P"password"' 3 使用数据转换服务(DTS)导入导出数据 DTS是SQL Server中导入导出数据的核心,它除有具有SQL和命令行工具BCP相应的功能外,还可以灵活地通过VBScript、JScript等脚本语言对数据进行检验、净化和转换。 SQL Server为DTS提供了图形用户接口,用户可以使用图形界面导入导出数据,并对数据进行相应的处理。同时,DTS还以com组件的形式提供编程接口,也就是说任何支持com组件的开发工具都可以利用com组件使用DTS所提供的功能。DTS在SQL Server中可以保存为不同的形式,可以是包的形式,也可以保存成Visual Basic源程序文件,这样只要在VB中编译便可以使用DTS com组件了。 DTS和其它数据导入导出方式最大的不同就是它可以在处理数据的过程中对每一行数据进行深度处理。以下是一段VBScript代码,这段代码在处DTS理每一条记录时执行,DTSDestination表示目标记录,DTSSource表示源记录,在处理逗婚姻状况地时,将源记录中的逗婚姻状况地中的0或1转换成目标记录中逗已婚地或逗未婚地。 Function Main() DTSDestination("姓名") = DTSSource("姓名") DTSDestination("年龄") = DTSSource("年龄") If DTSDestination("婚姻状况") = 1 Then DTSDestination("婚姻状况") = "已婚" Else DTSDestination("婚姻状况") = "未婚" End If Main = DTSTransformStat_OK End Function

可以写一个脚本。内容如下:

@echo off

set NLS_LANG= AMERICAN_AMERICAAL32UTF8

set hour=%time:~,2%

if "%time:~,1%"==" " set hour=0%time:~1,1%

set temp=%date:~0,4%-%date:~5,2%-%date:~8,2%-%hour%-%time:~3,2%-%time:~6,2%

exp 用户名/密码@数据库实例 file=D:\db_backup\daily_backup\oradata_%temp%dmp log=D:\db_backup\daily_backup\oradata_%temp%log tables=(表名)

pause

说明:其中中文部分按照自己实际情况填写,保存文件以bat为后缀,如上述文件可起名为expbat,保存在D:\db_backup\daily_backup\路径下。

然后是设定执行时间,以win7为例:

1、点击开始按钮,依次选择打开“所有程序—附件—系统工具”,找到“任务计划程序”即可打开Win7系统的任务计划设置面板。也可以点击Win7开始按钮,在多功能搜索框中输入“任务计划”,直接从搜索结果中打开。

2、在Win7系统的“任务计划程序”设置面板中,我们点击菜单“ *** 作—创建基本任务”。

3、输入新建任务的名称和描述,点击“下一步”按钮。

4、在“触发器”选项中选择自己需要的执行频率,比如是每天、每周、每月还是单次等等,继续下一步。

5、继续设置触发时间详细选项。继续点击下一步。

6、现在进入启动程序详细设置,在“程序或脚本”一栏点击“浏览”,选择自己已经写好的批处理文件。

7、点击下一步之后,我们可以看见Win7任务计划会给出当前设置任务的详细情况,确认无误后点击“确认”按钮即可完成Win7定时关机的任务计划设定。

首先进入命令行,然后根据下面的写命令:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

C:\Documents and Settings\Administrator>exp //////////////////////////用exp命令导出

Export: Release 102010 - Production on 星期一 10月 31 10:50:09 2011

Copyright (c) 1982, 2005, Oracle All rights reserved

用户名: ostm@orcl //用户名@数据库名

口令: //密码

连接到: Oracle Database 10g Enterprise Edition Release 102040 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

输入数组提取缓冲区大小: 4096 > 999999 ///////我一般都是些六个9,随便写,别太小就行

导出文件: EXPDATDMP > D:/aadmp ////导出的dmp文件存储位置

(1)E(完整的数据库), (2)U(用户) 或 (3)T(表): (2)U > //默认是导出用户

导出权限 (yes/no): yes >

导出表数据 (yes/no): yes >

压缩区 (yes/no): yes > /////////////////////////这几个选择默认的就行

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的用户

要导出的用户: (按 RETURN 退出) > ostm //////如果导出的是用户则写要导出的用户名,

如果是表则写表名…………

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^6

直接按回车键导出就可以了

以上就是关于oracle怎么导出远程数据库,导出文件是dmp格式全部的内容,包括:oracle怎么导出远程数据库,导出文件是dmp格式、oracle数据库里面,怎么导出dmp文件!、pl/sql 把查询结果导出为dmp文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9704779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存