1. 程式人生 > 其它 >Docker快速搭建Oracle11G

Docker快速搭建Oracle11G

1.前置環境

CentOS7.8

Docker

2.搭建Oracle服務

拉取Oracle映象

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

執行映象

docker run -p 1521:1521 \ --restart=always \ --name oracle11g \ registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

拷貝容器裡面的資料檔案

sudo docker cp oracle11g:/home/oracle/app/oracle/oradata /home/oracle11g/oracle_data/

sudo docker cp oracle11g:/home/oracle/app/oracle/flash_recovery_area /home/oracle11g/flash_recovery_area/

新建資料夾oracle11g,授權(500:500是容器使用者的id):

chown -R 500:500 /home/oracle11g/

停止容器:

docker stop oracle11g

刪除容器:

docker rm oracle11g

重新執行容器:

docker run -p 1521:1521 \
--restart=always \
--name oracle11g \
-v /home/oracle11g/oracle_data:/home/oracle/app/oracle/oradata \
-v /home/oracle11g/flash_recovery_area:/home/oracle/app/oracle/flash_recovery_area \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

進入容器設定使用者資訊

docker exec -it oracle_11g bash

切換root使用者,密碼:helowin(不能使用exit,直接退出容器了,需要使用su - root)

配置oracle環境變數

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

重新整理配置

source /etc/profile

建立建立sqlplus軟連線

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

切換到oracle使用者,先重新整理配置

source /etc/profile

登入sqlplus

sqlplus /nolog
conn / as sysdba
或者
sqlplus / as sysdba

修改sys和system使用者密碼

alter user system identified by system;
alter user sys identified by sys;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

驗證

3.pl/sql developer連線

修改tnsnames.ora,新增連線串

ORCL_DOCKER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 具體的ip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = helowin) ) )

pl/sql developer連線測試

或者直接在plsql中寫使用者名稱、密碼後,資料庫資訊直接填寫為ip:1521/helowin,則無需配置tnsnames.ora

其他操作

system使用者沒有sysdba的許可權

執行sql:

grant sysdba to system

解鎖scott使用者

--解鎖scott使用者(安裝時若使用預設情況沒有解鎖和設定密碼進行下列操作,要超級管理員操作) alter user scott account unlock;

--解鎖scott使用者的密碼【此句也可以用來重置密碼】 alter user scott identified by scott;