完全不懂oracle,已经安装好oracle了,怎么把别人备份好的数据库导入
2个回答
2013-12-08
展开全部
===== 导出、导入 整个用户的情况。
用于导出 test 用户下的所有数据.
EXP test/test@源数据库 file=test.dmp owner=test
用于将前面导出的 test 用户下的所有数据. 倒入到 test2 用户下.
IMP test2/test2@目标数据库 file=test.dmp FROMUSER=test TOUSER=test2
===== 导出、导入 单个表的情况。
导出 TEST_MAIN,TEST_SUB 这2个表
EXP test/test@源数据库 file=test.dmp tables=(TEST_MAIN,TEST_SUB)
导入 TEST_MAIN,TEST_SUB 这2个表
IMP test2/test2@目标数据库 file=test.dmp 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=obpos.dmp logfile=obpos.log
C:\>expdp obpos/obpos schemas=obpos directory=dir_dp dumpfile=obpos.dmp logfile=obpos.log
Export: Release 10.2.0.1.0 - Production on 星期二, 29 1月, 2013 16:52:12
Copyright (c) 2003, 2005, Oracle. All rights reserved.
连接到芹吵蚂: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
启动 "OBPOS"."SYS_EXPORT_SCHEMA_01": obpos/******** schemas=obpos directory=dir
_dp dumpfile=obpos.dmp logfile=obpos.log
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 5.375 MB
......
已成功加载/卸载了主表 "OBPOS"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
OBPOS.SYS_EXPORT_SCHEMA_01 的转储文件集为:
C:\ORACLEDATA\OBPOS.DMP
作业 "OBPOS"."SYS_EXPORT_SCHEMA_01" 已于 16:52:56 成功完成
EXPDP导出的各种模式:
1、 按表导出:
EXPDP obpos/obpos tables="OBPOS"."ROOM","OBPOS"."ROOMBOOKD" dumpfile=expdp_Room.dmp logfile=expdp_Room.log directory=dir_dp job_name=my_job
2、按查询条件导出:
EXPDP obpos/obpos tables="OBPOS"."ROOM" dumpfile =expdp_Room2.dmp logfile=expdp_Room2.log directory=dir_dp job_name=my_job query='"where rownum<5"'
3、按表空间导出:
EXPDP obpos/obpos dumpfile=expdp_tablespace.dmp tablespaces=USER.DBF logfile=expdp_tablespace.log directory=dir_dp job_name=my_job
4、导出方案
EXPDP obpos/obpos DIRECTORY=dir_dp DUMPFILE=schema.dmp SCHEMAS=obpos
5、导出整个数据库:
EXPDP obpos/obpos dumpfile=full.dmp full=y logfile=full.log directory=dir_dp job_name=my_job
IMPDP导入的各种模式:
授权
Grant read,write on directory dir_dp to test;
1、按表导入
impdp obpos/obpos dumpfile=obpos.dmp logfile=obpos.log directory=dir_dp tables=MR_USER job_name=my_job
impdp obpos/obpos dumpfile=expdp_Room.dmp logfile=obpos.log 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_Room.dmp logfile=obpos.log directory=dir_dp tables=ROOM job_name=my_job
2、按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
impdp obpos/obpos schemas=obpos dumpfile=obpos.dmp logfile=impdp.log 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_area.log job_name=my_job
igisdb 是目的数据库与源数据的链接名,dir_dp 是目的数据库上的目录
4、更换表空间
采用remap_tablespace参数
--导出gwm用户下的所有数据
expdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp SCHEMAS=gwm
注:如果是用sys用户导出的用户数据,包括用户创建、授权部分,用自身用户导出则不含这些内容
--以下是将gwm用户下的数据全部导入到表空间gcomm(原来为gmapdata表空间下)下
impdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp remap_tablespace=gmapdata:gcomm
壹寰(深圳)科技文化有限公司
2021-03-27 广告
2021-03-27 广告
不同公司提供的方案也不一样。以上回答如果还觉得不够详细,可以来咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢...
点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询