1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 数据库dmp文件的导入导出

数据库dmp文件的导入导出

时间:2020-04-17 06:24:11

相关推荐

数据库dmp文件的导入导出

数据库dmp文件的导入导出

数据泵的使用

–sqlplus下执行

Create directory TEST as ‘d:\test’;

Grant read,write on directory TEST to test01;

–cmd命令

expdp test01/1@orcl directory=TEST dumpfile=X.dmp schemas=test01 logfile=Xbak.log;

impdp test01/1@orcl directory=TEST dumpfile=X.dmp schemas=test01 logfile=Xbak.log full=y ignore=y;

impdp test01/1@orcl directory= TEST dumpfile=X.dmp schemas=test01 TABLE_EXISTS_ACTION

数据库的导入:

导入数据前要保证该用户下不存在,任何表结构、数据、函数、包等。

如果存在,可以先清空。(采用直接删除用户或表空间见下面附录1)

以用户名密码登录后,在执行sql窗口中(例如:PLSQL Developer的Sql窗口)执行以下sql:

BEGIN

FOR rec IN

(SELECT object_name,object_type from user_objects

WHERE object_type=’PROCEDURE’

OR object_type=’TABLE’

OR object_type=’VIEW’

OR object_type=’FUNCTION’

OR object_type=’PACKAGE’

OR object_type=’SEQUENCE’

)

LOOP

IF rec.object_type=’TABLE’ THEN

EXECUTE IMMEDIATE ‘DROP ‘||rec.object_type||’ ‘||rec.object_NAME||’ CASCADE CONSTRAINTS’;

ELSE

EXECUTE IMMEDIATE ‘DROP ‘||rec.object_type||’ ‘||rec.object_NAME;

END IF;

END LOOP;

END;

然后执行导入语句:

1)用Sytem完全导入数据库(所有数据库的默认账号:system;密码:manager)

imp system/manager@TEST file=”E:\DATABASE_BAK\orcl.dmp” full=y ignore=y;

2)导入特定用户下的数据库

imp 用户名/密码@数据库 file=导入的文件路径 fromuser=需要导入的那个文件是属于哪个用户的 touser=要导入的用户名 ignore=y;

例如:imp username/password@orcl file=”E:\DATABASE_BAK\orcl.dmp” log=”E:\DATABASE_BAK\orclLog.log” fromuser=username touser=musername ignore=y;

注:两个数据库同名则fromuser=username touser=musername 可省略。(添加ignore=y参数,防止已存在数据,不能覆盖导入,会报错,相当于直接跳过该错误继续导入;建议再导入前先清空数据库)

数据库的导出:

exp test01/1@orcl file=X.dmp full=y

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。