步驟1:確定需要部署的鏡像
docker pull registry.cn-beijing.aliyuncs.com/zhouchaoyi/oracle19c:19.3
docker images|grep oracle19
步驟2:規(guī)劃鏡像數(shù)據(jù)存儲(chǔ)路徑
# 創(chuàng)建目錄
mkdir -p /opt/oracle19c
# 授權(quán),不授權(quán)會(huì)導(dǎo)致后面安裝失敗
chmod -R 777 /opt/oracle19c
步驟3:實(shí)例化鏡像參數(shù)修改
docker run -d --name oracle19c \
-p 15312:1521 -p 15313:5500 \
--privileged=true -it \
-v /opt/oracle19c//var/opt/oracle/data \
-e TZ=Asia/Chongqing \
registry.cn-beijing.aliyuncs.com/zhouchaoyi/oracle19c:19.3
步驟4:檢查啟動(dòng)狀態(tài)&進(jìn)入容器內(nèi)部
#容器id
docker ps -a|grep oracle19c|awk '{print $1}'
docker logs -f oracle19c
docker exec -it oracle19c bash
#登錄數(shù)據(jù)庫(kù)
sqlplus / as sysdba
進(jìn)入容器后有個(gè) setPassword.sh 腳本
#進(jìn)入容器
docker exec -it oracle19c bash
#執(zhí)行
./setPassword.sh 123456 # 123456為設(shè)置密碼,這里修改為自己的即可
-- 依次執(zhí)行如下命令進(jìn)入oracle并設(shè)置 PDB
grep $ORACLE_HOME /etc/oratab | cut -d: -f1
export ORACLE_SID=ORCLCDB
sqlplus / as sysdba
- 設(shè)置pdb
show pdbs;
alter session set container=ORCLPDB1;
-- 測(cè)試登錄
sqlplus SYSTEM/123456@ORCLPDB1
步驟5:檢查新生成的容器的時(shí)區(qū)
docker exec -it oracle19c date +"%Z %z"
CST+0800表示東8時(shí)區(qū),正是設(shè)置的中國(guó)時(shí)區(qū)
每次登錄都要設(shè)置 ORACLE_SID 環(huán)境變量,可以將這個(gè)寫到~/.bashrc文件里去 ,執(zhí)行如下命令
echo "export ORACLE_SID=ORCLCDB" >> ~/.bashrc
jdbc連接:
# ORACLE_SID
grep $ORACLE_HOME /etc/oratab | cut -d: -f1
==》ORCLCDB
#pdb_name
ls -dl $ORACLE_BASE/oradata/ORCLCDB/*/ | grep -v pdbseed | awk '{print $9}' | cut -d/ -f6
===》ORCLPDB1
driver = "oracle.jdbc.driver.OracleDriver"
url = "jdbc:oracle:thin:@//192.168.5.103:15312/ORCLPDB1"
查看oracle是否安裝成功
可以通過(guò) docker logs -ft oracle19c
4、修改Oralce數(shù)據(jù)庫(kù)密碼
docker exec myoracle ./setPassword.sh 123456
5、賬號(hào)信息:
https://localhost:5500/em
賬號(hào): system/sys/等
密碼:123456
sid : orcl
pdb : orclpdb1
6、連接Oracle
docker exec -it oracle19c /bin/bash
sqlplus / as sysdba
show pdbs;
查看容器中的數(shù)據(jù)庫(kù)名: show pdbs;
切換到PDB : alter session set container=ORCLPDB1
切換到CDB : alter session set container=CDB&ROOT
oracle數(shù)據(jù)庫(kù)sid(實(shí)例名)的查看方法:
select instance_name from V$instance;
也可以使用下邊的命令登錄oracle
sqlplus SYSTEM/123456@ORCLPDB1
sqlplus autotest/autotest@ORCLPDB1
報(bào)錯(cuò)處理
關(guān)于ORA-00257問(wèn)題的解決(歸檔程序錯(cuò)誤)
ORA-01950: no privileges on tablespace 'USERS'
原因: 在表空間“USERS”無(wú)權(quán)限
解決辦法:
查看當(dāng)前用戶所屬表空間:
select username,default_tablespace from dba_users;
修改表空間:
alter user username quota umlimited on tablespacename;
或者
grant resource to username 【因?yàn)?grant resource to username 時(shí) 自動(dòng)獲得了有unlimited tablespace的系統(tǒng)權(quán)限】
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
SQL> truncate table WMP.TXN_PROC_RESULT;
truncate table WMP.TXN_PROC_RESULT
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
SQL> select session_id from v$locked_object;
SESSION_ID
----------
2543
SQL> SELECT sid, serial# FROM v$session where sid=2543;
SID SERIAL#
---------- ----------
2543 59853
SQL> alter system kill session '2543,59853';
System altered.
SQL>
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-444549.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-444549.html
到了這里,關(guān)于docker部署oracle 19c的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!