【DB宝14】在Docker中只需2步即可拥有Oracle 11g企业版环境(11.2.0.4)
时间:2022-07-22
本文章向大家介绍【DB宝14】在Docker中只需2步即可拥有Oracle 11g企业版环境(11.2.0.4),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
目录
一、从Docker Hub或阿里云镜像下载小麦苗上传的镜像文件 二、创建容器并启动数据库 三、尽情使用吧 3.1 数据库使用 3.2 创建数据库(可选) 3.3 EMDC的使用 3.4 使用ssh连接到容器内 3.5 外部客户端连接容器内的数据库
一、从Docker Hub或阿里云镜像下载小麦苗上传的镜像文件
- 小麦苗的Docker Hub的地址:https://hub.docker.com/u/lhrbest
- Oracle 11g DB的地址:https://hub.docker.com/r/lhrbest/oracle_11g_ee_lhr_11.2.0.4
# 从Docker hub下载,网络不好时,一般比较慢
docker pull lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0
# 可以选择从阿里云下载,一般比较快
docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0
# 从阿里云下载后可以tag成如下形式
docker tag registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0 lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0
镜像大概2.95G左右,解压后大约7.6G左右,所以请保留充足的空间。执行过程如下:
[root@lhrdocker ~]# docker search 11.2.0.4 --no-trunc | grep -E "NAME|lhr"
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
lhrbest/oracle_11g_ee_lhr_11.2.0.4 Oracle 11g 企业版, 11.2.0.4 ,QQ:646634621,微信公众号:DB宝,作者:小麦苗 0
[root@lhrdocker ~]#
[root@docker36 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0
1.0: Pulling from lhrbest/oracle_11g_ee_lhr_11.2.0.4
5dd797628260: Already exists
ea1a739ab78d: Pull complete
593d06e585fc: Pull complete
Digest: sha256:7a2c2bf264cc9e5b5608deb98abe388c61d8fe2c981ee3475b0d2a38bb1fd8b4
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0
registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0
[root@docker36 ~]# docker tag registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0 lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0
[root@docker36 ~]# docker images | grep 11.2.0.4
lhrbest/oracle_11g_ee_lhr_11.2.0.4 1.0 18261f9fdcf0 43 minutes ago 7.61GB
registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_11g_ee_lhr_11.2.0.4 1.0 18261f9fdcf0 43 minutes ago 7.61GB
二、创建容器并启动数据库
# 创建容器
docker run -itd --name lhrora11204 -h lhrora11204 --privileged=true -p 1521:1521 -p 222:22 -p 1158:1158 lhrbest/oracle_11g_ee_lhr_11.2.0.4:1.0 init
# 进入容器
docker exec -it lhrora11204 bash
# 启动数据库和监听
su - oracle
lsnrctl start
sqlplus / as sysdba
startup
exit
# 启动EM
emctl start dbconsole
执行过程:
[root@docker36 ~]# docker exec -it lhrora11204 bash
[root@lhrora11204 /]#
[root@lhrora11204 /]# su - oracle
[oracle@lhrora11204 ~]$
[oracle@lhrora11204 ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-JUL-2020 09:20:41
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/lhrora11204/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lhrora11204)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 24-JUL-2020 09:20:41
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/lhrora11204/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lhrora11204)(PORT=1521)))
The listener supports no services
The command completed successfully
[oracle@lhrora11204 ~]$ sas
SQL*Plus: Release 11.2.0.4.0 Production on Fri Jul 24 09:20:50 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SYS@LHR11G> startup
ORACLE instance started.
Total System Global Area 325685248 bytes
Fixed Size 2252944 bytes
Variable Size 188747632 bytes
Database Buffers 130023424 bytes
Redo Buffers 4661248 bytes
Database mounted.
Database opened.
SYS@LHR11G>
SYS@LHR11G> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@lhrora11204 ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
https://lhrora11204:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is not running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0.4/dbhome_1/lhrora11204_LHR11G/sysman/log
[oracle@lhrora11204 ~]$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
https://lhrora11204:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ...... started.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0.4/dbhome_1/lhrora11204_LHR11G/sysman/log
[oracle@lhrora11204 ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
https://lhrora11204:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0.4/dbhome_1/lhrora11204_LHR11G/sysman/log
三、尽情使用吧
3.1 数据库使用
[oracle@lhrora11204 ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-JUL-2020 09:23:08
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 24-JUL-2020 09:20:41
Uptime 0 days 0 hr. 2 min. 26 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/lhrora11204/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lhrora11204)(PORT=1521)))
Services Summary...
Service "LHR11G" has 1 instance(s).
Instance "LHR11G", status READY, has 1 handler(s) for this service...
Service "LHR11GXDB" has 1 instance(s).
Instance "LHR11G", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@lhrora11204 ~]$ sas
SQL*Plus: Release 11.2.0.4.0 Production on Fri Jul 24 09:23:10 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@LHR11G> select * from v$version;
BANNER
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
SYS@LHR11G> select * from v$tablespace;
TS# NAME INCLUD BIGFIL FLASHB ENCRYP
---------- ------------------------------------------------------------ ------ ------ ------ ------
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
2 UNDOTBS1 YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
6 rows selected.
SYS@LHR11G>
3.2 创建数据库(可选)
我们也可以自己创建自己需要的数据库,如下所示,
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE
-gdbname LHR11G2 -sid LHR11G2
-sysPassword lhr -systemPassword lhr
-datafileDestination '/u01/app/oracle/oradata'
-recoveryAreaDestination '/u01/app/oracle/flash_recovery_area'
-storageType FS
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16
-sampleSchema true
-totalMemory 300
-databaseType OLTP
-emConfiguration NONE
3.3 EMDC的使用
该镜像已经创建好了EMDC (Enterprise Manager Database Control) 了, 所以,可以直接访问,地址为:https://192.168.1.36:1158/em ,sys用户密码为lhr
3.4 使用ssh连接到容器内
C:Userslhrxxt>ssh root@192.168.1.36 -p222
The authenticity of host '[192.168.1.36]:222 ([192.168.1.36]:222)' can't be established.
RSA key fingerprint is SHA256:KCuMsxiuP493oXTYB6R3VNl2BXBEl9Hf9EYtmsAjOEE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.1.36]:222' (RSA) to the list of known hosts.
root@192.168.1.36's password:
Last login: Mon Jul 13 02:59:40 2020 from 172.17.0.1
[root@lhrora11204 ~]# ps -ef|grep pmon
oracle 1574 0 0 09:20 ? 00:00:00 ora_pmon_LHR11G
root 3882 3856 0 09:28 pts/3 00:00:00 grep pmon
3.5 外部客户端连接容器内的数据库
我们可以在容器外部通过sqlplus或其他工具连接容器内的数据库:
C:Userslhrxxt>sqlplus sys/lhr@192.168.1.36/LHR11G AS SYSDBA
SQL*Plus: Release 12.1.0.2.0 Production on Fri Jul 24 17:29:46 2020
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@192.168.1.36/LHR11G>
如果使用PLSQL Developer也是可以连接的,如下:
怎么样,是不是很爽,是不是非常方便呢,文末记得点赞哈。
本文结束。
• 微信公众号:DB宝,作者:小麦苗 • 作者博客地址:http://blog.itpub.net/26736162/
★DB宝分享的IT资料:https://mp.weixin.qq.com/s/Iwsy-zkzwgs8nYkcMz29ag ★DB宝笔试面试详解:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w
- 你真的会玩SQL吗?查询指定节点及其所有父节点的方法
- ASP.Net MVC框架配置与分析
- MVC利用MvcHtmlString在后台生成HTML
- ExtJs学习笔记(7)_获取GridPanel选中行的详细信息
- ExtJs学习笔记(5)_Ajax示例
- shell脚本之特殊符号总结性梳理
- Centos6.X 下安装并使用VNC的操作记录
- Linux系统是否被植入木马的排查流程梳理
- 添加php的memcached扩展模块
- Android TextView中显示图片
- Nginx配置中的log_format用法梳理(设置详细的日志格式)
- 分享一个刷网页PV的python小脚本
- mysql完整备份时过滤掉某些库
- Jquery 结合Json控制Select下拉框
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【Go语言学习】匿名函数与闭包
- Python中两种UnboundLocalError的解决方法
- 传智播客OA项目学习--阶段二(实体设计及技巧)
- 小生归一(五)md5扩展长度攻击
- 传智播客OA项目学习--阶段二(系统管理模块)
- main函数中的argc和argv到底是个啥?
- 传智播客OA项目学习--阶段一(2、框架整合)
- 微信XML消息model定义之微信公众平台(一)
- 自动返回笑话接口调用之微信公众平台(二)
- 「实战」 缘分使我们(骗子)相遇
- json-lib简单使用之微信公众平台(三)
- 小生归一(六)xss特殊绕过
- 最新绕过D盾注入方法分享(学姿势)
- 利用C#编写的绕过360安全卫士添加系统用户
- 小生归一(七)sprintf字符串格式化漏洞