A. 怎么用命令导出oracle数据库
将数据库SampleDB完全导出,用户名system 密码manager 导出到E:/SampleDB.dmp中
exp system/manager@TestDB file=E:/sampleDB.dmp full=y
将数据库中system用户与sys用户的表导出
exp system/manager@TestDB file=E:/sampleDB.dmp owner=(system,sys)
将数据库中的表 TableA,TableB 导出
exp system/manager@TestDB file=E:/sampleDB.dmp tables=(TableA,TableB)
将数据库中的表tableA中的字段filed1 值为 "王五" 的数据导出
exp system/manager@TestDB file=E:/sampleDB.dmp tables=(tableA) query=' where filed1='王五'
B. oracle怎么导出数据
Oracle导出导出有两中方式:一、利用exp imp导出导入;二、利用Oracel数据泵expdp impdp导出导入。
一、利用exp imp导出导入
exp imp 语法如下:
exp:
1) 将数据库orcl完全导出
exp system/manager@orcl file=d:\orcl_bak.dmp full=y
2) 将数据库中system用户的表导出
exp system/manager@orcl file=d:\system_bak.dmp owner=system
3) 将数据库中表table1,table2导出
exp system/manager@orcl file=d:\table_bak.dmp tables=(table1,table2)
4) 将数据库中的表customer中的字段mobile以"139"开头的数据导出
exp system/manager@orcl file=d:\mobile_bak.dmp tables=customer query=\"where mobile like '139%' \"
imp:
1) 将备份文件bak.dmp导出数据库
imp system/manager@orcl file=d:\bak.dmp
如果数据表中表已经存在,会提示错误,在后面加上ignore=y就可以了。
2) 将备份文件bak.dmp中的表table1导入
imp system/manager@orcl file=d:\bak.dmp tables=(table1)
exp imp导出导入数据方式的好处是只要你本地安装了Oracle客户端,你就可以将服务器中的数据导出到你本地计算机。同样也可以将dmp文件从你本地导入到服务器数据库中。但是这种方式在Oracle11g版本中会出现一个问题:不能导出空表。Oracle11g新增了一个参数deferred_segment_creation,含义是段延迟创建,默认是true。当你新建了一张表,并且没用向其中插入数据时,这个表不会立即分配segment。
解决办法:
1、设置deferred_segment_creation参数为false后,无论是空表,还是非空表,都分配segment。
在sqlplus中,执行如下命令:
SQL>alter system set deferred_segment_creation=false;
查看:
SQL>show parameter deferred_segment_creation;
该值设置后,只对后面新增的表起作用,对之前建立的空表不起作用,并且注意要重启数据库让参数生效。
2、使用 ALLOCATE EXTEN
使用 ALLOCATE EXTEN可以为数据库对象分配Extent,语法如下:
alter table table_name allocate extent
构建对空表分配空间的SQL命令:
SQL>select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
批量生成要修改的语句。
然后执行这些修改语句,对所有空表分配空间。
此时用exp命令,可将包括空表在内的所有表导出。
二、利用expdp impdp导出导入
在Oracle10g中exp imp被重新设计为Oracle Data Pump(保留了原有的 exp imp工具)
数据泵与传统导出导入的区别;
1) exp和imp是客户端工具,他们既可以在客户端使用,也可以在服务端使用。
2) expdp和impdp是服务端工具,只能在Oracle服务端使用。
3) imp只适用于exp导出文件,impdp只适用于expdp导出文件。
expdp导出数据:
1、为输出路径建立一个数据库的directory对象。
create or replace directory mpdir as 'd:\';
可以通过:select * from dba_directories;查看。
2、给将要进行数据导出的用户授权访问。
grant read,write on directory mpdir to test_expdp;
3、将数据导出
expdp test_expdp/test_expdp directory=mpdir mpfile=test_expdp_bak.dmp logfile=test_expdp_bak.log schemas=test_expdp
注意:这句话在cmd窗口中运行,并且最后不要加分号,否则会提示错误。因为这句话是操作系统命令而不是SQL。
impdp导入数据:
1、给将要进行数据导入的用户授权访问。
grant read,write on directory mpdir to test_impdp;
2、将数据导入
impdp test_impdp/impdp directory=mpdir mpfile=test_expdp_bak.dmp remap_schema=test_expdp:test_impdp
C. 如何将oracle数据库导出导入数据库
先确保你要导入的数据库sid中有和你导出数据时所用的用户和密码.如果没有请看
2),
1)进入命令控制台,
输入:
imp
username/password@sid
file=/pathurl
full=y
其中username为用户名,password为密码,pathurl导出数据所在路径,
如:
impr
scott/tiger@orcl
file=d:\data.dmp
需要注意的是,你要导入的表的表空间所属的用户和密码必须和你要导入到的表空间所属的用户和密码相同,就是你导出数据时用的哪个用户,导入时也用哪个用户,
2)
如果没有这个用户,创建用户命令如下:
以sysdba
进入sqlplus,
create
user
identified
by
password;
grant
dba
to
user;
D. 从oracle数据库里想导出单个表,怎么导出呀
1、打开电脑左下角【开始菜单】,在右侧找到【运行】选项
E. 怎么导出oracle整个数据库
1
将数据库TEST完全导出,用户名system
密码manager
导出到D:\chu.dmp中
exp
system/manager@TEST
file=d:\chu.dmp
full=y
2
将数据库中system用户与sys用户的表导出
exp
system/manager@TEST
file=d:\chu.dmp
owner=(system,sys)
3
将数据库中的表table1
、table2导出
exp
system/manager@TEST
file=d:\chu.dmp
tables=(table1,table2)
4
将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp
system/manager@TEST
file=d:\chu.dmp
tables=(table1)
query=\"
where
filed1
like
'00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面
加上
compress=y
就可以了
F. Oracle的导入导出命令是什么
数据库恢复——>数据导入
1.在服务器端Windows NT网络操作系统中找到Oracle的安装目录:
如D:\oracle\ 再进入Bin\子目录,鼠标左键双击 imp.exe 文件
或在开始->运行中写imp,执行。
2.出现提示输入管理员用户名界面
import:Release 8.1.5.0.0 -proction on Sun Oct 29 21:57:47 2000
<c> Copyright 1999 Oracle Corporation. All rights reserved.
Username:(此处输入管理员用户名)[ENTER]
3.出现提示输入管理员口令界面:
Password:(此处输入管理员口令)[ENTER]
4.出项备份文件输入界面。
Import file:Expadat.dmp>D:\backup\dk20001029.dmp[ENTER]
5.选择数据插入的缓冲尺寸,选择缺省值,按回车即可。
Enter insert buffer size(minimum is 4096)30270>[ENTER]
6.是否只列出数据的内容,而不进行导入。
Export file created by Export :U07.02.02,list contents of import file only(Yes/No):no>[ENTER]
7.选择是否忽略数据恢复中出现的错误,回车即可。
Ignore create error e to object existence (Yes/No):no>[ENTER]
8.选择是否恢复授权,选择缺省值,回车即可。
Import grants(Yes/No):Yes>[ENTER]
9.选择是否恢复表数据, 选择缺省值,回车即可。
Import table data (Yes/No):Yes>[ENTER]
10.选择是否导入整个文件。
Import Entire export file (Yes/No):no>[ENTER]
11.输入用户名。
Username>(此处输入数据库管理员名称) ,然后等待系统进行数据库的恢复,
恢复工作完成后,系统会自动退出DOS界面。
这样,就完成了数据库的恢复。
数据库备份——>数据导出
1.在服务器端操作系统中找到Oracle的安装目录:
如D:\oracle\ 再进入Bin\子目录,鼠标左键双击 exp.exe 文件
或在开始->运行中输入exp,执行。
2.出现提示输入管理员用户名界面
Export:Release 8.1.5.0.0-Proction on Sun Oct 29 20:27:59 2000
<c> Copyright 1999 Oracle Corporation. All rights reserved.
Username:(此处输入管理员用户名)[ENTER]
3.出现提示输入管理员口令界面:
Password:(此处输入管理员口令)[ENTER]
4.出项备份选择界面。
Connected to : Oracle8i Enterprise Edition Release 8.1.5.0.0-Proction With the Partitioning and java options
PL/SQL Release 8.1.5.0.0 – Proction
Enter array fetch buffer size: 4096 >[ENTER]
此处为选定备份时用于取数据行的缓冲尺寸。直接选定缺省值4096即可。
5.出现选择备份文件输出的位置和名称界面。
Export file:EXPDAT.DMP>D:\backup\**yyyymmdd.dmp[ENTER]
在此之前,需要在操作系统D盘上建立一个名称为backup的文件夹。备注:最好把备份的文件名写成用户名加日期的方式,方便查询和恢复工作。
6.出现选择备份方式界面。
(1)E(ntire database),(2)U(sers),or (3)T(ables):(2)U>E[ENTER]
E备份整个数据库;U只备份该管理员用户名下的表;T备份单个表。
7.询问是否备份数据库内的授权
Exprot grants(Yes/No):Yes>[ENTER]
8.询问是否备份基表内的数据
Export table data(Yes/No):Yes>[ENTER]
9.询问是否是否压缩碎片数据段
Compress extents(Yes/No):Yes>[ENTER]
10.About to export specifited users
user to be exported :(Return to quit)>(输入数据库管理员名称)[ENTER]
这样就完成了数据库的热备份。备份完数据后,系统会自动退出DOS界面。
11.最后在操作系统的D盘上的backup文件夹中将找到备份的名为dk20001029.dmp的文件。
G. 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:\chu.dmp中
exp system/manager@TEST file=d:\chu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\chu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\chu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了
数据的导入
1 将D:\chu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\chu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\chu.dmp中的表table1 导入
imp system/manager@TEST file=d:\chu.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;
H. 如何在Oracle中使用exp和imp导出,导入dmp数据库文件
1、首先进入命令行,点击开始,输入cmd。
I. Oracle的导入导出命令是什么
用exp、imp试试x0dx0a导出全库>>>>>>x0dx0a导入:导入之前需创造一个空库(可以和前一个库名不一样)、一个一样的用户x0dx0acmd>>x0dx0aimp username/password@数据库名称 file=文件路径 full=Yx0dx0a导出:x0dx0aexp username/password@数据库名称 file=文件路径(生成的文件)x0dx0a我导出的时候文件直接设成.sql,蛮好 x0dx0ax0dx0a导出部分表>>>>x0dx0a打开cmdx0dx0a导出表,确定监听是否开启,数据库服务是否开启x0dx0aexp scott/tiger@orcl file=F:\sign.sql tables=表名,表名 grants=yx0dx0ax0dx0a导入表,确定新数据库服务是否开启x0dx0aimp scott/tiger@数据库名 file=F:\sign.sql fromuser=scott ignore=y commit=y grants=y