實(shí)戰(zhàn)Docker部署Oracle11g(含踩坑填坑)

環(huán)境:Centos7.6(理論上Centos7.X 64都可以)

1.安裝Docker

(1)yum 包更新到最新

sudo yum update

(2)安裝需要的軟件包,?yum-util 提供yum-config-manager功能,另外兩個(gè)是devicemapper驅(qū)動(dòng)依賴(lài)的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(3)設(shè)置yum源為阿里云

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(4)安裝docker

sudo yum install docker-ce

(5)啟動(dòng)docker

service docker start

2.上傳oracle安裝包到服務(wù)器解壓(Oracle11.2.0.4)

下載鏈接:https://pan.baidu.com/s/1BZ6HEblZrB4Oy7s5BPYYnw提取碼:z2ea

unzip p13390677_112040_Linux-x86-64_1of7.zip

unzip p13390677_112040_Linux-x86-64_2of7.zip

3.安裝oracle 11g鏡像到docker

docker pull jaspeen/oracle-11g

4.啟動(dòng)鏡像(執(zhí)行安裝oracle)

docker run --privileged --name oracle11g -p 1521:1521 -v /home:/install jaspeen/oracle-11g

--docker run 啟動(dòng)容器的命令

--privileged 給這個(gè)容器特權(quán),安裝oracle可能需要操作需要root權(quán)限的文件或目錄

--name 給這個(gè)容器名一個(gè)名字

--p 映射端口

--v 掛在文件到容器指定目錄 (/home 對(duì)應(yīng)容器?/install/database)

--jaspeen/oracle-11g 代表啟動(dòng)指定的容器

*注意到日志里有?100% complete?打印,代表oracle安裝成功

5.連接到Oracle容器

docker exec -it oracle11g /bin/bash

6.切換到oracle用戶(hù),然后成功連接到sql控制臺(tái)(END)

su - oracle

sqlplus / as sysdba?


*踩坑填坑:

一、安裝日志輸出Checking swap space: 0 MB available, 150 MB required. Failed

解決方案:https://jingyan.baidu.com/article/da1091fb032cad027949d64e.html

二、安裝日志輸出[FATAL] [INS-10105] The given response file /assets/db_install.rsp is not valid.

解決方案:http://www.itdecent.cn/p/e6fbceb00f9e

三、Docker部署Oracle后不會(huì)生成監(jiān)聽(tīng)文件,使用的系統(tǒng)默認(rèn)監(jiān)聽(tīng)。需要手動(dòng)自己配置監(jiān)聽(tīng)文件到/opt/oracle/app/product/11.2.0/dbhome_1/network/admin目錄

注意:配置中HOST的IP不是服務(wù)器的IP填寫(xiě)為Docker容器的IP

#listener.ora文件配置

LISTENER =

? (DESCRIPTION_LIST =

? ? (DESCRIPTION =

? ? ? (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.0.2)(PORT = 1521))

? ? )

? )

SID_LIST_LISTENER =

(SID_LIST =

? (SID_DESC =

? (GLOBAL_DBNAME = orcl)

? (SID_NAME = orcl)

? )

)

ADR_BASE_LISTENER = /opt/oracle/app

#sqlnet.ora 文件配置

configuration tools. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

ADR_BASE = /opt/oracle/app

#? tnsnames.ora文件配置

LISTENER_ORCL =

? (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.0.2)(PORT = 1521))

ORCL =

? (DESCRIPTION =

? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.0.2)(PORT = 1521))

? ? (CONNECT_DATA =

? ? ? (SERVER = DEDICATED)

? ? ? (SERVICE_NAME = orcl)

? ? )

? )

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容