通过docker安装oracle19c,无网环境
时间: 2023-07-08 19:34:22 浏览: 218
在无网环境下安装 Oracle 19c 需要做以下几个步骤:
1. 准备安装文件
在有网环境中下载 Oracle 19c 的安装文件,可以是 zip 或 tar.gz 格式,然后将其复制到无网环境下的服务器上。
2. 安装依赖
Oracle 19c 的安装需要一些依赖,如 libaio、libnsl、libXext、libXrender、libXtst 等,需要先在无网环境中安装这些依赖。可以使用以下命令安装:
```
yum install -y libaio libnsl libXext libXrender libXtst
```
3. 创建 Dockerfile
创建一个 Dockerfile 文件,指定使用的基础镜像、安装 Oracle 19c、创建数据库实例、配置监听等。下面是一个示例 Dockerfile 文件:
```
FROM oraclelinux:7-slim
# 设置环境变量
ENV ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 \
ORACLE_SID=ORCLCDB \
PATH=$ORACLE_HOME/bin:$PATH \
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
# 安装必要软件
RUN yum install -y libaio libnsl libXext libXrender libXtst openssl && \
yum clean all && \
rm -rf /var/cache/yum
# 创建用户和组
RUN groupadd -g 54321 oinstall && \
groupadd -g 54322 dba && \
useradd -u 54321 -g oinstall -G dba oracle && \
echo "oracle:oracle" | chpasswd && \
mkdir -p /opt/oracle && \
chown -R oracle:oinstall /opt/oracle
# 拷贝安装文件
COPY linuxx64_193000_db_home.zip /tmp/
# 解压安装文件
RUN unzip /tmp/linuxx64_193000_db_home.zip -d /tmp && \
rm /tmp/linuxx64_193000_db_home.zip && \
/tmp/database/runInstaller -silent -ignorePrereq -waitforcompletion \
oracle.install.option=INSTALL_DB_SWONLY \
ORACLE_HOSTNAME=localhost \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/opt/oraInventory \
SELECTED_LANGUAGES=en \
ORACLE_HOME=$ORACLE_HOME \
ORACLE_BASE=/opt/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSOPER_GROUP=dba \
oracle.install.db.OSBACKUPDBA_GROUP=dba \
oracle.install.db.OSDGDBA_GROUP=dba \
oracle.install.db.OSKMDBA_GROUP=dba \
oracle.install.db.OSRACDBA_GROUP=dba \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
DECLINE_SECURITY_UPDATES=true
# 配置监听
COPY listener.ora tnsnames.ora /opt/oracle/product/19c/dbhome_1/network/admin/
RUN chown oracle:oinstall /opt/oracle/product/19c/dbhome_1/network/admin/*.ora && \
chmod 644 /opt/oracle/product/19c/dbhome_1/network/admin/*.ora
# 创建数据库实例
USER oracle
RUN $ORACLE_HOME/bin/dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname ORCLCDB -sid ORCLCDB \
-sysPassword oracle \
-systemPassword oracle \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName ORCLPDB1 \
-pdbAdminPassword oracle \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement false \
-totalMemory 1024 \
-redoLogFileSize 50 \
-emConfiguration NONE \
-datafileDestination /opt/oracle/oradata
# 暴露监听端口
EXPOSE 1521
# 启动监听
CMD $ORACLE_HOME/bin/tnslsnr && tail -f $ORACLE_HOME/network/log/listener.log
```
在该示例中,我们使用的基础镜像是 Oracle Linux 7,安装了 libaio、libnsl、libXext、libXrender、libXtst 和 openssl。我们创建了用户和组 oracle、oinstall 和 dba,并拷贝了安装文件 linuxx64_193000_db_home.zip。在 Dockerfile 中执行安装过程,并配置了监听、创建了一个名为 ORCLCDB 的实例。最后,我们暴露了监听端口 1521,并在启动容器时启动了监听。
4. 构建镜像
在 Dockerfile 所在目录执行以下命令构建镜像:
```
docker build -t oracle:19c .
```
5. 运行容器
使用以下命令运行容器:
```
docker run -d -p 1521:1521 --name oracle19c oracle:19c
```
其中,`-d` 表示在后台运行容器,`-p` 指定容器内外端口映射,`--name` 指定容器名称。
以上是在无网环境下通过 Docker 安装 Oracle 19c 的基本步骤,具体细节可能会因环境而异。在实际操作中需要根据具体情况进行调整。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)