1.拉取oracle11g的鏡像文件
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2.查看鏡像
docker iamges
3.啟動(dòng)容器,并使用volume方式掛載數(shù)據(jù)目錄
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
4.容器內(nèi)環(huán)境配置
- 進(jìn)入容器
docker exec -it oracle bash
- 切換到 root 用戶,密碼為 helowin
su root
- 編輯環(huán)境變量
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保存
- 使環(huán)境變量生效
source /home/oracle/.bashrc
- 進(jìn)入oracle命令行
su oracle #切換用戶身份
sqlplus /nolog
使用 “操作系統(tǒng)認(rèn)證” 的方式,登錄oracle
conn / as sysdba
如果直接使用默認(rèn)的 root 用戶登錄愤兵,會(huì)報(bào)登錄失敗。
這里必須使用 su - oracle 命令,將當(dāng)前用戶切換到 oracle几苍,然后在執(zhí)行登錄命令
5.使用外部工具連接
- 配置防火墻
防火墻要允許 1521 端口,外部的數(shù)據(jù)庫(kù)管理工具才能連的上
# 打開防火墻
systemctl start firewalld
# 查詢端口狀態(tài)
firewall-cmd --query-port=1521/tcp
# 永久性開放端口
firewall-cmd --permanent --zone=public --add-port=1521/tcp
# 重啟防火墻
firewall-cmd --reload
firewall-cmd --query-port=1521/tcp
-
外部訪問(wèn)
- 用戶及密碼管理
ALTER USER system IDENTIFIED BY *****;/*修改密碼*/
CREATE USER ljl_etl IDENTIFIED BY *******;/*創(chuàng)建用戶*/
grant connect, resource to ljl_etl;/*授權(quán)連接和資源角色*/
ALTER USER ljl_etl ACCOUNT UNLOCK;/*用戶解鎖*/