Docker安裝Oracle19c

1. 準備鏡像

接上一章 準備好Oraccle19c鏡像:

http://www.itdecent.cn/p/b683640677c9

myzmac:dockerfiles myz$ docker images  oracle/database:19.3.0-ee
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
oracle/database     19.3.0-ee           3c1a9d1ffc0a        14 minutes ago      6.61GB

2. 通過鏡像創(chuàng)建實例

2.1. 創(chuàng)建實例

把數(shù)據(jù)文件 ,參數(shù)配置文件 ,tns ,監(jiān)聽掛載出來
分配2G內(nèi)存,設(shè)定時區(qū), 容器中的主機名, 容器名, 端口映身等

mkdir  -p /Users/myz/Docker/Oracle/19.3/
--執(zhí)行創(chuàng)建
docker run -e TZ="Asia/Shanghai"  -itd -h ora193 -m 2048m --name ora193 \
  -p 1521:1521 -p 5500:5500 \
  -e ORACLE_SID=mycdb \
  -e ORACLE_PDB=pdb1 \
  -v /Users/myz/Docker/Oracle/19.3/:/opt/oracle/oradata  oracle/database:19.3.0-ee

通過命令:docker logs -f ora193 觀察部署進度,預(yù)估15-25分鐘完成


myzmac:Oracle myz$ docker logs -f ora193
ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: C1eNxx1/a+k=1

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-FEB-2020 00:03:01

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Starting /opt/oracle/product/19c/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/ora193a/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                21-FEB-2020 00:03:01
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/ora193/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
Prepare for db operation
8% complete
Copying database files
31% complete
Creating and starting Oracle instance
32% complete
36% complete
<---這里時間比較久

40% complete
43% complete
46% complete
Completing Database Creation
51% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /opt/oracle/cfgtoollogs/dbca/MYCDB.
Database Information:
Global Database Name: MYCDB
System Identifier(SID): MYCDB
Look at the log file "/opt/oracle/cfgtoollogs/dbca/MYCDB/MYCDB.log" for further details.

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Feb 21 00:25:35 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>
System altered.

SQL>
System altered.

SQL>
Pluggable database altered.

SQL>
PL/SQL procedure successfully completed.

SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
ORCLPDB1(3):ALTER DATABASE DEFAULT TABLESPACE "USERS"
ORCLPDB1(3):Completed: ALTER DATABASE DEFAULT TABLESPACE "USERS"
2020-02-21T00:25:35.547850+08:00
ALTER SYSTEM SET control_files='/opt/oracle/oradata/MYCDB/control01.ctl' SCOPE=SPFILE;
2020-02-21T00:25:35.568154+08:00
ALTER SYSTEM SET local_listener='' SCOPE=BOTH;
   ALTER PLUGGABLE DATABASE PDB1 SAVE STATE
Completed:    ALTER PLUGGABLE DATABASE PDB1 SAVE STATE

XDB initialized.

^C
myzmac:Oracle myz$   

當(dāng)看到顯示 DATABASE IS READY TO USE!
表示部署完成, 可以ctrl+c退出Log, 查看實例:

myzmac:Oracle myz$ docker ps -a
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                     PORTS                                            NAMES
02c23cc4cda5        oracle/database:19.3.0-ee   "/bin/sh -c 'exec $O…"   27 minutes ago      Up 27 minutes (healthy)    0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp   ora193

3. 使用

設(shè)置sys,system等用戶密碼

docker exec ora193  ./setPassword.sh welcome1

3.1. 客戶端連接

 sqlplus sys/oracle@//127.0.0.1:1521/mycdb as sysdba
SQL> sho pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB1                           READ WRITE NO
SQL>   

 sqlplus sys/oracle@//127.0.0.1:1521/pdb1 as sysdba
SQL> sho con_name

CON_NAME
------------------------------
PDB1
SQL>     

3.2. 容器本地連接

需要配置環(huán)境變量,不然報如下錯

myzmac:Oracle myz$ docker exec -it ora193a  bash
[oracle@ora193a ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Feb 21 00:33:03 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

ERROR:
ORA-12162: TNS:net service name is incorrectly specified


Enter user-name: ^C
[oracle@ora193a ~]$  
--這里報錯是因為沒有配環(huán)境變量

配置bash_profile

vi ~/.bash_profile 
--增加如下內(nèi)容
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export EDITOR=vi
stty erase ^H


vi ~/.bashrc
--增加如下內(nèi)容
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
export ORACLE_SID=MYCDB
PS1='\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[35;40m\]\W\[\e[0m\]]\$'
alias tf='tail -100f /opt/oracle/diag/rdbms/mycdb/MYCDB/trace/al*.log'
alias tf100='tail -100 /opt/oracle/diag/rdbms/mycdb/MYCDB/trace/al*.log|more'
alias tf1000='tail -1000 /opt/oracle/diag/rdbms/mycdb/MYCDB/trace/al*.log|more'

不知道為什么ORACLEA_SID寫到.bash_profile中并不生效.. 改到bashrc中了
重新登錄

[oracle@ora193~]$ sqlplus / as sysdba       

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Dec 31 20:57:15 2019
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

4. 其他操作, 如遷移容器:

導(dǎo)出該容器,做為新的鏡像 , 過程為 容器-> 導(dǎo)出為鏡像-> scp-> 導(dǎo)入鏡像->創(chuàng)建實例

--導(dǎo)出
docker export 02c23cc4cda5 >  19c.tar
--復(fù)制新鏡像到其他環(huán)境后然后導(dǎo)入tar包(導(dǎo)入后是鏡像)
docker import 19c.tar  oracle19c:19.3
--就可以創(chuàng)建個新的容器出來, 如果是本機注意外掛目錄, 及映身端口的不同
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容