docker中拉取镜像、配置并实现将数据导入到oracle库中

(1)进入docker拉取oracle镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

(2)创建oracle容器

 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

docker中拉取镜像、配置并实现将数据导入到oracle库中_第1张图片

(3)启动容器

docker start oracle11g

(4)进入镜像配置

docker exec -it oralce11g(这个地方可以是容器名也可以是容器id)

docker中拉取镜像、配置并实现将数据导入到oracle库中_第2张图片

 

(5)创建软连接sqlplus /nolog,此时是无效的 command not found

docker中拉取镜像、配置并实现将数据导入到oracle库中_第3张图片

(6)先切换到root用户去解决软连接的问题

切换root用户,并编辑profile文件

docker中拉取镜像、配置并实现将数据导入到oracle库中_第4张图片

 

[root@a8a161b66e1d /]# 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

 

docker中拉取镜像、配置并实现将数据导入到oracle库中_第5张图片

这是才真正创建l软连接

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

su - oracle

conn sys/ as sysdba;

docker中拉取镜像、配置并实现将数据导入到oracle库中_第6张图片

 

alter user sys identified by sys;

alter user system identified by system;

创建用户

create user dlsys identified by dlsys;

赋予权限

grant connect,resource,dba to dlsys;

docker中拉取镜像、配置并实现将数据导入到oracle库中_第7张图片

(5)配置listener.ora以及 tnsnames.ora

进入oracle用户的家目录

输入 lsnrctl status查看监听状态

docker中拉取镜像、配置并实现将数据导入到oracle库中_第8张图片

cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin

目录下有两个文件listener.ora以及 tnsnames.ora

用vi编辑这两个文件修改host为自己的ip

docker中拉取镜像、配置并实现将数据导入到oracle库中_第9张图片

至此就可以用客户端连接oracle了

docker中拉取镜像、配置并实现将数据导入到oracle库中_第10张图片

 

 

接下来讲下怎么导入dmp数据到oracle库中

(6)将dmp文件上传到容器中

docker cp syszdb.DMP 容器id:/home/oracle/(注意syszdb.DMP文件放在dockertoolbox的安装目录下)

(7)创建一个逻辑目录并赋予去权限(导入命令的时候需要用到)

docker中拉取镜像、配置并实现将数据导入到oracle库中_第11张图片

查看刚才创建的目录

docker中拉取镜像、配置并实现将数据导入到oracle库中_第12张图片

(7)创建表空间及用户

CREATE TABLESPACE "DLGIS"

    LOGGING

    DATAFILE '/home/oracle/app/oracle/oradata/helowin/DLGIS.ORA' SIZE 400M

    REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO;

    

ALTER DATABASE

    DATAFILE '/home/oracle/app/oracle/oradata/helowin/DLGIS.ORA' AUTOEXTEND

    ON  NEXT 10M  MAXSIZE UNLIMITED;

docker中拉取镜像、配置并实现将数据导入到oracle库中_第13张图片

表空间及用户名创建完后就可以返回到oracle用户的家目录

(oracle用户的家目录可以通过su root输入密码helowin后切换oracle用户su - oracle)

(8)最后输入导入命令:(针对expdp的导出命令)

impdp dlsys/dlsys@helowin directory=dir_dump dumpfile=syszdb.dmp

你可能感兴趣的:(数据库)