如请问你的覆盖是指相同的表,dmp的数据取代原来的数据,还是所有内容都不要了,只要dmp里的objects and data?如果是后者,就把原用户删了,再创建一个新的,分配好表空间,必要的授权,然后再导入dmp。如果是前者,那就把对应表清空好了,TRUNCATE TABLE XXX。
创新互联公司于2013年开始,是专业互联网技术服务公司,拥有项目做网站、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元彭水苗族土家族做网站,已为上家服务,为彭水苗族土家族各地企业和个人服务,联系电话:18982081108
先把数据库中要替换表备份,再从备份中导入这几个表。
imp username/password@sateat file=最以前的teat.dmp fromuser=sa touser=satest tables=(table1,table2……)
username/password@sateat用户要有导入权限
不可以覆盖的,你只能将原有的表给drop掉,然后再倒入dmp文件才行。否则,你导入的时候,原先在用户下面已经存在的表,是不能够导入成功的,会报错!
实现的方法和详细的操作步骤如下:
1、第一步,如果要从Oracle实例orcl导出多个dmp文件表,则在打开cmd窗口后,首先设置环境变量以将Oracle实例切换为orcl(设置ORACLE_SID
= orcl),然后登录到sqlplus
,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,可以使用sql语句“select * from dba_directories”以查看当前实例下可用的dmp导出目录。
导出dmp文件时,可以选择其中之一,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,退出sqlplus并使用命令“expdp”导出需要的数据库表dmp文件,如下图所示,然后进入下一步。
4、最后,完成上述步骤后,就可以将该文件导入实例orcl中的另一个用户,如下图所示。这样,问题就解决了。
假设原来的表是test1
要写到的表是test2
test1的字段为
a
b
c
test2的字段为
d
e
f
其中a和d对应
b和e对应
c和f对应
先把要写到的表清掉,执行如下语句:
truncate
table
test2;
然后把test1表的数据导入到test2表中,执行如下语句:
insert
into
test2
select
*
from
test1;
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款