重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
不可以覆盖的,你只能将原有的表给drop掉,然后再倒入dmp文件才行。否则,你导入的时候,原先在用户下面已经存在的表,是不能够导入成功的,会报错!
站在用户的角度思考问题,与客户深入沟通,找到沁源网站设计与沁源网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟空间、企业邮箱。业务覆盖沁源地区。
先把数据库中要替换表备份,再从备份中导入这几个表。
imp username/password@sateat file=最以前的teat.dmp fromuser=sa touser=satest tables=(table1,table2……)
username/password@sateat用户要有导入权限
实现的方法和详细的操作步骤如下:
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中的另一个用户,如下图所示。这样,问题就解决了。
删掉B用户下所有的表,视图和存储过程,然后在备份A用户的表,视图和存储过程,然后在用B用户还原。
假设原来的表是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;