Docker 拉取 oracle 11g鏡像配置


Docker 拉取 oracle 11g鏡像配置

本文轉自

https://blog.csdn.net/qq_38380025/article/details/80647620

話不多說

開始記錄docker拉取阿里的oracle11g 鏡像並進行配置,

用pl/sql 可以登錄為最終結果

參考:https://blog.csdn.net/zwx521515/article/details/77982884

但是根據這個進行配置會有一些問題,所以寫這篇記錄一下,希望可以幫助其他人

開始:

①、開始拉取鏡像-執行命令:

​ docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

​ 下載的過程少長,等待吧,喝杯咖啡,休息一會!(鏡像6.8G)

​ 下載完成后 查看鏡像: docker images

img

可以看到已經下載好了

② 、創建容器

​ docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

​ 這里說一下,命令后面的地址一定要是你下載的鏡像地址也就是你拉取鏡像名字,否則會出現名字已存在等問題!

​ 如果創建成功能會返回容器id

③、啟動容器

​ docker start oracle11g

img

④、進入鏡像進行配置

1、 docker exec -it oracle11g bash

img

2、進行軟連接

​ sqlplus /nolog

img

發現沒有這個命令,用不了

3、切換到root 用戶下

​ su root

​ 密碼:helowin

img

注意這里還是在容器當中。。有朋友退去了。。。。。。。

4、編輯profile文件配置ORACLE環境變量

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

img

​ 在最后加上

img

​ 保存並退出 :wq

​ 5、創建軟連接

​ ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

​ 6、切換到oracle 用戶

​ 這里還要說一下,一定要寫中間的內條 - 必須要,否則軟連接無效

img

⑤ 、登錄sqlplus並修改sys、system用戶密碼

​ sqlplus /nolog

​ conn /as sysdba

img

​ 接着執行下面命令

​ alter user system identified by system;

​ alter user sys identified by sys;

​ 也可以創建用戶 create user test identified by test;

​ 並給用戶賦予權限 grant connect,resource,dba to test;

注意了這里的坑開始出現了 當執行修改密碼的時候出現 : database not open

提示數據庫沒有打開,不急按如下操作

輸入:alter database open;

注意了:這里也許還會提示 : *ORA-01507: database not mounted*

不急!繼續!

img

*=========== 解決方法**===========***

輸入:alter database mount;

輸入 :alter database open;

img

然后就可執行 修改數據庫密碼的命令了

改完之后輸入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

刷新下表

​ exit 是退休sql 軟連接

img

⑥、使用pl/sql 進行連接

*但是* oracle 的 lsnrctl 服務 在第6步所以你還是看完在看第7步(雖然不需要干啥)

第7步是navicat連接的在最后

​ 之前我們把端口映射到了1521上,所以我們需要進行配置 tnsnames.ora

幾個朋友不知道ora文件在哪,所以添加了這一步

pl/sql 安裝包,漢化包,秘鑰工具 https://download.csdn.net/download/qq_38380025/11168289

plsql安裝配置工具包 https://blog.csdn.net/qq_38380025/article/details/89677588

docker_oracle11 =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.135)(PORT =1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = orcl)
   )
)

打開pl/sql 進行登錄 :提示監聽程序當前無法識別連接描述符中請求的服務

img

img

​ 這時我們需要去看一下oracle 的 lsnrctl 服務

img

​ 看到這兩個了么,任選其一,修改 tnsnames.ora的 service_name=helowinXDB

docker_oracle11 =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.135)(PORT =1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = helowinXDB)
   )
)

歐克,登錄成功。

img

第7步是navicat連接

有幾個朋友用的是navicat連的所以故此添加這一步

打開navicat后(navicat12不用配置oci.dll文件了)

直接新建連接

img

img


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM