Docker 拉取 oracle 11g鏡像配置的詳細教程
話不多說
開始記錄docker拉取阿里的oracle11g 鏡像并進行配置,
用pl/sql 可以登錄為最終結(jié)果
navicat連接是在最后一步
參考:http://chabaoo.cn/article/223375.htm
但是根據(jù)這個進行配置會有一些問題,所以寫這篇記錄一下,希望可以幫助其他人
開始:
①、開始拉取鏡像-執(zhí)行命令:
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
下載的過程少長,等待吧,喝杯咖啡,休息一會?。ㄧR像6.8G)
下載完成后 查看鏡像: docker images
可以看到已經(jīng)下載好了
② 、創(chuàng)建容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
這里說一下,命令后面的地址一定要是你下載的鏡像地址也就是你拉取鏡像名字,否則會出現(xiàn)名字已存在等問題!
如果創(chuàng)建成功能會返回容器id
③、啟動容器
docker start oracle11g
④、進入鏡像進行配置
1、 docker exec -it oracle11g bash
2、進行軟連接
sqlplus /nolog
發(fā)現(xiàn)沒有這個命令,用不了
3、切換到root 用戶下
su root
密碼:helowin
注意這里還是在容器當中。。有朋友退去了。。。。。。。
4、編輯profile文件配置ORACLE環(huán)境變量
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 export ORACLE_SID=helowin export PATH=$ORACLE_HOME/bin:$PATH
在最后加上
保存并退出 :wq
5、創(chuàng)建軟連接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
6、切換到oracle 用戶
這里還要說一下,一定要寫中間的內(nèi)條 - 必須要,否則軟連接無效
⑤ 、登錄sqlplus并修改sys、system用戶密碼
sqlplus /nolog
conn /as sysdba
接著執(zhí)行下面命令
alter user system identified by system;
alter user sys identified by sys;
也可以創(chuàng)建用戶 create user test identified by test;
并給用戶賦予權(quán)限 grant connect,resource,dba to test;
注意了這里的坑開始出現(xiàn)了
當執(zhí)行修改密碼的時候出現(xiàn) : database not open
提示數(shù)據(jù)庫沒有打開,不急按如下操作
輸入:
alter database open;
注意了:這里也許還會提示 :
ORA-01507: database not mounted
不急!繼續(xù)!
=========== 解決方法===========
輸入:alter database mount;
輸入 :alter database open;
然后就可執(zhí)行 修改數(shù)據(jù)庫密碼的命令了
改完之后輸入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
刷新下表
exit 是退休sql 軟連接
⑥、使用pl/sql 進行連接
navicat 連接的直接跳過 第 ⑥ 步 但是 oracle 的 lsnrctl 服務(wù) 在第6步所以你還是看完在看第7步(雖然不需要干啥) 第7步是navicat連接的在最后
之前我們把端口映射到了1521上,所以我們需要進行配置 tnsnames.ora
幾個朋友不知道ora文件在哪,所以添加了這一步
pl/sql 安裝包,漢化包,秘鑰工具
http://xiazai.jb51.net/202109/yuanma/PLSQL_Developer_jb51.rar
本地下載:
http://chabaoo.cn/softs/737035.html
plsql安裝配置工具包
http://chabaoo.cn/article/170088.htm
docker_oracle11 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.135)(PORT =1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
打開pl/sql 進行登錄 :提示監(jiān)聽程序當前無法識別連接描述符中請求的服務(wù)
這時我們需要去看一下oracle 的 lsnrctl 服務(wù)
看到這兩個了么,任選其一,修改 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) ) )
歐克,登錄成功。
第7步是navicat連接
有幾個朋友用的是navicat連的所以故此添加這一步
打開navicat后(navicat12不用配置oci.dll文件了)
直接新建連接
到此這篇關(guān)于Docker 拉取 oracle 11g鏡像配置的文章就介紹到這了,更多相關(guān)Docker oracle 11g鏡像配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker?Compose中如何限制容器的CPU和內(nèi)存使用
這篇文章主要為大家介紹了Docker?Compose中限制容器的CPU和內(nèi)存使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05關(guān)于dockerfile build過程中報/bin/sh: pip: command not found的解決方法
這篇文章主要介紹了關(guān)于dockerfile build過程中報/bin/sh: pip: command not found的解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03基于docker部署skywalking實現(xiàn)全鏈路監(jiān)控功能
這篇文章主要介紹了基于docker部署skywalking實現(xiàn)全鏈路監(jiān)控,skywalking提供了在很多不同的場景下用于觀察和監(jiān)控分布式系統(tǒng)的方式,文中給大家介紹如何快速部署skywalking全鏈路監(jiān)控,感興趣的朋友一起看看吧2022-03-03.NETCore Docker實現(xiàn)容器化與私有鏡像倉庫管理
Docker是用Go語言編寫基于Linux操作系統(tǒng)的一些特性開發(fā)的,其提供了操作系統(tǒng)級別的抽象,是一種容器管理技術(shù),它隔離了應(yīng)用程序?qū)A(chǔ)架構(gòu)(操作系統(tǒng)等)的依賴。這篇文章主要介紹了.NETCore Docker實現(xiàn)容器化與私有鏡像倉庫管理,需要的朋友可以參考下2019-08-08