Oracle官方已经正式发布了Oracle 19.3的dockerfile,在自己的笔记本上安装Oracle数据库,docker方式已然成为最简单的方式之一。另外的一种方式是rpm安装,但是要求操作系统是Linux。对于使用macOS的用户来说,Oracle on docker是非常优秀的体验和测试Oracle数据库的方法。
下载Oracle 19.3.0 for Linux安装盘
在OTN网站上下载最新的 Oracle Database 19c for Linux x86-64 的安装盘。
下载官方dockerfile
在任意目录下通过git方式将dockerfile下载到本地。这里我们创建了~/oracle目录。
mkdir ~/oracle cd ~/oracle git clone https://github.com/oracle/docker-images.git
将下载的安装盘拷贝到dockerfile相同目录下
cp LINUX.X64_193000_db_home.zip ~/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/
构建 docker 镜像
$ cd ~/oracle/docker-images/OracleDatabase/SingleInstance/dockerfiles $ ./buildDockerImage.sh -v 19.3.0 -e
完成以后可以看到已经有成功构建的Oracle 19c docker image了,同时构建了Oracle Linux 7的基础镜像。
$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE oracle/database 19.3.0-ee 04c75bcbb886 4 minutes ago 6.64GB oraclelinux 7-slim f7512ac13c1b 3 weeks ago 118MB
运行容器
完整的运行指南可以在git下来的官方dockerfile目录中找到。
docker-images/OracleDatabase/SingleInstance/README.md
也可以从github页面中直接阅读 – Oracle Database on Docker 。
我们创建一个目录,以存储Oracle数据文件。
mkdir -p ~/oracle/oradata/oracle19c
在第一次运行容器的时候,会自动创建新的数据库,使用-v参数,将之前新创建的目录映射到容器内的/opt/oracle/oradata目录中,这样就完成了将数据文件存储在本机文件系统中,而非docker容器内。
docker run --name oracle19c -p 1521:1521 -p 5500:5500 -v /Users/Kamus/oracle/oradata/oracle19c:/opt/oracle/oradata oracle/database:19.3.0-ee
执行改命令之后,可以注意到第一行的回显列出了自动生成的SYS等用户的密码,本文中是sSNc5GFeSAg=1。
ORACLE PASSWORD FOR SYS, SYSTEM AND PDBADMIN: sSNc5GFeSAg=1
如果需要修改数据库用户密码,可以在容器运行之后,通过以下命令修改。
docker exec <container name> ./setPassword.sh <your password>
一直到出现以下字样,表示数据库已经正常创建并且可以使用了。
######################### DATABASE IS READY TO USE! #########################
默认创建的数据库SID是ORCLCDB,创建的PDB是ORCLPDB1,也可以在第一次docker run的时候,用-e参数来指定SID和PDB的名字。比如:
docker run --name new-oracle19c \ -p 1521:1521 -p 5500:5500 \ -e ORACLE_SID=ORCL \ -e ORACLE_PDB=MYPDB1 \ -v /Users/Kamus/oracle/oradata/oracle19c:/opt/oracle/oradata \ oracle/database:19.3.0-ee
测试容器中的Oracle 19c数据库
在成功运行完docker run命令以后,可以看到容器已经正常运行。
$ docker ps | grep oracle b03dae342bf5 oracle/database:19.3.0-ee "/bin/sh -c 'exec $O…" About an hour ago Up About an hour (healthy) 0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp oracle19c
直接登录容器使用sqlplus做简单的验证。注意使用之前docker run时候回显的用户密码。
$ docker exec -it oracle19c /bin/bash [oracle@b03dae342bf5 ~]$ sqlplus system/sSNc5GFeSAg=1@ORCLPDB1 SQL*Plus: Release 19.0.0.0.0 - Production on Mon May 6 04:42:04 2019 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Last Successful login time: Mon May 06 2019 04:41:47 +00:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> show con_id CON_ID ------------------------------ 3 SQL>
也可以在浏览器中登录Oracle 19c内置的EM Express来通过图形界面访问和监控。
Related
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Code Reading
Diomidis Spinellis / Addison-Wesley Professional / 2003-06-06 / USD 64.99
This book is a unique and essential reference that focuses upon the reading and comprehension of existing software code. While code reading is an important task faced by the vast majority of students,......一起来看看 《Code Reading》 这本书的介绍吧!