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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义