超简单!超详细!使用Docker快速部署Oracle19c(其他版本通用)
1. 为什么选择Docker部署Oracle19c如果你正在寻找一种快速搭建Oracle数据库环境的方法Docker绝对是你的最佳选择。传统安装Oracle需要下载几个GB的安装包配置复杂的系统参数整个过程可能要耗费数小时。而使用Docker从拉取镜像到启动服务最快10分钟就能搞定。我最近在一个紧急项目中就用Docker部署了Oracle19c当时客户要求第二天就要看到demo环境。如果用传统方式安装光是下载安装包就得半天时间。但用Docker我下班前花20分钟就搞定了整个环境第二天直接给客户演示效果非常好。Docker部署Oracle有三大优势环境隔离每个Oracle实例运行在独立的容器中互不干扰快速部署镜像已经预配置好所有参数省去繁琐的安装步骤版本切换可以同时运行多个不同版本的Oracle实例2. 环境准备2.1 安装Docker引擎首先确保你的系统已经安装了Docker引擎。我推荐使用Docker Desktop它提供了图形化界面对新手特别友好。安装过程非常简单# 在Ubuntu上安装Docker sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io # 启动Docker服务 sudo systemctl start docker sudo systemctl enable docker安装完成后运行以下命令验证是否安装成功docker --version如果看到类似Docker version 20.10.12的输出说明安装成功。2.2 配置系统资源Oracle数据库对系统资源要求较高建议至少分配4GB内存20GB磁盘空间2个CPU核心对于Windows用户需要特别注意打开任务管理器查看性能选项卡确保虚拟化已启用在Docker Desktop设置中调整资源分配3. 拉取Oracle19c镜像3.1 选择合适的镜像Oracle官方在Docker Hub提供了多个版本的镜像。我推荐使用container-registry.oracle.com/database/enterprise这个官方镜像它已经预装了Oracle19c企业版。# 登录Oracle容器注册表 docker login container-registry.oracle.com # 拉取Oracle19c镜像 docker pull container-registry.oracle.com/database/enterprise:19.3.0.0这个镜像大约6GB大小下载时间取决于你的网络速度。我实测在100M宽带下大约需要30分钟。3.2 加速下载技巧如果你觉得下载速度太慢可以尝试以下方法使用国内镜像源在非高峰时段下载使用下载工具预先下载4. 运行Oracle容器4.1 基本启动命令镜像下载完成后用这个命令启动容器docker run -d \ --name oracle19c \ -p 1521:1521 \ -p 5500:5500 \ -e ORACLE_SIDORCLCDB \ -e ORACLE_PDBORCLPDB1 \ -e ORACLE_PWDyourpassword \ container-registry.oracle.com/database/enterprise:19.3.0.0参数说明-d: 后台运行--name: 容器名称-p: 端口映射-e: 环境变量设置4.2 关键配置项第一次启动时Oracle会执行初始化操作这个过程可能需要10-30分钟。你可以通过查看日志来监控进度docker logs -f oracle19c当看到DATABASE IS READY TO USE!的提示时说明数据库已经就绪。5. 连接和管理Oracle数据库5.1 使用SQL*Plus连接进入容器内部docker exec -it oracle19c bash然后切换到oracle用户su - oracle使用SQL*Plus连接数据库sqlplus / as sysdba5.2 常用管理命令在SQL*Plus中你可以执行这些常用命令-- 查看当前容器 SHOW CON_NAME; -- 切换到PDB ALTER SESSION SET CONTAINERORCLPDB1; -- 创建新用户 CREATE USER test IDENTIFIED BY test; -- 授予权限 GRANT CONNECT, RESOURCE TO test;6. 使用客户端工具连接6.1 配置本地连接在客户端工具如SQL Developer中使用这些参数连接主机名localhost端口1521服务名ORCLPDB1用户名system密码yourpassword6.2 常见连接问题如果连接失败检查以下几点防火墙是否放行了1521端口容器是否正常运行服务名是否正确7. 数据持久化配置默认情况下容器停止后数据会丢失。要实现数据持久化需要使用卷挂载docker run -d \ --name oracle19c \ -p 1521:1521 \ -v /path/to/host/directory:/opt/oracle/oradata \ container-registry.oracle.com/database/enterprise:19.3.0.0这样数据库文件就会保存在宿主机的/path/to/host/directory目录中。8. 其他版本兼容性同样的方法也适用于其他Oracle版本只需修改镜像标签即可。例如# Oracle 11g docker pull container-registry.oracle.com/database/enterprise:11.2.0.2 # Oracle 12c docker pull container-registry.oracle.com/database/enterprise:12.2.0.1启动命令基本相同但要注意不同版本可能有不同的环境变量要求。我在实际项目中测试过从11g到19c的各个版本这种部署方式都非常稳定。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2512692.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!