Oracle 数据库导入导出

一.创建表空间

create tablespace MOF
datafile 'C:\ORACLE\oradata\MOF' size 50m   
autoextend on  next 50m maxsize 20480m   extent management local;

其中MOF为表空间的名字,C:\ORACLE\oradata\MOF为存储目录。

二.创建用户

CREATE user TEST_20191018 identified by 123 default tablespace MOF temporary tablespace temp;

其中TEST_20191018为用户名,123为密码。

三.授权

grant dba to TEST_20191018;

将数据库管理员的权限授予TEST_20191018,如果不想给管理员的权限可以使用下面的多个授权语句。建议使用管理员权限,不然导入数据库的时候可能会出现没有权限的错误。

grant resourcegrant dba to TEST_20191018;
grant alter any table to TEST_20191018;
grant alter any trigger to TEST_20191018;
grant create any table to TEST_20191018;
grant create any trigger to TEST_20191018;
grant create any view to TEST_20191018;
grant select any sequence to TEST_20191018;
grant select any table to TEST_20191018;
grant unlimited tablespace to TEST_20191018;
grant create session to TEST_20191018;

四.导入

1.普通导入IMP:

imp TEST_20191018/123@192.168.0.1:1521/orcl file=E:\开发备份文件\数据库备份\TEST.dmp full=y log=E:\开发备份文件\数据库备份\TEST.log

普通导入可以在安装Oracle的任意能够连通192.168.0.1的主机上执行即可。

2.数据泵导入IMPDP:

impdp TEST_20191018/123 directory=IMP_DIR dumpfile=TEST.dmp REMAP_SCHEMA=TEST:TEST_20191018

数据泵导入需要用到导入目录,上面脚本的IMP_DIR就是导入目录,也就是要告诉Oracle你要导入的dmp文件所在的目录,使用下面的语句查询目前有的目录。

select * from dba_directories ;

如果想要的导入目录不存在,可以使用下面的脚本创建目录:

create or replace directory IMP_DIR as 'E:\开发备份文件\数据库备份\';

将新建的目录授读写权限给用户:

grant read ,write on directory  IMP_DIR to TEST_20191018;

五.导出

1.普通导出EXP:

第一步,先给空表分配segment

select 'alter table ' || TABLE_NAME || ' allocate extent;'
  from USER_TABLES
 where NUM_ROWS = 0
    or NUM_ROWS is null;

第二步,将上面sql执行以后的结果集批量执行,例如:

alter table TEST_TABLE allocate extent;

第三步,导出数据

exp TEST_0101/123456@192.168.0.1:1521/orcl file=E:\开发备份文件\数据库备份\TEST.dmp;

2.数据泵导出EXPDP:

expdp TEST_0101/123456 dumpfile=TEST.DMP directory=IMP_DIR schemas=TEST content=data_only  FILESIZE=1M;

数据泵导出需要在数据库服务所在的主机执行脚本。同时参考普通导出也需要有IMP_DIR目录。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值