(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
(3)启动容器
docker start oracle11g
(4)进入镜像配置
docker exec -it oralce11g(这个地方可以是容器名也可以是容器id)
(5)创建软连接sqlplus /nolog,此时是无效的 command not found
(6)先切换到root用户去解决软连接的问题
切换root用户,并编辑profile文件
[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
这是才真正创建l软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
su - oracle
conn sys/ as sysdba;
alter user sys identified by sys;
alter user system identified by system;
创建用户
create user dlsys identified by dlsys;
赋予权限
grant connect,resource,dba to dlsys;
(5)配置listener.ora以及 tnsnames.ora
进入oracle用户的家目录
输入 lsnrctl status查看监听状态
cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin
目录下有两个文件listener.ora以及 tnsnames.ora
用vi编辑这两个文件修改host为自己的ip
至此就可以用客户端连接oracle了
接下来讲下怎么导入dmp数据到oracle库中
(6)将dmp文件上传到容器中
docker cp syszdb.DMP 容器id:/home/oracle/(注意syszdb.DMP文件放在dockertoolbox的安装目录下)
(7)创建一个逻辑目录并赋予去权限(导入命令的时候需要用到)
查看刚才创建的目录
(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;
表空间及用户名创建完后就可以返回到oracle用户的家目录
(oracle用户的家目录可以通过su root输入密码helowin后切换oracle用户su - oracle)
(8)最后输入导入命令:(针对expdp的导出命令)
impdp dlsys/dlsys@helowin directory=dir_dump dumpfile=syszdb.dmp