
===== 导出、导入 整个用户的情况。
用于导出 test 用户下的所有数据
EXP test/test@源数据库 file=testdmp owner=test
用于将前面导出的 test 用户下的所有数据 倒入到 test2 用户下
IMP test2/test2@目标数据库 file=testdmp FROMUSER=test TOUSER=test2
===== 导出、导入 单个表的情况。
导出 TEST_MAIN,TEST_SUB 这2个表
EXP test/test@源数据库 file=testdmp tables=(TEST_MAIN,TEST_SUB)
导入 TEST_MAIN,TEST_SUB 这2个表
IMP test2/test2@目标数据库 file=testdmp tables=(TEST_MAIN,TEST_SUB)
这个就看人家当初是怎么备份的了
如果是用 Oracle 10g 的 expdp 导出的话, 那么导入也相应复杂一点
Oracle 10g 开始, 新增数据泵工具 导出导入 的工具
数据泵工具导出的步骤:
1、创建DIRECTORY
create directory dir_dp as 'C:/OracleData'
2、授权
Grant read,write on directory dir_dp to obpos;
3、执行导出
expdp obpos/obpos schemas=obpos directory=dir_dp dumpfile=obposdmp logfile=obposlog
C:\>expdp obpos/obpos schemas=obpos directory=dir_dp dumpfile=obposdmp logfile=obposlog
Export: Release 102010 - Production on 星期二, 29 1月, 2013 16:52:12
Copyright (c) 2003, 2005, Oracle All rights reserved
连接到: Oracle Database 10g Express Edition Release 102010 - Production
启动 "OBPOS""SYS_EXPORT_SCHEMA_01": obpos/ schemas=obpos directory=dir
_dp dumpfile=obposdmp logfile=obposlog
正在使用 BLOCKS 方法进行估计
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 5375 MB
已成功加载/卸载了主表 "OBPOS""SYS_EXPORT_SCHEMA_01"
OBPOSSYS_EXPORT_SCHEMA_01 的转储文件集为:
C:\ORACLEDATA\OBPOSDMP
作业 "OBPOS""SYS_EXPORT_SCHEMA_01" 已于 16:52:56 成功完成
EXPDP导出的各种模式:
1、 按表导出:
EXPDP obpos/obpos tables="OBPOS""ROOM","OBPOS""ROOMBOOKD" dumpfile=expdp_Roomdmp logfile=expdp_Roomlog directory=dir_dp job_name=my_job
2、按查询条件导出:
EXPDP obpos/obpos tables="OBPOS""ROOM" dumpfile =expdp_Room2dmp logfile=expdp_Room2log directory=dir_dp job_name=my_job query='"where rownum<5"'
3、按表空间导出:
EXPDP obpos/obpos dumpfile=expdp_tablespacedmp tablespaces=USERDBF logfile=expdp_tablespacelog directory=dir_dp job_name=my_job
4、导出方案
EXPDP obpos/obpos DIRECTORY=dir_dp DUMPFILE=schemadmp SCHEMAS=obpos
5、导出整个数据库:
EXPDP obpos/obpos dumpfile=fulldmp full=y logfile=fulllog directory=dir_dp job_name=my_job
IMPDP导入的各种模式:
授权
Grant read,write on directory dir_dp to test;
1、按表导入
impdp obpos/obpos dumpfile=obposdmp logfile=obposlog directory=dir_dp tables=MR_USER job_name=my_job
impdp obpos/obpos dumpfile=expdp_Roomdmp logfile=obposlog directory=dir_dp tables=ROOM job_name=my_job
(注: 因为导出的时候, 是用 obpos 用户,以 schemas=obpos 的机制导出的。 导入的时候, 如果用 test 用户导入, 好像表不会导入到 test 的用户下面 )
这种 A 用户导出, B 用户导入的情况下。 需要使用 REMAP_SCHEMA 参数 REMAP_SCHEMA = 导出的用户名:导入的用户名
impdp obpos/obpos REMAP_SCHEMA=obpos:test dumpfile=expdp_Roomdmp logfile=obposlog directory=dir_dp tables=ROOM job_name=my_job
2、按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
impdp obpos/obpos schemas=obpos dumpfile=obposdmp logfile=impdplog directory=dir_dp job_name=my_job
3、不通过expdp的步骤生成dmp文件而直接导入的方法:
--从源数据库中向目标数据库导入表 p_street_area
impdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_street_area logfile=p_street_arealog job_name=my_job
igisdb 是目的数据库与源数据的链接名,dir_dp 是目的数据库上的目录
4、更换表空间
采用remap_tablespace参数
--导出gwm用户下的所有数据
expdp system/orcl directory=data_pump_dir dumpfile=gwmdmp SCHEMAS=gwm
注:如果是用sys用户导出的用户数据,包括用户创建、授权部分,用自身用户导出则不含这些内容
--以下是将gwm用户下的数据全部导入到表空间gcomm(原来为gmapdata表空间下)下
impdp system/orcl directory=data_pump_dir dumpfile=gwmdmp remap_tablespace=gmapdata:gcomm
导出
导出具体的分为:导出表,导出方案,导出数据库三种方式。
导出使用exp命令来完成的,该命令常用的选项有:
userid: 用于指定执行导出 *** 作的用户名,口令,连接字符串
tables: 用于指定执行导出 *** 作的表
owner: 用于指定执行导出 *** 作的方案
full=y: 用于指定执行导出 *** 作的数据库
inctype: 用于指定执行导出 *** 作的增量类型
rows: 用于指定执行导出 *** 作是否要导出表中的数据
file: 用于指定导出文件名
Oracle 笔记
23
导出表
1导出自己的表
exp userid=scott/tiger@myoral tables=(emp,dept) file=d:\e1dmp
2导出其它方案的表
如果用户要导出其它方案的表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表
E:\oracle\ora92\bin>exp userid=system/manager@myoral tables=(scottemp) file=d:\e2emp
特别说明:在导入和导出的时候,要到oracle目录的bin目录下。
3 导出表的结构
exp userid=scott/tiger@accp tables=(emp) file=d:\e3dmp rows=n
4 使用直接导出方式
exp userid=scott/tiger@accp tables=(emp) file=d:\e4dmp direct=y
这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。
这时需要数据库的字符集要与客户端字符集完全一致,否则会报错
导出方案
导出方案是指使用export工具导出一个方案或是多个方案中的所有对象(表,索引,约束)和数据。并存放到文件中。
1 导出自己的方案
exp userid=scott/tiger@myorcl owner=scott file=d:\scottdmp
2 导出其它方案
如果用户要导出其它方案,则需要dba的权限或是exp_full_database的权限,比如system用户就可以导出任何方案
exp userid=system/manager@myorcl owner=(system,scott) file=d:\systemdmp
导出数据库
导出数据库是指利用export导出所有数据库中的对象及数据,要求该用户具有dba的权限或者是exp_full_database权限
增量备份(好处是第一次备份后,第二次备份就快很多了)
exp userid=system/manager@myorcl full=y inctype=complete file=d:\alldmp
导入
介绍
导入就是使用工具import将文件中的对象和数据导入到数据库中,但是导入要使用的文件必须是export所导出的文件。与导
出相似,导入也分为导入表,导入方案,导入数据库三种方式。
imp常用的选项有
userid: 用于指定执行导入 *** 作的用户名,口令,连接字符串
tables: 用于指定执行导入 *** 作的表
formuser: 用于指定源用户
touser: 用于指定目标用户
file: 用于指定导入文件名
full=y: 用于指定执行导入整个文件
inctype: 用于指定执行导入 *** 作的增量类型
rows: 指定是否要导入表行(数据)
ignore: 如果表存在,则只导入数据
导入表
1 导入自己的表
imp userid=scott/tiger@myorcl tables=(emp) file=d:\xxdmp
2 导入表到其它用户
要求该用户具有dba的权限,或是imp_full_database
imp userid=system/tiger@myorcl tables=(emp) file=d:\xxdmp touser=scott
3 导入表的结构
Oracle 笔记
24
只导入表的结构而不导入数据
imp userid=scott/tiger@myorcl tables=(emp) file=d:\xxdmp rows=n
4 导入数据
如果对象(如比表)已经存在可以只导入表的数据
imp userid=scott/tiger@myorcl tables=(emp) file=d:\xxdmp ignore=y
导入方案
导入方案是指使用import工具将文件中的对象和数据导入到一个或是多个方案中。如果要导入其它方案,要求该用户具有dba
的权限,或者imp_full_database
1. 导入自身的方案
imp userid=scott/tiger file=d:\xxxdmp
2. 导入其它方案
要求该用户具有dba的权限
imp userid=system/manager file=d:\xxxdmp fromuser=system touser=scott
导入数据库
在默认情况下,当导入数据库时,会导入所有对象结构和数据,案例如下:
imp userid=system/manager full=y file=d:\xxxdmp
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命
令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUSEXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径,
该目录下有EXPEXE与IMPEXE文件被用来执行导入导出。
oracle用java编写,SQLPLUSEXE、EXPEXE、IMPEXE这两个文件有可能是被包装后的类文件。
SQLPLUSEXE调用EXPEXE、IMPEXE所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochudmp中
exp system/manager@TEST file=d:\daochudmp 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:\data\newsmgntdmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochudmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
数据的导入
1 将D:\daochudmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochudmp
imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgntdmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochudmp中的表table1 导入
imp system/manager@TEST file=d:\daochudmp tables=(table1)
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
注意:
*** 作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
附录一:
给用户增加导入数据权限的 *** 作
第一,启动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:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notifydmp
屏幕显示
Import: Release 81700 - Production on 星期四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation All rights reserved
连接到: Oracle8i Enterprise Edition Release 81700 - Production
With the Partitioning option
JServer Release 81700 - Production
经由常规路径导出由EXPORT:V080107创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)
正在将AICHANNEL的对象导入到 AICHANNEL
正在导入表 "INNER_NOTIFY" 4行被导入
准备启用约束条件
成功终止导入,但出现警告。
附录二:
Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的
先建立import9par,
然后,使用时命令如下:imp parfile=/filepath/import9par
例 import9par 内容如下:
FROMUSER=TGPMS
TOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/backup/ctgpc_20030623dmp
log==/backup/import_20030623log
exp odc/odc owner=odc rows=y indexes=n compress=n buffer=65536 feedback=100000 file=expdmp log=explog
--odc/odc 把odc用户下所有的对象导出
imp odc/odc fromuser=odc touser=odc rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n file=expdmp log=implog
--odc/odc 把备份内容全部到如到odc用户下。
fromuser是备份内容的原所属用户 touser是把原用户下的所有数据导入到touser用户下;(就是touser=odc这个用户)
很久没用oracle了,有些生疏了,目前有项目正在使用,记录备份一下
导出时需要system的密码,通常我们可能会忘,通过以下方式可以找回
1win键+R键,输入cmd,打开命令提示符。
2输入:sqlplus /nolog
3输入conn /as sysdba
4输入alter user sytem identified by 新密码
使用标准的导入导出命令即可,例如
数据导出:
1将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochudmp中
exp system/manager@TEST file=d:\daochudmp full=y
数据的导入
将D:\daochudmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochudmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
这些是基本语句,在语句后可根据具体情况填写参数条件进行限制
我给你一些数据库常用的导入导出命令吧:
该命令在“开始菜单>>运行>>CMD”中执行
一、数据导出(expexe)
1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochudmp文件中
exp system/accp@orcl file=d:\daochudmp full=y
2、将数据库orcl中scott用户的对象导出
exp scott/accp@orcl file=d:\daochudmp owner=(scott)
3、将数据库orcl中的scott用户的表emp、dept导出
exp scott/accp@orcl file= d:\daochudmp tables=(emp,dept)
4、将数据库orcl中的表空间testSpace导出
exp system/accp@orcl file=d:\daochudmp tablespaces=(testSpace)
二、数据导入(impexe)
1、将d:\daochudmp 中的数据导入 orcl数据库中。
imp system/accp@orcl file=d:\daochudmp full=y
2、如果导入时,数据表已经存在,将报错,对该表不会进行导入;加上ignore=y即可,表示忽略现有表,在现有表上追加记录。
imp scott/accp@orcl file=d:\daochudmp full=y ignore=y
3、将d:\daochudmp中的表emp导入
imp scott/accp@orcl file=d:\daochudmp tables=(emp)
imp的方式:
1 获取帮助
imp help=y
2 导入一个完整数据库
imp system/manager file=bible_db log=dible_db full=y ignore=y
3 导入一个或一组指定用户所属的全部表、索引和其他对象
imp system/manager file=seapark log=seapark fromuser=seapark
imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
4 将一个用户所属的数据导入另一个用户
imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy)
touser=(seapark1, amy1)
5 导入一个表
imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6 从多个文件导入
imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
7 使用参数文件
imp system/manager parfile=bible_tablespar
bible_tablespar参数文件:
#Import the sample tables used for the Oracle8i Database Administrator's
Bible fromuser=seapark touser=seapark_copy file=seapark log=seapark_import
8 增量导入
imp system/manager inctype= RECTORE FULL=Y FILE=A
以上就是关于完全不懂oracle,已经安装好oracle了,怎么把别人备份好的数据库导入全部的内容,包括:完全不懂oracle,已经安装好oracle了,怎么把别人备份好的数据库导入、oracle怎样sql文件导入数据库中、如何在oracle中导入dmp数据库文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)