Oracle 恢复dmp文件到数据库表中(超大DMP) 【数据系列 3】

Oracle 恢复dmp文件到数据库表中(超大DMP) 【数据系列 3】简述本来我电脑上的docker安装的是oracle11结果oracle11xe支持的tablespace最大是11G,但是我的dmp文件是22个G的超大dmp文件。所以很明显是不行的了。所以没有办法只能重新安装一个oracle12c的容器。安装步骤dockersearchoracle执行上面的命令查找可以使用的docker镜像。选取truevoly/oracle-12c作为此次要下载的镜像文件。下载镜像dockerpulltruevoly/ora

简述

本来我电脑上的docker安装的是oracle 11 结果 oracle 11 xe 支持的 tablespace 最大是11G,但是我的dmp文件是22个G的超大dmp文件。所以很明显是不行的了。所以没有办法只能重新安装一个oracle 12c的 容器。

安装步骤

docker search oracle 

执行上面的命令查找可以使用的docker 镜像。
在这里插入图片描述
选取 truevoly/oracle-12c 作为此次要下载的镜像文件。

  • 下载镜像
docker pull truevoly/oracle-12c

当下载完成以后即可看到本地的镜像仓库里面存在了镜像文件。
然后执行如下命令创建运行一个12c的数据库容器

  • 创建容器
docker run -d -p 49161:1521 -v /Users/qinglutaxue/Desktop/dockerV:/Users/qinglutaxue/Desktop/dockerV -e ORACLE_ALLOW_REMOTE=true truevoly/oracle-12c

本语句会将我Mac电脑的桌面的dockerV文件夹作为一个数据卷挂载在创建的容器上,方便我后期来存放大容量的dmp文件.
在这里插入图片描述
自从我已经成功创建出来一个ID是 ce192577298d 的容器。

  • 进入容器
docker exec -it ce192577298d  /bin/bash

在这里插入图片描述

  • 链接到oracle服务
su oracle

在 /u01/app/oracle/ 文件夹下创建一个 oracle_test 文件夹(该文件夹是为了存放之后创建用户时创建的附属文件)。

mkdir oracle_test

在这里插入图片描述

  • 进入xe文件夹随后进入dba模式
    在这里插入图片描述
  • 进入dba模式
cd $ORACLE_HOME
bin/sqlplus / as sysdba

在这里插入图片描述

创建一个大小足以覆盖dmp的大小的tablespace表空间

create tablespace trunk datafile '/u01/app/oracle/oracle_test/trunks.dbf' size 25000M;
  • 创建用户
create user cox identified by cox123456 default tablespace trunk;
  • 给用户授权
grant connect,resource to cox;
grant dba to cox;//授予dba权限后,这个用户能操作所有用户的表

在这里插入图片描述
使用Navicat 链接 cox用户的数据库。
然后再 容器内部执行如下命令进行数据导入

imp system/oracle file=/Users/qinglutaxue/Desktop/dockerV/ZHOUKOU3_MX.dmp  buffer=10240000 commit=yes tables=YBMX_ZHOUKOU3 touser=cox ignore=y

在这里插入图片描述

但是可能会提示import server 或者 import client 的编码不一致的情况。所以需要对数据库的编码进行修改。参考如下

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35896.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注