oracle IMPDP导入的时候,能自动把之前表中的数据都删除吗?

以前IMP的时候,是实现自己手动删除,在导入,这个IMPDP能实现自动删除后再导入吗?另外,有没有SQL能自动循环所有表,把数据删除?... 以前IMP的时候,是实现自己手动删除,在导入,这个IMPDP能实现自动删除后再导入吗?

另外,有没有SQL能自动循环所有表,把数据删除?
展开
 我来答
大宝妈谈教育
高粉答主

2020-04-01 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:50.2万
展开全部

不用删除,可以自动覆盖掉了。如下参考:

1.有两种导入方法:IMP和impdp。

2.IMP导入的时候:如果已经存在此表,会告诉你无法创建此表,因为表已经存在。同时使用参数full=yignore=y那就是全部导入,把dmp里的所有数据插入到表里面。

3.数据备份,使用命令:expuser/userfile=d:\user.dmpfull=y恢复时,使用命令:impuser/userFILE=d:\user.dmpfromuser=usertouser=userfull=yignore=y。

4.IMPDP导入的时候:用参数table_exists_action=replace进行删除后覆盖table_exists_action选项。

5.数据备份,使用命令:expdpuser/userdirectory=dump_dirdumpfile=schema.dmp

logfile=schema.logschemas=userjob_name=exp_user_schema恢复时。

注意事项:

Oracleimpdp是一个标准版本和企业版本的问题。标准版本中不支持某些函数。最好用相同的版本重新安装企业版本,包括导入较小的版本。如果必须使用当前库,则可以在导出时添加version=11.2.0。如果未能将其更改为10.2.0,请重试。

fj_csr
2011-12-01 · 超过18用户采纳过TA的回答
知道答主
回答量:109
采纳率:100%
帮助的人:58.6万
展开全部
可以的。IMP请看参数说明。
写个脚本块实现数据删除(千万不要用于做坏事)如:
declare
cursor c is select 'truncate table '||OWNER||'.'||OBJECTNAME as ss from dba_objects where OWNER= 'XXX' and OBJECTNAME LIKE 'T_%';
cSQL Varchar2(4000);
begin
for r in c loop
cSQL := r.ss;
execute immediate cSQL;
end loop;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
名爵者1
2012-03-19
知道答主
回答量:1
采纳率:0%
帮助的人:1634
展开全部
drop user username cascade;就把这个用关联的所有表都删除了,然后重新建个用户,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牛角山麦子
推荐于2017-11-24 · TA获得超过1554个赞
知道小有建树答主
回答量:651
采纳率:75%
帮助的人:535万
展开全部
rows=n 是不导入数据吧。。。而且是imp的命令,lz问的是impdp的命令
应该用
TABLE_EXISTS_ACTION
Action to take if imported object already exists.
Valid keywords: (SKIP), APPEND, REPLACE and TRUNCATE.
另外推荐一篇非常好的在线文档.exp/imp的命令和expdp/impdp的对应关系

How Data Pump Export Handles Original Export Parameters
How Data Pump Import Handles Original Import Parameters
http://download.oracle.com/docs/cd/E11882_01/server.112/e16536/dp_legacy.htm#SUTIL959
更多追问追答
追问
请问一下,下面这段话是什么意思?
应该用
TABLE_EXISTS_ACTION
Action to take if imported object already exists.
Valid keywords: (SKIP), APPEND, REPLACE and TRUNCATE.
追答
就是说,在你的impdp命令后面加参数TABLE_EXISTS_ACTION=TRUNCATE 就可以删除目标库里的表的原来的数据再从dump文件里导入新的数据。其他的选项的意思,看

http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_import.htm
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongyaofu
2011-12-01 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:510万
展开全部
Oracle 自己的命令:
imp user=youuser/youpasswd file=youuser.dmp rows=n
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式