docker搭建oracle环境

提供版本:

Docker version 18.09.6、Centos7

1.docker 搜索 oracle 镜像

docker search oracle

2.docker拉取oracleinanutshell/oracle-xe-11g镜像

docker pull oracleinanutshell/oracle-xe-11g

3.查看拉取的oracleinanutshell/oracle-xe-11g镜像

docker images

 4.根据oracleinanutshell/oracle-xe-11g镜像 创建容器

docker run -d --name myoracle11g -v /docker/oracle/oracle_data:/data/oracle_date -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true --shm-size=1g --restart=always oracleinanutshell/oracle-xe-11g

参数说明:

1 --name:给容器起别名 。
2 --shm-size=1g:设置/dev/shm的大小。格式为:。number必须大于0。unit可选,可以是b,k,m或g。如果不指定unit,系统默认使用字节。如果此参数不指定,默认使用64m。
3 --restart=always --restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。--restart的参数说明 always:无论容器的退出代码是什么,Docker都会自动重启该容器。on-failure:只有当容器的退出代码为非0值的时候才会自动重启。另外,该参数还接受一个可选的重启次数参数,--restart=on-fialure:5表示当容器退出代码为非0时,Docker会尝试自动重启该容器,最多5次。(注意:这里如果不限定该重启策略,那么每一次重启电脑后都要手动通过docker start命令来重启当前容器)
4 ORACLE_PWD用于设置当前Oracle数据库密码。
5 -p:映射主机端口
6 -d:后台运行
7 -e: 设置环境变量 -e ORACLE_ALLOW_REMOTE=true 设置允许远程连接运行docker ps可以看到names为myoracle11g的容器正在运行
8 -v: 容器内部目录与宿主机目录挂载

5.查看启动的容器

docker ps

 6.远程连接镜像信息

  • 连接类型:Basic
  • 主机地址:ip
  • 端口:49161
  • DIS:xe
  • 用户名:system
  • 密码:oracle

7.创建新的用户并分配权限

#7.1进入容器
docker exec -it 6fe62cdc687e /bin/bash

#7.2使用普通身份登入
sqlplus system/oracle

#7.3查看用户
select username,password from dba_users;

#7.4创建用户:用户名为 oracle;密码为:oracle
create user oracle identified by oracle;
# 查看是否有此用户 oracle
select * from all_users;

#7.5给用户赋予connect 和 resource 角色(connect: 保证数据库可以链接;resource:该用户可以使用数据库的资源;create session:会话的权利)
grant connect,resource,create session to oracle;

#7.6创建表格添加,更改用户表空间配额
grant unlimited tablespace to oracle;

复制代码
# 7.7 删除用户 
drop user oracle;
#删除此用户名下的所有表和视图
drop user gwl cascade;

#7.8 退出
exit;
复制代码

 参考: https://blog.csdn.net/weixin_36001063/article/details/91598532

          https://www.jianshu.com/p/27a36d83fc10

         https://www.cnblogs.com/zy-king-karl/p/11739001.html

         https://www.jianshu.com/p/3079c6d4d081

         https://blog.csdn.net/qq_38380025/article/details/80647620

 

posted @   沐春风-燕南飞  阅读(923)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示