使用 docker 方式手動方式安裝各類容器(服務)
鏡像查找方式:https://hub.docker.com/
安裝 Oracle#
參考 1:https://blog.csdn.net/javaboyweng/article/details/125486242
參考 2:Docker-14:Docker 安裝 Oracle11g (讚)
參考 3:[docker 安裝 Oracle 資料庫 - 騰訊雲開發者社區 - 騰訊雲 (tencent.com)] (讚)
鏡像:https://hub.docker.com/r/akaiot/oracle_11g
安裝視頻教程:參考
這裡使用雲伺服器,通過 docker 方式安裝 Oracle 容器
伺服器使用的是 2 核 4G 的,
操作#
前置知識需要熟悉 docker 常用命令
拉取鏡像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
啟動容器:
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
--mount source=oracle_vol,
target=/home/oracle/app/oracle/oradata ,伺服器本地目錄,可以自定義,比如:/root/docker-data/oracle/oracledata
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
修改文件,先進入容器內,執行一下操作:
docker exec -it oracle /bin/bash
#切換root用戶
su root
然後輸入密碼
#密碼:
helowin
修改/etc/profile
文件,將 ORACLE_HOME 和 ORACLE_SID 配置到其中,然後生效。
輸入:
vi /etc/profile
#配置內容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
--restart
表示 docker 重啟是容器自動重啟
--mount
表示要將 Host 上的路徑掛載到容器中export ORACLE_SID=helowin ,ORACLE_SID = 自定義 sid,後面連接的時候會用到
然後讓配置文件生效:
#配置文件生效
source /etc/profile
創建軟連接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
登錄 sqlplus
#切換回oracle用戶
su oracle
# 啟動了一個客戶端進程
sqlplus /nolog
# 連接身份
connect / as sysdba
#修改system帳號的密碼
alter user system identified by 密碼;
#修改sys帳號的密碼
alter user sys identified by 密碼;
# 設置密碼永不過期:
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
創建一個用戶 (看自己了)
#創建用戶
create user jiefei identified by 用戶名;
#賦權限給用戶
grant connect,resource,dba to 用戶名;
順帶修改一下連接次數:
alter system set processes=1000 scope=spfile;
還有一步,修改以上信息後,需要重新啟動資料庫;
conn /as sysdba
資料庫服務關閉:
shutdown immediate;
資料庫服務啟動:
startup open;
退出軟連接:
exit
工具連接#
使用的是 Navicat Premium16 工具連接 Oracle 資料庫進行測試。
工具下載:參考這裡
可能遇到問題#
當執行修改密碼的時候出現 : database not open
解決辦法:
輸入:
alter database mount;
輸入 :
alter database open;
然後就可修改資料庫密碼的命令了
改完之後輸入:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
刷新下表
exit 表示退出 sql,軟連接 i