docker-oracle11 impdp导入dmp文件

docker如何安装oralce11本文就不介绍了,网上有很多,不会的可以去看看。 

如果大家对数据库名称、数据库实例、表空间、用户还有点模糊,请用10分钟重新看下他们的定义,在看下面就容易很多。

当启动了oracle容器后,我们如何把别人用expdp命令导出的.dmp文件导入到我们建立的数据库中。在这里我给总结下。

1:先进入oracle容器。

docker exec -it oracle_11g /bin/sh

2:把.dmp文件放到oracle容器中

我自己找的容器中的路径是home/oracle下

建立一个新的文件夹

mkdir aa

给文件夹aa付读写权限

chmod 777 aa

把.dmp文件cp到容器中的/home/oracle/aa文件夹下

docker cp /root/GZJAJ_EXAM_0417.dmp oracle_11g:/home/oracle/aa/GZJAJ_EXAM_0417.dmp

3:进入sqlplus页面

sqlplus / as sysdba;

直接使用这个命令系统会报找不到sqlplus信息

需要配置环境变量

vi /etc/profile  最后加上

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

export ORACLE_SID=helowin

export PATH=$ORACLE_HOME/bin:PATH


用source命令让配置文件生效

source /etc/profile

再运行sqlplus / as sysdba;

4:创建表空间

CREATE TABLESPACE xxx DATAFILE '/home/oracle/app/oracle/oradata/xxx.ora' SIZE 100m;

5:创建用户

CREATE USER TESTXX IDENTIFIED BY 123456 DEFAULT TABLESPACE xxx QUOTA 100m ON USERS;

6:给用户赋权

GRANT CONNECT,DBA,RESOURCE TO TESTXX;

7:创建目录

create or replace directory aa as '/home/oracle/aa';

8:让用户对目录有操作权限

grant read,write on directory aa to TESTXX;

9:导入.dmp文件

退出sqlplus用exit,然后用impdp命令导入

impdp TESTXX/123456@helowin full=Y directory=aa dumpfile=GZJAJ_EXAM_0417.dmp transform=segment_attributes:n;

10:用工具查看,发现表已经全部导入到数据库中

你可能感兴趣的:(docker-oracle11 impdp导入dmp文件)