在Docker中部署Oracle 11.2.0.4的详细指南

需积分: 28 4 下载量 130 浏览量 更新于2024-08-13 收藏 189KB DOCX 举报
"在Docker环境下安装Oracle 11.2.0.4数据库的详细步骤" 在Docker中安装Oracle 11.2.0.4是一个复杂的过程,需要对Docker容器技术和Oracle数据库安装有深入理解。下面将详细介绍这个过程: 1. 环境准备: - 宿主机操作系统:CentOS Linux release 7.3.1611 - Docker版本:1.12.5 - Oracle数据库版本:11.2.0.4 - 基础镜像:docker.io/centos 2. 启动Docker容器: - 使用`docker run`命令启动一个基于Centos的基础镜像,并设置端口映射、命名容器以及挂载数据卷。 ```bash docker run -it -p 192.168.10.51:1521:1521 --name os4oracle -v /container_data/oracle_data:/oracle_data docker.io/centos ``` 这里,`192.168.10.51:1521`是宿主机的IP地址及Oracle默认监听端口,`/container_data/oracle_data`是宿主机上的Oracle安装文件位置,`/oracle_data`是容器内的数据目录。 3. 在容器内创建用户和组: - 创建`dba`和`oinstall`两个组。 ```bash groupadd dba groupadd oinstall ``` - 创建名为`oracle`的用户,并将其添加到`oinstall`组和`dba`组。 ```bash useradd -m -g oinstall -G dba oracle passwd oracle # 设置oracle用户的密码 ``` - 创建`nobody`用户,通常用于非特权操作。 4. 设置权限和目录: - 创建必要的目录,并分配权限。 ```bash mkdir -p /opt/oracle mkdir -p /opt/oracle/product/11.2.0/db_1 chown -R oracle:dba /opt/oracle chmod -R 775 /opt ``` 5. 安装依赖软件: 使用`yum`工具安装Oracle数据库安装所需的依赖包,包括编译工具、库文件和系统监控工具等。 ```bash yum -y install gcc yum -y install make yum -y install binutils yum -y install gcc-c++ yum -y install compat-libstdc++-33 yum -y install elfutils-libelf-devel yum -y install elfutils-libelf-devel-static yum -y install ksh yum -y install libaio yum -y install libaio-devel yum -y install numactl-devel yum -y install sysstat yum -y install unixODBC yum -y install unixODBC-devel yum -y install pcre-devel ``` 6. 配置系统限制: - 修改`/etc/security/limits.conf`文件,设置Oracle用户的资源限制,如进程数和打开文件数。 ```bash oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 ``` - 修改`/etc/sysctl.conf`文件,增加AIO(异步输入/输出)最大请求数。 ```bash fs.aio-max-nr = 10 ``` 7. 安装Oracle数据库: - 在容器内,使用之前挂载的Oracle安装文件,按照Oracle官方文档的指引进行安装。这通常涉及到交互式的安装过程,包括接受许可协议、选择安装类型、配置数据库参数等。 8. 启动和管理数据库服务: - 安装完成后,使用`sqlplus`或`dbca`(Database Configuration Assistant)工具启动和管理数据库服务。 通过以上步骤,您可以在Docker容器中成功安装Oracle 11.2.0.4数据库。然而,需要注意的是,Oracle在Docker中的运行可能涉及许可证问题,因此在生产环境中使用前,请确保符合Oracle的许可条款。此外,由于Oracle数据库的复杂性,建议在安装过程中详细记录每一步,以便于后续的维护和故障排查。