開始記錄docker拉取阿里的oracle11g 鏡像并進(jìn)行配置,
用pl/sql 可以登錄為最終結(jié)果
navicat連接是在最后一步
這是我們所需要進(jìn)行拉取oracle鏡像的樓主所給出的說明
參考:https://blog.csdn.net/zwx521515/article/details/77982884
但是根據(jù)這個(gè)進(jìn)行配置會(huì)有一些問題够话,所以寫這篇記錄一下扒俯,希望可以幫助其他人
開始:
?①、開始拉取鏡像-執(zhí)行命令:
?????????docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
????????下載的過程少長捌省,等待吧键思,喝杯咖啡,休息一會(huì)0陕(鏡像6.8G)
? ????? 下載完成后 查看鏡像: docker images
? ? 可以看到已經(jīng)下載好了
② 、創(chuàng)建容器
????????docker run -d -p?1521:1521 --name oracle11g?registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
????????這里說一下赏表,命令后面的地址一定要是你下載的鏡像地址也就是你拉取鏡像名字检诗,否則會(huì)出現(xiàn)名字已存在等問題匈仗!
????? ? 如果創(chuàng)建成功能會(huì)返回容器id
③、啟動(dòng)容器?
????????docker start oracle11g
④逢慌、進(jìn)入鏡像進(jìn)行配置
?????1悠轩、 docker exec -it oracle11g bash
? ? ?2、進(jìn)行軟連接
????????????sqlplus /nolog
? ? 發(fā)現(xiàn)沒有這個(gè)命令攻泼,用不了
? ? ?3火架、切換到root 用戶下
????????? ? su root
????????? ? 密碼:helowin
? ? ? ? 注意這里還是在容器當(dāng)中。忙菠。有朋友退去了何鸡。。牛欢。骡男。。氢惋。洞翩。
????? 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)了
? ? 當(dāng)執(zhí)行修改密碼的時(shí)候出現(xiàn) : ???database not open
? ? ? 提示數(shù)據(jù)庫沒有打開震鹉,不急按如下操作
????? 輸入:alter database open;
? ??注意了:這里也許還會(huì)提示 ?: ??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 進(jìn)行連接 第7步是navicat連接的在最后
??????? ? 之前我們把端口映射到了1521上迎膜,所以我們需要進(jìn)行配置?tnsnames.ora
? ? 幾個(gè)朋友不知道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 進(jìn)行登錄 :提示監(jiān)聽程序當(dāng)前無法識(shí)別連接描述符中請(qǐng)求的服務(wù)
????? ? 這時(shí)我們需要去看一下oracle 的 lsnrctl 服務(wù)
????? ? 看到這兩個(gè)了么,任選其一簸呈,修改?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連接
?有幾個(gè)朋友用的是navicat連的所以故此添加這一步
打開navicat后(navicat12不用配置oci.dll文件了)
直接新建連接