Oracle是大型企業資料庫管理系統,為企業級應用提供了高可用性和可伸縮性。在Docker容器化技術的幫助下,Oracle可以更方便、更高效地管理和部署。本篇文章將為大家提供Docker安裝Oracle資料庫的完整教程。
一、安裝Docker
安裝Docker前需要先卸載舊版並進行更新,在安裝Docker之前,需要先在系統中更新內核版本,否則會造成安裝過程中的兼容性問題。以下給出更新內核版本和安裝Docker的詳細步驟。
1、更新內核
sudo yum update -y
sudo reboot
2、添加Docker官方源並安裝Docker
sudo yum remove -y docker-ce docker-ce-cli containerd.io # 卸載舊版
sudo yum install -y yum-utils # 安裝工具包,用於獲取Docker官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 添加Docker官方源
sudo yum install -y docker-ce docker-ce-cli containerd.io # 安裝Docker
sudo systemctl start docker # 啟動Docker並設置為開機啟動
sudo systemctl enable docker
二、下載Oracle資料庫安裝文件
在Oracle官網下載頁面下載所需版本的Oracle資料庫安裝文件。需要注意的是,Oracle資料庫的安裝文件很大,具體大小根據不同版本而定。本教程使用的是Oracle 19c的Linux版本,大小約為5.5GB。
三、構建Oracle資料庫Docker鏡像
在下載完Oracle資料庫安裝文件之後,需要使用Dockerfile構建一個Oracle資料庫的Docker鏡像。
1、創建文件夾和文件
sudo mkdir -p /opt/oracle && cd /opt/oracle # 創建文件夾
sudo touch Dockerfile # 創建Dockerfile
2、將Oracle安裝文件複製到指定文件夾下
將下載的Oracle安裝文件複製到/opt/oracle下,然後解壓縮。
sudo cp /path/to/oracle/linuxx64_12201_database.zip /opt/oracle/
cd /opt/oracle
sudo unzip linuxx64_12201_database.zip
3、編輯Dockerfile
使用vim編輯器打開Dockerfile,並粘貼以下內容:
FROM oraclelinux:7-slim
ADD oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm /tmp/
ADD linuxx64_12201_database.zip /tmp/
RUN yum -y install oracle-database-preinstall-19c && \
rm -rf /var/cache/yum/* && \
mkdir /opt/oracle && \
unzip /tmp/linuxx64_12201_database.zip -d /opt/oracle && \
rm /tmp/linuxx64_12201_database.zip && \
rpm -ivh /tmp/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm && \
rm /tmp/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
ENV ORACLE_SID=ORCLCDB \
ORACLE_PDB=ORCLPDB1 \
ORACLE_PWD=oracle \
ORACLE_CHARACTERSET=AL32UTF8
ADD init.sql /opt/oracle/
ADD initXe.sql /opt/oracle/
# 修改許可權,否則報錯
RUN chown -R oracle:oinstall /opt/oracle && \
chmod -R 775 /opt/oracle && \
echo "oracle:oracle" | chpasswd
ADD /entrypoint.sh /entrypoint.sh
RUN chmod a+x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 1521 5500
CMD ["/opt/oracle/runOracle.sh"]
保存並退出後,執行以下命令構建Docker鏡像:
sudo docker build -t oracle/database:19.3.0-ee . # 注意後面有一個英文句號
四、運行Oracle資料庫Docker容器
在構建好Oracle資料庫的Docker鏡像後,就可以運行容器來操作資料庫了。運行容器時需要注意使用docker run命令的一些參數,主要是用戶、文件夾映射和埠設置等。
sudo docker run --name oracle \
-p 1521:1521 -p 5500:5500 \
--restart=always \
--detach=true \
--shm-size="8g" \
-e TZ=Asia/Shanghai \
-v /opt/oracle:/ORCL \
oracle/database:19.3.0-ee
其中:
--name
:為Docker容器起一個名稱-p
:指定容器埠號和主機埠號的映射,這裡設置1521是為了訪問資料庫,5500是為了訪問Web應用程序Express-v
:指定宿主機目錄和容器內部目錄的映射,這裡將/opt/oracle和/ORCL映射到一起,容器內的數據會保存在/opt/oracle目錄下,宿主機可以通過掛載此目錄訪問--shm-size
:指定共享內存的大小,這對於Oracle資料庫的正常運行至關重要-e
:設置環境變數,這裡設置時區為亞洲/上海,確保時間一致
五、連接Oracle資料庫
運行container的時候,我們可以在容器運行後的日誌中看到以下默認連接詳情:
ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: oracle
ORACLE DATABASE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: oracle
ORACLE AUTO GENERATED PASSWORD FOR ORACLE APEX ADMIN ACCOUNTS: GnoVYF9Kiu.
ORACLE CHARACTER SET is AL32UTF8
This is a non CDB database
根據上面提供的連接信息去使用SQL Plus去進行連接即可。
sqlplus system/oracle@//localhost:1521/ORCLCDB
六、總結
通過本篇文章的介紹,您已經學會了使用Docker快速搭建Oracle資料庫的方法,相比傳統的安裝方式,Docker更加方便、高效、便於維護和升級。希望這篇教程能對您有所幫助。
原創文章,作者:QKMAE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/335055.html