Docker-安装使用Oracle 11g

1、安装Docker

2、Docker仓库搜索Oracle 11g镜像

look@lookdeMacBook-Pro ~ % docker search docker-oracle-xe-11g
NAME                                 DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
deepdiver/docker-oracle-xe-11g                                                       41                   [OK]
epiclabs/docker-oracle-xe-11g        Customized Oracle XE 11g build for CI and de…   22                   [OK]
pengbai/docker-oracle-xe-11g-r2      oracle xe 11g r2 with sql initdb and web con…   10                   [OK]
arahman/docker-oracle-xe-11g         phusion/baseimage based spin off of alexei-l…   9                    [OK]
konnecteam/docker-oracle-xe-11g      Fork of https://github.com/wnameless/docker-…   4                    [OK]
rafaelri/docker-oracle-xe-11g        Fork from wnameless/docker-oracle-xe-11g        3                    [OK]
ignatov/docker-oracle-xe-11g         Dockerfile of Oracle Database Express Editio…   3                    [OK]
gswteam/docker-oracle-xe-11g         Oracle XE 11g                                   0                    [OK]
nguoianphu/docker-oracle-xe-11g      Oracle Express Edition 11g Release 2 on Ubun…   0                    [OK]
jeromefromcn/docker-oracle-xe-11g    docker-oracle-xe-11g                            0                    [OK]
zzzfree/docker-oracle-xe-11g         docker-oracle-xe-11g                            0                    [OK]
lynxsolutions/docker-oracle-xe-11g   docker-oracle-xe-11g                            0                    [OK]
deadok22/docker-oracle-xe-11g        docker-oracle-xe-11g                            0                    
dbanttari/docker-oracle-xe-11g       Branch of wnameless/docker-oracle-xe-11g tha…   0                    [OK]
rdehuyss/docker-oracle-xe-11g        Oracle Express 11g R2 on Ubuntu 14.04.2 LTS     0                    [OK]
xtechnologies/docker-oracle-xe-11g   docker-oracle-xe-11g                            0                    [OK]
bizybot/docker-oracle-xe-11g         wnameless/docker-oracle-xe-11g                  0                    [OK]
cheyu0325/docker-oracle-xe-11g       docker-oracle-xe-11g                            0                    
kikicarbonell/docker-oracle-xe-11g   Docker image of Oracle Database Express Edit…   0                    [OK]
zigac/docker-oracle-xe-11g           Oracle xe 11g                                   0                    [OK]
ceagan/docker-oracle-xe-11g          Modified version of wnameless/docker-oracle-…   0                    [OK]
dockerbolcom/docker-oracle-xe-11g    Fork of https://github.com/wnameless/docker-…   0                    [OK]
demers/docker-oracle-xe-11g-spark    Oracle XE 11g with Spark                        0                    
gmartsenkov/docker-oracle-xe-11g     oracle                                          0                    [OK]
demers/docker-oracle-xe-11g          Docker Oracle 11g XE with Java 13 and Python…   0                    

3、选择一个想要的Oracle 11g版本拉取下来

docker pull deepdiver/docker-oracle-xe-11g

4、启动镜像

docker run -h "oracle" --name "oracle" -d -p 49160:22 -p 49161:1521 -p 49162:8080 deepdiver/docker-oracle-xe-11g

5、查看容器id并进入容器

look@lookdeMacBook-Pro ~ % docker ps -al
CONTAINER ID   IMAGE                            COMMAND                  CREATED         STATUS         PORTS                                                                     NAMES
35fd8ae5ce60   deepdiver/docker-oracle-xe-11g   "/bin/sh -c 'sed -i …"   2 minutes ago   Up 2 minutes   0.0.0.0:49160->22/tcp, 0.0.0.0:49161->1521/tcp, 0.0.0.0:49162->8080/tcp   oracle
look@lookdeMacBook-Pro ~ % docker exec -it 35fd8ae5ce60 /bin/bash

 6、通过sqlplu连接数据库。oracle的高级用户有两个 sys和system。在我pull的这个docker oracle 11g 的版本,密码都是oracle 

#用system用户登录数据库
sqlplus system/oracle
 

 7、创建一个用户并分配权限

-- 查看用户
select username,password from dba_users;
-- 创建用户 create user deque identified by 123;

-- 创建用户并指定表空间,表空间名必须大写(表空间要提前建好)
create user deque identified by 123 default tablespace TEST
-- 给新用户授权
grant connect,resource to deque; 

 8、用Navicat 连接 docker oracle 11g

    8.1 查看oracle 的映射端口。 0.0.0.0:49161-->1521 

    8.2 进入容器中查看oracle 的service_name

-- 查看容器ID
docker ps -l

CONTAINER ID   IMAGE                            COMMAND                  CREATED       STATUS       PORTS                                                                     NAMES
35fd8ae5ce60   deepdiver/docker-oracle-xe-11g   "/bin/sh -c 'sed -i …"   4 hours ago   Up 4 hours   0.0.0.0:49160->22/tcp, 0.0.0.0:49161->1521/tcp, 0.0.0.0:49162->8080/tcp   oracle

-- 进入容器
docker exec -it 35fd8ae5ce60 /bin/bash

-- sqlplus 登录 system用户
sqlplus system/oracle

-- 查看服务名
show parameter service

 

 9、其他:

    9.1 docker的启停操作

-- 停止docker oracle服务
docker stop oracle

-- 启动docker oracle 服务
docker start oracle

     9.2 oracle的一些命令

--创建表空间
create tablespace test datafile 'test.dbf' size 1024M;

-- 查询当前用户拥有的所的有表空间
select tablespace_name from user_tablespaces;
-- 给已有用户设置表空间
alter user ods  default tablespace test;

 

 

 

 

参考:

  https://www.jianshu.com/p/b867263995b5

posted @ 2021-12-09 21:55  寻找风口的猪  阅读(1789)  评论(0编辑  收藏  举报