docker能安裝oracle嗎

2022-07-08 18:03:04

docker能安裝oracle。安裝方法:1、拉取Oracle官方映象,可以利用「docker images」檢視映象;2、啟動容器後利用「docker exec -it oracle11g bash」進入容器,並且編輯環境變數;3、利用「sqlplus /nolog」進入oracle命令列即可。

本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。

docker能安裝oracle嗎

可以用docker來部署oracle,而且好處很多。既能減少安裝的時間,又能夠快速進行部署。

使用docker來部署的好處如下:

(1)簡化設定,構建一次後打包後就可以用作測試環境,也可以用作生產環境或與預生產環境,可以省去很多測試環節。比如一臺伺服器可以進行測試多個版本的測試,不用等待。

(2)可以解決開發人員部署環境的困難,好比如一個剛來的新同事安裝環境可能需要半天時間,但要是直接執行一個已經配好的容器的話就方便多了。

(3)應用隔離,伺服器整合,一個伺服器可以用docker部署多套業務,並且隔離性很高(除了虛擬機器器)。

(4)對於開發來說部署好之後到處執行便於開發偵錯。

(5)可以減少資源的利用,和虛擬機器器比較省去了很多不必要的資源,損失的隔離性其他的優點足以彌補。

(6)對於運維來說,可以快速的進行擴容,減少原利用率

(7)每個小的服務都可以進行叢集,docker對資源的利用比較小,可以在一臺伺服器啟動多臺,相比其他產品對伺服器的I/O使用上要多。

(8)可以多平臺部署

範例如下:

在Linux中安裝oracle非常麻煩,相信每個人也會遇到各種坑。為了一次裝好,也方便將來直接可以匯出映象在各平臺移植使用,所以選擇用docker安裝

拉取映象

在 DockerHub 上搜尋 Oracle 可以找到 Oracle 的官方映象,地址:https://hub.docker.com/
在這裡插入圖片描述

注意,這裡使用 docker pull oraclelinux 命令,是拉取不到映象的,因為它沒有 latest 標籤。因此,只能手動指定它的版本號
例如 docker pull oraclelinux
在這裡插入圖片描述
使用 官方映象 下載速度非常慢,因此,我們可以使用阿里映象 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

在 dockerHub 上可以搜到 (第二個),可以參考這個設定
在這裡插入圖片描述在這裡插入圖片描述使用 docker images 檢視映象,確認已經下載完成
在這裡插入圖片描述

啟動容器

  1. 預設啟動容器的方式
    docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  2. 持久化啟動的方式
    docker run -d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

檢視啟動的執行緒 netstat -tulnp
在這裡插入圖片描述
檢視執行狀態 docker ps -a
在這裡插入圖片描述

容器內環境設定

進入容器 docker exec -it oracle11g bash
在這裡插入圖片描述
切換到 root 使用者 su root,密碼為 helowin
在這裡插入圖片描述
docker容器設定環境變數不是在 /etc/profile 中,容器啟動不會走這個檔案。
可以將環境變數的設定設定在 /home/oracle/.bashrc 檔案下,這樣可以省略掉軟連線的建立 ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
在這裡插入圖片描述
編輯環境變數 vi /home/oracle/.bashrc,在檔案最後加入以下命令

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

wq 儲存並退出。然後使用 source /home/oracle/.bashrc 重新整理環境變數,並使之生效

進入 oracle 命令列

使用 sqlplus /nolog 進入oracle命令列
在這裡插入圖片描述
使用 「作業系統認證」 的方式,登入oracle conn / as sysdba
如果直接使用預設的 root 使用者登入,會報登入失敗。這裡必須使用 su - oracle 命令,將當前使用者切換到 oracle,然後在執行登入命令
在這裡插入圖片描述

ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

在這裡插入圖片描述這個錯誤是由於資料庫名用錯了

su - oracle
sqlplus /nolog
conn / as sysdba
select instance_name from v$instance;
show user;

使用上述命令查出來的,就是所有可用的 「資料庫名」 和 「使用者名稱」
在這裡插入圖片描述

阿里的這個映象,所有的密碼都是統一的 helowin

system使用者具有DBA許可權,但是沒有SYSDBA許可權。平常一般用該帳號管理資料庫。
而sys使用者是Oracle資料庫中許可權最高的帳號,具有「SYSDBA」和「SYSOPER」許可權,一般不允許從外部登入

在這裡插入圖片描述

設定防火牆

防火牆要允許 1521 埠,外部的資料庫管理工具才能連的上

# 開啟防火牆
systemctl start firewalld
# 查詢埠狀態
firewall-cmd --query-port=1521/tcp
# 永久性開放埠
firewall-cmd --permanent --zone=public --add-port=1521/tcp
# 重新啟動防火牆
firewall-cmd --reload
firewall-cmd --query-port=1521/tcp

在這裡插入圖片描述

推薦學習:《》

以上就是docker能安裝oracle嗎的詳細內容,更多請關注TW511.COM其它相關文章!