Docker如何安裝Oracle 19c
安裝Oracle 19c
有時(shí)候?yàn)榱嗽囼?yàn),需要安裝Oracle新版本數(shù)據(jù)庫,由于安裝比較繁瑣耗時(shí),所以可通過docker快速安裝部署。
說明
有兩種方式安裝:
1.通過官方dockerfile自己編譯鏡像安裝
2.通過已編譯好的鏡像安裝(已上傳到hub.docker.com倉庫中)
地址:docker pull zqldocker/oracle:3
下載官方oracle的docker鏡像
[root@docker LEI]# git clone https://github.com/oracle/docker-images.git Cloning into 'docker-images'... remote: Enumerating objects: 77, done. remote: Counting objects: 100% (77/77), done. remote: Compressing objects: 100% (52/52), done. remote: Total 9878 (delta 25), reused 55 (delta 23), pack-reused 9801 Receiving objects: 100% (9878/9878), 10.20 MiB | 2.47 MiB/s, done. Resolving deltas: 100% (5686/5686), done. [root@docker LEI]# cd /docker-images/OracleDatabase/SingleInstance/dockerfiles/ [root@docker dockerfiles]# ll 總用量 24 drwxr-xr-x. 2 1101 oinstall 126 12月 24 04:12 11.2.0.2 drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 12.1.0.2 drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 12.2.0.1 drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 18.3.0 drwxr-xr-x. 2 1101 oinstall 159 12月 24 04:12 18.4.0 drwxr-xr-x. 2 1101 oinstall 4096 1月 7 17:36 19.3.0 -rwxr-xr-x. 1 1101 oinstall 5103 12月 24 04:12 buildDockerImage.sh
目前支持以上幾個(gè)版本的docker安裝。
開始安裝
1. 下載官方的dockerfile
[root@docker LEI]# git clone https://github.com/oracle/docker-images.git Cloning into 'docker-images'... remote: Enumerating objects: 77, done. remote: Counting objects: 100% (77/77), done. remote: Compressing objects: 100% (52/52), done. remote: Total 9878 (delta 25), reused 55 (delta 23), pack-reused 9801 Receiving objects: 100% (9878/9878), 10.20 MiB | 2.47 MiB/s, done. Resolving deltas: 100% (5686/5686), done. [root@docker LEI]# cd /docker-images/OracleDatabase/SingleInstance/dockerfiles/ [root@docker dockerfiles]# ll 總用量 24 drwxr-xr-x. 2 1101 oinstall 126 12月 24 04:12 11.2.0.2 drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 12.1.0.2 drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 12.2.0.1 drwxr-xr-x. 2 1101 oinstall 4096 12月 24 04:12 18.3.0 drwxr-xr-x. 2 1101 oinstall 159 12月 24 04:12 18.4.0 drwxr-xr-x. 2 1101 oinstall 4096 1月 7 17:36 19.3.0 -rwxr-xr-x. 1 1101 oinstall 5103 12月 24 04:12 buildDockerImage.sh ---制作鏡像
我們看到是存在19.3.0的dockerfile的,同時(shí)檢查其安裝的安裝包文件名:
[root@docker dockerfiles]# cd 19.3.0/
[root@docker 19.3.0]# cat Dockerfile|grep INSTALL_FILE_1
INSTALL_FILE_1="LINUX.X64_193000_db_home.zip" \ --可以看到Oracle的安裝介質(zhì)文件名
COPY --chown=oracle:dba $INSTALL_FILE_1 $INSTALL_RSP $INSTALL_DB_BINARIES_FILE $INSTALL_DIR/
2. 將安裝包拷貝到該目錄下
運(yùn)行開始安裝:
需要提前下載Oracle安裝介質(zhì),文件名默認(rèn)是不需要更改的,應(yīng)該是LINUX.X64_193000_db_home.zip,然后將其復(fù)制到對應(yīng)版本的目錄下即可。
[root@docker 19.3.0]# ll 總用量 2988068 -rwxr-xr-x. 1 1101 oinstall 1050 12月 24 04:12 checkDBStatus.sh -rwxr-xr-x. 1 1101 oinstall 905 12月 24 04:12 checkSpace.sh -rw-r--r--. 1 1101 oinstall 63 12月 24 04:12 Checksum.ee -rw-r--r--. 1 1101 oinstall 63 12月 24 04:12 Checksum.se2 -rwxr-xr-x. 1 1101 oinstall 3088 12月 24 04:12 createDB.sh -rw-r--r--. 1 1101 oinstall 9204 12月 24 04:12 dbca.rsp.tmpl -rw-r--r--. 1 1101 oinstall 6878 12月 24 04:12 db_inst.rsp -rw-r--r--. 1 1101 oinstall 3357 12月 24 04:12 Dockerfile -rwxr-xr-x. 1 1101 oinstall 2526 12月 24 04:12 installDBBinaries.sh -rw-r--r--. 1 1101 oinstall 3059705302 1月 2 19:13 LINUX.X64_193000_db_home.zip --安裝介質(zhì) -rwxr-xr-x. 1 1101 oinstall 6526 12月 24 04:12 runOracle.sh -rwxr-xr-x. 1 1101 oinstall 1015 12月 24 04:12 runUserScripts.sh -rwxr-xr-x. 1 1101 oinstall 758 12月 24 04:12 setPassword.sh -rwxr-xr-x. 1 1101 oinstall 932 12月 24 04:12 setupLinuxEnv.sh -rwxr-xr-x. 1 1101 oinstall 678 12月 24 04:12 startDB.sh [root@docker dockerfiles]# ./buildDockerImage.sh -v 19.3.0 -e
-e表示企業(yè)版
Successfully built 701b50f5832a
Successfully tagged oracle/database:19.3.0-ee
Oracle Database Docker Image for 'ee' version 19.3.0 is ready to be extended:
--> oracle/database:19.3.0-ee
Build completed in 2624 seconds.
當(dāng)出現(xiàn)上面的提示,就表示鏡像制作完成了,剩下就是利用該鏡像啟動(dòng)容器即可。
3. 啟動(dòng)容器:安裝數(shù)據(jù)庫
注意:oracle 企業(yè)版的docker run的命令格式如下(XE版的都有所區(qū)別):
[root@docker dockerfiles]# docker run --name oracle-19c \ -p 1521:1521 -p 5500:5500 \ -e ORACLE_SID=lei \ -e ORACLE_PDB=leipdb \ -e ORACLE_PWD=Oracle \ -v /oracle/oradata:/opt/oracle/oradata \ oracle/database:19.3.0-ee
注意:/oracle/oradata目錄權(quán)限一定要正確,在容器中oracle用戶的uid是54321,所以要保證容器內(nèi)的oracle用戶有權(quán)限讀寫該目錄。
如創(chuàng)建oracle用戶且uid是54321:
groupadd -g 1000 oinstall groupadd -g 1300 dba groupadd -g 1301 oper useradd -u 54321 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle echo "oracle" | passwd --stdin oracle chown oracle:oinstall /oracle/oradata
注:如果"DATABASE IS READY TO USE!"提示信息,表示數(shù)據(jù)庫已成功安裝了。
登陸主機(jī)或數(shù)據(jù)庫進(jìn)行操作:
[root@docker dockerfiles]# docker exec -it oracle-19c /bin/bash
[oracle@6a5cd3f9fb6c dbs]$ export ORACLE_SID=LEI
[oracle@6a5cd3f9fb6c dbs]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 8 02:00:16 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 LEIPDB READ WRITE NO
SQL>
至此就完成了docker安裝Oracle 19c!對于測試、試驗(yàn)非常方便~
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
CentOS 7.x docker使用overlay2存儲(chǔ)方式
這篇文章主要介紹了CentOS 7.x docker使用overlay2存儲(chǔ)方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2
docke roverlay2是Docker中的存儲(chǔ)驅(qū)動(dòng)之一,用于管理鏡像和容器層的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于docker的overlay2中存的都是什么及如何清理/var/lib/docker/overlay2的相關(guān)資料,需要的朋友可以參考下2024-04-04
使用Docker部署Angular項(xiàng)目的方法步驟
這篇文章主要介紹了使用Docker部署Angular項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
docker 安裝TDengine 時(shí)序數(shù)據(jù)庫的技術(shù)指南
TDengine是一個(gè)高性能、分布式a的時(shí)序數(shù)據(jù)庫,專為物聯(lián)網(wǎng)(loT)和大數(shù)據(jù)分析日設(shè)計(jì),下面給大家分享docker 安裝TDengine 時(shí)序數(shù)據(jù)庫的技術(shù)指南,感興趣的朋友一起看看吧2025-04-04
三分鐘完成 ubuntu16.04初始化,Java,maven,docker環(huán)境的部署問題
這篇文章主要介紹了三分鐘完成 ubuntu16.04初始化,Java,maven,docker環(huán)境的部署問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-11-11

