Oracle IMP,EXP和IMPDP,EXPDP导入方式详细说明

Oracle IMP,EXP和IMPDP,EXPDP导入方式详细说明

1.创建表空间(IMP和IMPDP相同)

一般数据库需要3个表空间,DATA,TEMP,INDEX,具体看项目需求。(TEST是数据库)

CREATE默认表空间大小512M。alter是自动增长表空间大小,表空间不够自动增长50M。

CREATE TABLESPACE "TEST_DATA" DATAFILE 'D:\DATA_FILE\TEST_DATA_01.DBF' SIZE 512M AUTOEXTEND ON NEXT 512M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE "TEST_INDEX" DATAFILE 'D:\DATA_FILE\TEST_INDEX_01.DBF' SIZE 512M AUTOEXTEND ON NEXT 512M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATE TEMPORARY TABLESPACE "TEST_TEMP" TEMPFILE 'D:\DATA_FILE\TEST_TEMP_01.DBF' SIZE 512M REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K;

alter database datafile 'D:\DATA_FILE\TEST_DATA_01.DBF' autoextend on next 50m maxsize unlimited;
alter database datafile 'D:\DATA_FILE\TEST_INDEX_01.DBF' autoextend on next 50m maxsize unlimited;
alter database tempfile 'D:\DATA_FILE\TEST_TEMP_01.DBF' autoextend on next 50m maxsize unlimited;

2.创建用户(IMP和IMPDP相同)

下面列表这些基本是用户很大的权限了,具体内容可以百度,自己筛选使用。(TEST是数据库用户)

CREATE USER TEST PROFILE DEFAULT IDENTIFIED BY TEST DEFAULT TABLESPACE TEST_DATA TEMPORARY TABLESPACE TEST_TEMP ACCOUNT UNLOCK;
GRANT CREATE ANY MATERIALIZED VIEW TO TEST;
GRANT CREATE MATERIALIZED VIEW TO TEST;
GRANT UNLIMITED TABLESPACE TO TEST;
GRANT DBA TO TEST;
grant sysdba to TEST;
grant all privileges to TEST;
grant create table to TEST;
grant imp_full_database to TEST;
grant connect to TEST;

3.IMP导入数据库

IMP语句很多默认属性不需要设置,下面这个语句就可以。如果出现错误百度之后加上对应属性即可。(TEST是数据库用户)

imp TEST/TEST@ORACLE12 fromuser=TEST touser=TEST file=D:\TEST.dmp log=D:\TEST.log

4.EXP导出数据库

EXP语句很多默认属性不需要设置,下面这个语句就可以。如果出现错误百度之后加上对应属性即可。(TEST是数据库用户)

exp TEST/TEST@ORACLE12 file=D:\TEST.dmp log=D:\TEST.log owner=TEST

5.IMPDP导入数据库

首先需要创建放置DMP的目录,这个和IMP有区别,IMP不需要单独创建目录。

create or replace directory dir_oracle12 as 'D:\dmp';
Grant read,write on directory dir_oracle12 to sys;
Grant read,write on directory dir_oracle12 to TEST;

IMPDP导入语句,用到了上面的目录信息。

注意导入DMP跟导出DMP的ORACLE版本需要一致。如果ORACLE版本不一致,在导出时指定VERSION属性就可以。看第6点EXPDP导出数据库。

impdp TEST/TEST@ORACLE12 DIRECTORY=dir_oracle12 DUMPFILE=TEST.DPDMP logfile=TEST.log schemas=TEST

有个重要的点是这个属性[ TRANSFORM=SEGMENT_ATTRIBUTES:n],如果在IMPDP导入语句中加入这个属性,那么导入的DMP的表空间就使用你创建用户的表空间,而不是用DMP里的表空间。

6.EXPDP导出数据库

EXPDP导入语句,用到了上面的目录信息。注意导出DMP跟导入DMP的ORACLE版本需要一致。如果ORACLE版本不一致,在导出时指定VERSION属性。

expdp TEST/TEST@ORACLE12 schemas=TEST dumpfile=TEST.DPDMP directory=dir_oracle12 logfile=TEST.log VERSION=12.1.0.2.0

附加内容:

如何判断用IMP还是IMPDEP:

dmp文件的后缀名是「.dmp」大多数用IMP,「.dpdmp」用IMPDP。

有的「.dmp」也是用IMPDP,这个需要在用IMP导入时会有异常信息[IMP-00401可能是数据泵导出转储文件]。数据泵文件就是用IMPDP。

服务器端登录:

 方式①1.cmd 2.sqlplus / as sysdba

 方式②1.cmd 2.sqlplus sys/test@ORACLE12 as sysdba

更改用户密码:

 alter user TEST identified by TEST;

删除表空间和数据库用户的SQL:

drop user TEST cascade;
drop tablespace TEST including contents and datafiles cascade constraint;
drop tablespace TEST_TEMP including contents and datafiles cascade constraint;
drop tablespace TEST_DATA including contents and datafiles cascade constraint;

在导入SQL时出现乱码:

参照Oracle的NLS_LANG设置详细说明(日语系统)_ningyingjun的专栏-CSDN博客_nls_lang

如果资源学习了,可以点赞支持!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值