数据泵的导入
软件配置:win10 + Oracle19.3 + SQL developer
因为Oracle数据库卸载和安装非常麻烦,所以我在VM虚拟机中单独创建win10系统,在里面安装的Oracle数据库。
1、Oracle安装
2、SQL developer
在官网下载安装包、解压、点击developer.exe
官网下载地址
3、导入.dmp文件
//管理用户登入
用户名:system
口令:****(安装Oracle时设置的口令)
//创建表空间
create tablespace test //表空间名称
datafile 'C:\APP\oracle\oradata\test.dbf'
size 50m //初始大小
autoextend on;
//创建逻辑目录
create directory mydata as 'C:/APP/oracle/oradata/mydata';
//mydata文件夹必须手动创建
//创建用户
create user utest //用户名:utest
identified by 123 //密码: 123
default tablespace test ;//之前创建的表空间:test
//赋予权限
//给用户逻辑目录读写权限
grant read,write on directory mydata to utest;
#给用户表空间权限
grant connect to utest;
grant dba,resource tablespace to utest;
将导入的dmp文件保存到逻辑目录
之下。
impdp utest/123 directory=mydata dmpfile=1.dmp full=y //ignore=y
//mydata:逻辑目录
//1.dmp:是dmp文件,我只有dmp文件,没有log日志,有需要的在网上查询
//igonre =y :有的人说要写,但感觉写了和不写好像区别不大
最后导入时,可能会出错:
ORA-31625: 必须有方案 WBL_OWNER 才能导入此对象, 但此方案不可访问
...... : 用户不存在
// 需要创建 WBL_OWNER 用户,创建方式和utest的创建方式一样,表空间随意创建一个,指定到WBL_OWNER用户中
//再次导入出现错误,指明WBL_OWNER用户中没有’TS_WBL_OWNER‘表空间,创建表空间TS_WBL_OWNER,然后赋给WBL_OWNER用户
//将表空间赋给已创建用户:
sql> alter user WBL_OWNER default tablespace TS_WBL_OWNER;
//重新导入,显示成功
ORA-31625: 必须有方案 system 才能导入此对象, 但此方案不可访问
...... : 权限不足
//这个错误的解决方案,网上很多,如果碰到了,在网上找一下
//我没碰到过
4、导出.xlsx文件
打开developer,点击左上方绿色的“+”号,点击新建数据库连接
修改下方红色方框中的选项,验证类型是指内置的最大权限用户,一般都是sys
,密码是安装Oracle时设置的口令
,SID是默认单个实例数据库,如果不该变一般是orcl
。点击测试
,状态显示成功
,点击保存
点击second
->其他用户
->WBL_OWNER
->表
右击表名,点击导出
,修改选项如下,然后一直点击下一步,不用其他操作
参考文章:
如何将dmp文件导入到自己的oracle数据库中
expdp/impdp 数据泵导入导出