
Há quase duas décadas eu fiz um dos primeiros tutoriais de instalação de Oracle para Linux, e agora vou escrever o último deles.
Não é o último pelo fato de ser mais atual, e sim porque depois da invenção do Docker , o mundo das instalações ficou infinitamente mais fácil.
Então, se você não conhece Docker vou deixar algumas dicas aqui:
– livro gratuito em português;
– vídeos sobre o conceito e alguns exemplos de Docker;
Com o conhecimento básico de Docker, vou considerar que ele já está instalado em seu sistema.
Basicamente a instalação do Oracle se resume aos passos:
- Baixar os scripts Docker do Oracle
- Baixar o instalador do Oracle para Linux
- Gerar uma imagem Docker do Oracle
- Usar a imagem Docker do Oracle
Passo 1 – Baixar os scripts Docker do Oracle
$ docker -v Docker version 18.06.1-ce, build e68fc7a215 $
Agora precisamos baixar o repositório oficial do Oracle na sua máquina:
$ git clone https://github.com/oracle/docker-images.git Cloning into 'docker-images'... remote: Enumerating objects: 28, done. remote: Counting objects: 100% (28/28), done. remote: Compressing objects: 100% (25/25), done. remote: Total 8809 (delta 5), reused 7 (delta 3), pack-reused 8781 Receiving objects: 100% (8809/8809), 9.94 MiB | 2.39 MiB/s, done. Resolving deltas: 100% (5013/5013), done. $
Passo 2 – Baixar o instalador do Oracle para Linux
Esse método serve para diversas versões do Oracle, mas esse artigo é para a versão gratuita Oracle Database Express Edition 11g Release 2, que está disponível no site da Oracle, ou diretamente nesse link.

O arquivo baixado será esse: oracle-xe-11.2.0-1.0.x86_64.rpm.zip
$ du -h oracle-xe-11.2.0-1.0.x86_64.rpm.zip 302M oracle-xe-11.2.0-1.0.x86_64.rpm.zip $ md5sum oracle-xe-11.2.0-1.0.x86_64.rpm.zip dd7881a55569d890241f11cd0eeb7d48 oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Passo 3 – Gerar uma imagem Docker do Oracle
Antes de gerarmos a imagem do Docker precisamos copiar o ZIP do instalador para o diretório do Oracle 11:
$ cp oracle-xe-11.2.0-1.0.x86_64.rpm.zip docker-images/OracleDatabase/SingleInstance/dockerfiles/11.2.0.2/
$
$ cd docker-images/OracleDatabase/SingleInstance/dockerfiles
$ ./buildDockerImage.sh -v 11.2.0.2 -x
Checking if required packages are present and valid...
oracle-xe-11.2.0-1.0.x86_64.rpm.zip: OK
==========================
DOCKER info:
Containers: 57
Running: 0
Paused: 0
Stopped: 57
Images: 27
Server Version: 18.06.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.18.9-arch1-1-ARCH
Operating System: Arch Linux
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.61GiB
Name: cascao
ID: PWRJ:HPXK:XVIN:XOLY:QEGE:ZFER:ZBYD:J3S5:5AXQ:ASUP:BV5H:IRNC
Docker Root Dir: /files3/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 22
Goroutines: 42
System Time: 2018-09-22T22:46:43.854985195-03:00
EventsListeners: 0
Username: boaglio
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
192.168.0.6:5000
127.0.0.0/8
Live Restore Enabled: false
==========================
Building image 'oracle/database:11.2.0.2-xe' ...
Sending build context to Docker daemon 315.9MB
Step 1/10 : FROM oraclelinux:7-slim
---> 0e3d3a8c0f61
Step 2/10 : MAINTAINER Gerald Venzl
---> Running in 4254d8333c96
Removing intermediate container 4254d8333c96
---> 594213b92ad2
Step 3/10 : ENV ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe ORACLE_SID=XE INSTALL_FILE_1="oracle-xe-11.2.0-1.0.x86_64.rpm.zip" INSTALL_DIR="$HOME/install" CONFIG_RSP="xe.rsp" RUN_FILE="runOracle.sh" PWD_FILE="setPassword.sh" CHECK_DB_FILE="checkDBStatus.sh"
---> Running in 22a66de8637f
Removing intermediate container 22a66de8637f
---> 97ad14986627
Step 4/10 : ENV PATH=$ORACLE_HOME/bin:$PATH
---> Running in f07311fec050
Removing intermediate container f07311fec050
---> e1b5c33545db
Step 5/10 : COPY $INSTALL_FILE_1 $CONFIG_RSP $RUN_FILE $PWD_FILE $CHECK_DB_FILE $INSTALL_DIR/
---> e28fb4ebb839
Step 6/10 : RUN yum -y install unzip libaio bc initscripts net-tools openssl && rm -rf /var/cache/yum && cd $INSTALL_DIR && unzip $INSTALL_FILE_1 && rm $INSTALL_FILE_1 && cat() { declare -A PROC=(["/proc/sys/kernel/shmmax"]=4294967295 ["/proc/sys/kernel/shmmni"]=4096 ["/proc/sys/kernel/shmall"]=2097152 ["/proc/sys/fs/file-max"]=6815744); [[ ${PROC[$1]} == "" ]] && /usr/bin/cat $* || echo ${PROC[$1]}; } && free() { echo "Swap: 2048 0 2048"; } && export -f cat free && rpm -i Disk1/*.rpm && unset -f cat free && mkdir -p $ORACLE_BASE/scripts/setup && mkdir $ORACLE_BASE/scripts/startup && ln -s $ORACLE_BASE/scripts /docker-entrypoint-initdb.d && mkdir $ORACLE_BASE/oradata && chown -R oracle:dba $ORACLE_BASE && mv $INSTALL_DIR/$CONFIG_RSP $ORACLE_BASE/ && mv $INSTALL_DIR/$RUN_FILE $ORACLE_BASE/ && mv $INSTALL_DIR/$PWD_FILE $ORACLE_BASE/ && mv $INSTALL_DIR/$CHECK_DB_FILE $ORACLE_BASE/ && ln -s $ORACLE_BASE/$PWD_FILE / && cd $HOME && rm -rf $INSTALL_DIR && chmod ug+x $ORACLE_BASE/*.sh
---> Running in dd64dbc938b1
Loaded plugins: ovl
Resolving Dependencies
--> Running transaction check
---> Package bc.x86_64 0:1.06.95-13.el7 will be installed
---> Package initscripts.x86_64 0:9.49.41-1.0.4.el7_5.1 will be installed
--> Processing Dependency: udev >= 125-1 for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
--> Processing Dependency: sysvinit-tools >= 2.87-5 for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
--> Processing Dependency: util-linux >= 2.16 for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
--> Processing Dependency: /sbin/arping for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
--> Processing Dependency: systemd for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
--> Processing Dependency: iproute for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
--> Processing Dependency: hostname for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
--> Processing Dependency: /sbin/sysctl for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
--> Processing Dependency: module-init-tools for package: initscripts-9.49.41-1.0.4.el7_5.1.x86_64
---> Package libaio.x86_64 0:0.3.109-13.el7 will be installed
---> Package net-tools.x86_64 0:2.0-0.22.20131004git.el7 will be installed
---> Package openssl.x86_64 1:1.0.2k-12.0.1.el7 will be installed
--> Processing Dependency: make for package: 1:openssl-1.0.2k-12.0.1.el7.x86_64
---> Package unzip.x86_64 0:6.0-19.el7 will be installed
--> Running transaction check
---> Package hostname.x86_64 0:3.13-3.el7 will be installed
---> Package iproute.x86_64 0:4.11.0-14.el7 will be installed
--> Processing Dependency: libmnl.so.0(LIBMNL_1.0)(64bit) for package: iproute-4.11.0-14.el7.x86_64
--> Processing Dependency: libmnl.so.0()(64bit) for package: iproute-4.11.0-14.el7.x86_64
--> Processing Dependency: libxtables.so.10()(64bit) for package: iproute-4.11.0-14.el7.x86_64
---> Package iputils.x86_64 0:20160308-10.el7 will be installed
---> Package kmod.x86_64 0:20-21.0.1.el7 will be installed
--> Processing Dependency: /usr/bin/gzip for package: kmod-20-21.0.1.el7.x86_64
--> Processing Dependency: /usr/bin/xz for package: kmod-20-21.0.1.el7.x86_64
--> Processing Dependency: /usr/bin/nm for package: kmod-20-21.0.1.el7.x86_64
--> Processing Dependency: dracut for package: kmod-20-21.0.1.el7.x86_64
---> Package make.x86_64 1:3.82-23.el7 will be installed
---> Package procps-ng.x86_64 0:3.3.10-17.el7_5.2 will be installed
--> Processing Dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit) for package: procps-ng-3.3.10-17.el7_5.2.x86_64
--> Processing Dependency: libsystemd.so.0()(64bit) for package: procps-ng-3.3.10-17.el7_5.2.x86_64
---> Package systemd.x86_64 0:219-57.0.1.el7_5.1 will be installed
--> Processing Dependency: dbus for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: acl for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libkmod.so.2(LIBKMOD_5)(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libpam.so.0(LIBPAM_1.0)(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libcryptsetup.so.4(CRYPTSETUP_1.0)(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libdw.so.1(ELFUTILS_0.122)(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libdw.so.1(ELFUTILS_0.158)(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libdw.so.1(ELFUTILS_0.130)(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: liblz4.so.1()(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libdw.so.1()(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libkmod.so.2()(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libpam.so.0()(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libqrencode.so.3()(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
--> Processing Dependency: libcryptsetup.so.4()(64bit) for package: systemd-219-57.0.1.el7_5.1.x86_64
---> Package sysvinit-tools.x86_64 0:2.88-14.dsf.el7 will be installed
---> Package util-linux.x86_64 0:2.23.2-52.el7_5.1 will be installed
--> Processing Dependency: libblkid = 2.23.2-52.el7_5.1 for package: util-linux-2.23.2-52.el7_5.1.x86_64
--> Processing Dependency: libmount = 2.23.2-52.el7_5.1 for package: util-linux-2.23.2-52.el7_5.1.x86_64
--> Processing Dependency: libuuid = 2.23.2-52.el7_5.1 for package: util-linux-2.23.2-52.el7_5.1.x86_64
--> Processing Dependency: libutempter.so.0(UTEMPTER_1.1)(64bit) for package: util-linux-2.23.2-52.el7_5.1.x86_64
--> Processing Dependency: libutempter.so.0()(64bit) for package: util-linux-2.23.2-52.el7_5.1.x86_64
--> Processing Dependency: libuser.so.1()(64bit) for package: util-linux-2.23.2-52.el7_5.1.x86_64
--> Running transaction check
---> Package acl.x86_64 0:2.2.51-14.el7 will be installed
---> Package binutils.x86_64 0:2.27-28.base.el7_5.1 will be installed
---> Package cryptsetup-libs.x86_64 0:1.7.4-4.el7 will be installed
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_97)(64bit) for package: cryptsetup-libs-1.7.4-4.el7.x86_64
--> Processing Dependency: libdevmapper.so.1.02(Base)(64bit) for package: cryptsetup-libs-1.7.4-4.el7.x86_64
--> Processing Dependency: libdevmapper.so.1.02()(64bit) for package: cryptsetup-libs-1.7.4-4.el7.x86_64
---> Package dbus.x86_64 1:1.10.24-7.0.1.el7 will be installed
--> Processing Dependency: dbus-libs(x86-64) = 1:1.10.24-7.0.1.el7 for package: 1:dbus-1.10.24-7.0.1.el7.x86_64
--> Processing Dependency: libdbus-1.so.3(LIBDBUS_PRIVATE_1.10.24)(64bit) for package: 1:dbus-1.10.24-7.0.1.el7.x86_64
--> Processing Dependency: libdbus-1.so.3(LIBDBUS_1_3)(64bit) for package: 1:dbus-1.10.24-7.0.1.el7.x86_64
--> Processing Dependency: libdbus-1.so.3()(64bit) for package: 1:dbus-1.10.24-7.0.1.el7.x86_64
---> Package dracut.x86_64 0:033-535.0.5.el7_5.1 will be installed
--> Processing Dependency: /usr/bin/pkg-config for package: dracut-033-535.0.5.el7_5.1.x86_64
--> Processing Dependency: kpartx for package: dracut-033-535.0.5.el7_5.1.x86_64
--> Processing Dependency: tar for package: dracut-033-535.0.5.el7_5.1.x86_64
--> Processing Dependency: hardlink for package: dracut-033-535.0.5.el7_5.1.x86_64
---> Package elfutils-libs.x86_64 0:0.170-4.el7 will be installed
--> Processing Dependency: default-yama-scope for package: elfutils-libs-0.170-4.el7.x86_64
---> Package gzip.x86_64 0:1.5-10.el7 will be installed
---> Package iptables.x86_64 0:1.4.21-24.1.el7_5 will be installed
--> Processing Dependency: libnetfilter_conntrack.so.3()(64bit) for package: iptables-1.4.21-24.1.el7_5.x86_64
--> Processing Dependency: libnfnetlink.so.0()(64bit) for package: iptables-1.4.21-24.1.el7_5.x86_64
---> Package kmod-libs.x86_64 0:20-21.0.1.el7 will be installed
---> Package libblkid.x86_64 0:2.23.2-52.el7 will be updated
---> Package libblkid.x86_64 0:2.23.2-52.el7_5.1 will be an update
---> Package libmnl.x86_64 0:1.0.3-7.el7 will be installed
---> Package libmount.x86_64 0:2.23.2-52.el7 will be updated
---> Package libmount.x86_64 0:2.23.2-52.el7_5.1 will be an update
---> Package libuser.x86_64 0:0.60-9.el7 will be installed
---> Package libutempter.x86_64 0:1.1.6-4.el7 will be installed
---> Package libuuid.x86_64 0:2.23.2-52.el7 will be updated
---> Package libuuid.x86_64 0:2.23.2-52.el7_5.1 will be an update
---> Package lz4.x86_64 0:1.7.5-2.el7 will be installed
---> Package pam.x86_64 0:1.1.8-22.el7 will be installed
--> Processing Dependency: libpwquality >= 0.9.9 for package: pam-1.1.8-22.el7.x86_64
--> Processing Dependency: cracklib-dicts >= 2.8 for package: pam-1.1.8-22.el7.x86_64
--> Processing Dependency: libcrack.so.2()(64bit) for package: pam-1.1.8-22.el7.x86_64
---> Package qrencode-libs.x86_64 0:3.4.1-3.el7 will be installed
---> Package systemd-libs.x86_64 0:219-57.0.1.el7_5.1 will be installed
---> Package xz.x86_64 0:5.2.2-1.el7 will be installed
--> Running transaction check
---> Package cracklib.x86_64 0:2.9.0-11.el7 will be installed
---> Package cracklib-dicts.x86_64 0:2.9.0-11.el7 will be installed
---> Package dbus-libs.x86_64 1:1.10.24-7.0.1.el7 will be installed
---> Package device-mapper-libs.x86_64 7:1.02.146-4.0.2.el7 will be installed
--> Processing Dependency: device-mapper = 7:1.02.146-4.0.2.el7 for package: 7:device-mapper-libs-1.02.146-4.0.2.el7.x86_64
---> Package elfutils-default-yama-scope.noarch 0:0.170-4.el7 will be installed
---> Package hardlink.x86_64 1:1.0-19.el7 will be installed
---> Package kpartx.x86_64 0:0.4.9-119.el7_5.1 will be installed
---> Package libnetfilter_conntrack.x86_64 0:1.0.6-1.el7_3 will be installed
---> Package libnfnetlink.x86_64 0:1.0.1-4.el7 will be installed
---> Package libpwquality.x86_64 0:1.2.3-5.el7 will be installed
---> Package pkgconfig.x86_64 1:0.27.1-4.el7 will be installed
---> Package tar.x86_64 2:1.26-34.el7 will be installed
--> Running transaction check
---> Package device-mapper.x86_64 7:1.02.146-4.0.2.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
bc x86_64 1.06.95-13.el7 ol7_latest 114 k
initscripts x86_64 9.49.41-1.0.4.el7_5.1 ol7_latest 437 k
libaio x86_64 0.3.109-13.el7 ol7_latest 24 k
net-tools x86_64 2.0-0.22.20131004git.el7 ol7_latest 305 k
openssl x86_64 1:1.0.2k-12.0.1.el7 ol7_latest 492 k
unzip x86_64 6.0-19.el7 ol7_latest 169 k
Installing for dependencies:
acl x86_64 2.2.51-14.el7 ol7_latest 81 k
binutils x86_64 2.27-28.base.el7_5.1 ol7_latest 5.9 M
cracklib x86_64 2.9.0-11.el7 ol7_latest 79 k
cracklib-dicts x86_64 2.9.0-11.el7 ol7_latest 3.6 M
cryptsetup-libs x86_64 1.7.4-4.el7 ol7_latest 222 k
dbus x86_64 1:1.10.24-7.0.1.el7 ol7_latest 244 k
dbus-libs x86_64 1:1.10.24-7.0.1.el7 ol7_latest 168 k
device-mapper x86_64 7:1.02.146-4.0.2.el7 ol7_latest 289 k
device-mapper-libs x86_64 7:1.02.146-4.0.2.el7 ol7_latest 316 k
dracut x86_64 033-535.0.5.el7_5.1 ol7_latest 326 k
elfutils-default-yama-scope noarch 0.170-4.el7 ol7_latest 31 k
elfutils-libs x86_64 0.170-4.el7 ol7_latest 267 k
gzip x86_64 1.5-10.el7 ol7_latest 129 k
hardlink x86_64 1:1.0-19.el7 ol7_latest 14 k
hostname x86_64 3.13-3.el7 ol7_latest 16 k
iproute x86_64 4.11.0-14.el7 ol7_latest 762 k
iptables x86_64 1.4.21-24.1.el7_5 ol7_latest 431 k
iputils x86_64 20160308-10.el7 ol7_latest 147 k
kmod x86_64 20-21.0.1.el7 ol7_latest 120 k
kmod-libs x86_64 20-21.0.1.el7 ol7_latest 50 k
kpartx x86_64 0.4.9-119.el7_5.1 ol7_latest 75 k
libmnl x86_64 1.0.3-7.el7 ol7_latest 22 k
libnetfilter_conntrack x86_64 1.0.6-1.el7_3 ol7_latest 55 k
libnfnetlink x86_64 1.0.1-4.el7 ol7_latest 25 k
libpwquality x86_64 1.2.3-5.el7 ol7_latest 84 k
libuser x86_64 0.60-9.el7 ol7_latest 400 k
libutempter x86_64 1.1.6-4.el7 ol7_latest 24 k
lz4 x86_64 1.7.5-2.el7 ol7_latest 98 k
make x86_64 1:3.82-23.el7 ol7_latest 420 k
pam x86_64 1.1.8-22.el7 ol7_latest 719 k
pkgconfig x86_64 1:0.27.1-4.el7 ol7_latest 53 k
procps-ng x86_64 3.3.10-17.el7_5.2 ol7_latest 289 k
qrencode-libs x86_64 3.4.1-3.el7 ol7_latest 49 k
systemd x86_64 219-57.0.1.el7_5.1 ol7_latest 5.0 M
systemd-libs x86_64 219-57.0.1.el7_5.1 ol7_latest 402 k
sysvinit-tools x86_64 2.88-14.dsf.el7 ol7_latest 62 k
tar x86_64 2:1.26-34.el7 ol7_latest 845 k
util-linux x86_64 2.23.2-52.el7_5.1 ol7_latest 2.0 M
xz x86_64 5.2.2-1.el7 ol7_latest 228 k
Updating for dependencies:
libblkid x86_64 2.23.2-52.el7_5.1 ol7_latest 178 k
libmount x86_64 2.23.2-52.el7_5.1 ol7_latest 179 k
libuuid x86_64 2.23.2-52.el7_5.1 ol7_latest 80 k
Transaction Summary
================================================================================
Install 6 Packages (+39 Dependent packages)
Upgrade ( 3 Dependent packages)
Total download size: 26 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
--------------------------------------------------------------------------------
Total 3.5 MB/s | 26 MB 00:07
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : libuuid-2.23.2-52.el7_5.1.x86_64 1/51
Updating : libblkid-2.23.2-52.el7_5.1.x86_64 2/51
Installing : gzip-1.5-10.el7.x86_64 3/51
Installing : cracklib-2.9.0-11.el7.x86_64 4/51
Installing : cracklib-dicts-2.9.0-11.el7.x86_64 5/51
Updating : libmount-2.23.2-52.el7_5.1.x86_64 6/51
Installing : libnfnetlink-1.0.1-4.el7.x86_64 7/51
Installing : lz4-1.7.5-2.el7.x86_64 8/51
Installing : xz-5.2.2-1.el7.x86_64 9/51
Installing : libmnl-1.0.3-7.el7.x86_64 10/51
Installing : libnetfilter_conntrack-1.0.6-1.el7_3.x86_64 11/51
Installing : iptables-1.4.21-24.1.el7_5.x86_64 12/51
Installing : iproute-4.11.0-14.el7.x86_64 13/51
Installing : libpwquality-1.2.3-5.el7.x86_64 14/51
Installing : pam-1.1.8-22.el7.x86_64 15/51
Installing : libuser-0.60-9.el7.x86_64 16/51
Installing : libutempter-1.1.6-4.el7.x86_64 17/51
Installing : 1:hardlink-1.0-19.el7.x86_64 18/51
Installing : hostname-3.13-3.el7.x86_64 19/51
Installing : binutils-2.27-28.base.el7_5.1.x86_64 20/51
install-info: /usr/share/info/dir: could not read (No such file or directory) and could not create (No such file or directory)
install-info: /usr/share/info/dir: could not read (No such file or directory) and could not create (No such file or directory)
install-info: /usr/share/info/dir: could not read (No such file or directory) and could not create (No such file or directory)
install-info: /usr/share/info/dir: could not read (No such file or directory) and could not create (No such file or directory)
install-info: /usr/share/info/dir: could not read (No such file or directory) and could not create (No such file or directory)
Installing : 1:make-3.82-23.el7.x86_64 21/51
Installing : kmod-libs-20-21.0.1.el7.x86_64 22/51
Installing : qrencode-libs-3.4.1-3.el7.x86_64 23/51
Installing : acl-2.2.51-14.el7.x86_64 24/51
Installing : sysvinit-tools-2.88-14.dsf.el7.x86_64 25/51
Installing : 1:pkgconfig-0.27.1-4.el7.x86_64 26/51
Installing : 2:tar-1.26-34.el7.x86_64 27/51
Installing : util-linux-2.23.2-52.el7_5.1.x86_64 28/51
Installing : procps-ng-3.3.10-17.el7_5.2.x86_64 29/51
Installing : kpartx-0.4.9-119.el7_5.1.x86_64 30/51
Installing : 7:device-mapper-1.02.146-4.0.2.el7.x86_64 31/51
Installing : 7:device-mapper-libs-1.02.146-4.0.2.el7.x86_64 32/51
Installing : cryptsetup-libs-1.7.4-4.el7.x86_64 33/51
Installing : dracut-033-535.0.5.el7_5.1.x86_64 34/51
Installing : kmod-20-21.0.1.el7.x86_64 35/51
Installing : elfutils-libs-0.170-4.el7.x86_64 36/51
Installing : systemd-libs-219-57.0.1.el7_5.1.x86_64 37/51
Installing : 1:dbus-libs-1.10.24-7.0.1.el7.x86_64 38/51
Installing : systemd-219-57.0.1.el7_5.1.x86_64 39/51
Installing : elfutils-default-yama-scope-0.170-4.el7.noarch 40/51
Installing : 1:dbus-1.10.24-7.0.1.el7.x86_64 41/51
Installing : iputils-20160308-10.el7.x86_64 42/51
Installing : initscripts-9.49.41-1.0.4.el7_5.1.x86_64 43/51
Installing : net-tools-2.0-0.22.20131004git.el7.x86_64 44/51
Installing : 1:openssl-1.0.2k-12.0.1.el7.x86_64 45/51
Installing : unzip-6.0-19.el7.x86_64 46/51
Installing : libaio-0.3.109-13.el7.x86_64 47/51
Installing : bc-1.06.95-13.el7.x86_64 48/51
Cleanup : libmount-2.23.2-52.el7.x86_64 49/51
Cleanup : libblkid-2.23.2-52.el7.x86_64 50/51
Cleanup : libuuid-2.23.2-52.el7.x86_64 51/51
Verifying : 2:tar-1.26-34.el7.x86_64 1/51
Verifying : systemd-219-57.0.1.el7_5.1.x86_64 2/51
Verifying : libmnl-1.0.3-7.el7.x86_64 3/51
Verifying : gzip-1.5-10.el7.x86_64 4/51
Verifying : 1:pkgconfig-0.27.1-4.el7.x86_64 5/51
Verifying : net-tools-2.0-0.22.20131004git.el7.x86_64 6/51
Verifying : systemd-libs-219-57.0.1.el7_5.1.x86_64 7/51
Verifying : initscripts-9.49.41-1.0.4.el7_5.1.x86_64 8/51
Verifying : kmod-20-21.0.1.el7.x86_64 9/51
Verifying : sysvinit-tools-2.88-14.dsf.el7.x86_64 10/51
Verifying : iproute-4.11.0-14.el7.x86_64 11/51
Verifying : acl-2.2.51-14.el7.x86_64 12/51
Verifying : bc-1.06.95-13.el7.x86_64 13/51
Verifying : cryptsetup-libs-1.7.4-4.el7.x86_64 14/51
Verifying : 1:openssl-1.0.2k-12.0.1.el7.x86_64 15/51
Verifying : kpartx-0.4.9-119.el7_5.1.x86_64 16/51
Verifying : elfutils-default-yama-scope-0.170-4.el7.noarch 17/51
Verifying : dracut-033-535.0.5.el7_5.1.x86_64 18/51
Verifying : 7:device-mapper-libs-1.02.146-4.0.2.el7.x86_64 19/51
Verifying : qrencode-libs-3.4.1-3.el7.x86_64 20/51
Verifying : kmod-libs-20-21.0.1.el7.x86_64 21/51
Verifying : elfutils-libs-0.170-4.el7.x86_64 22/51
Verifying : libmount-2.23.2-52.el7_5.1.x86_64 23/51
Verifying : libaio-0.3.109-13.el7.x86_64 24/51
Verifying : 7:device-mapper-1.02.146-4.0.2.el7.x86_64 25/51
Verifying : util-linux-2.23.2-52.el7_5.1.x86_64 26/51
Verifying : libuuid-2.23.2-52.el7_5.1.x86_64 27/51
Verifying : 1:dbus-1.10.24-7.0.1.el7.x86_64 28/51
Verifying : iputils-20160308-10.el7.x86_64 29/51
Verifying : xz-5.2.2-1.el7.x86_64 30/51
Verifying : lz4-1.7.5-2.el7.x86_64 31/51
Verifying : iptables-1.4.21-24.1.el7_5.x86_64 32/51
Verifying : 1:make-3.82-23.el7.x86_64 33/51
Verifying : libpwquality-1.2.3-5.el7.x86_64 34/51
Verifying : binutils-2.27-28.base.el7_5.1.x86_64 35/51
Verifying : procps-ng-3.3.10-17.el7_5.2.x86_64 36/51
Verifying : hostname-3.13-3.el7.x86_64 37/51
Verifying : libnfnetlink-1.0.1-4.el7.x86_64 38/51
Verifying : cracklib-dicts-2.9.0-11.el7.x86_64 39/51
Verifying : pam-1.1.8-22.el7.x86_64 40/51
Verifying : libuser-0.60-9.el7.x86_64 41/51
Verifying : libblkid-2.23.2-52.el7_5.1.x86_64 42/51
Verifying : 1:hardlink-1.0-19.el7.x86_64 43/51
Verifying : cracklib-2.9.0-11.el7.x86_64 44/51
Verifying : libnetfilter_conntrack-1.0.6-1.el7_3.x86_64 45/51
Verifying : unzip-6.0-19.el7.x86_64 46/51
Verifying : 1:dbus-libs-1.10.24-7.0.1.el7.x86_64 47/51
Verifying : libutempter-1.1.6-4.el7.x86_64 48/51
Verifying : libblkid-2.23.2-52.el7.x86_64 49/51
Verifying : libmount-2.23.2-52.el7.x86_64 50/51
Verifying : libuuid-2.23.2-52.el7.x86_64 51/51
Installed:
bc.x86_64 0:1.06.95-13.el7
initscripts.x86_64 0:9.49.41-1.0.4.el7_5.1
libaio.x86_64 0:0.3.109-13.el7
net-tools.x86_64 0:2.0-0.22.20131004git.el7
openssl.x86_64 1:1.0.2k-12.0.1.el7
unzip.x86_64 0:6.0-19.el7
Dependency Installed:
acl.x86_64 0:2.2.51-14.el7
binutils.x86_64 0:2.27-28.base.el7_5.1
cracklib.x86_64 0:2.9.0-11.el7
cracklib-dicts.x86_64 0:2.9.0-11.el7
cryptsetup-libs.x86_64 0:1.7.4-4.el7
dbus.x86_64 1:1.10.24-7.0.1.el7
dbus-libs.x86_64 1:1.10.24-7.0.1.el7
device-mapper.x86_64 7:1.02.146-4.0.2.el7
device-mapper-libs.x86_64 7:1.02.146-4.0.2.el7
dracut.x86_64 0:033-535.0.5.el7_5.1
elfutils-default-yama-scope.noarch 0:0.170-4.el7
elfutils-libs.x86_64 0:0.170-4.el7
gzip.x86_64 0:1.5-10.el7
hardlink.x86_64 1:1.0-19.el7
hostname.x86_64 0:3.13-3.el7
iproute.x86_64 0:4.11.0-14.el7
iptables.x86_64 0:1.4.21-24.1.el7_5
iputils.x86_64 0:20160308-10.el7
kmod.x86_64 0:20-21.0.1.el7
kmod-libs.x86_64 0:20-21.0.1.el7
kpartx.x86_64 0:0.4.9-119.el7_5.1
libmnl.x86_64 0:1.0.3-7.el7
libnetfilter_conntrack.x86_64 0:1.0.6-1.el7_3
libnfnetlink.x86_64 0:1.0.1-4.el7
libpwquality.x86_64 0:1.2.3-5.el7
libuser.x86_64 0:0.60-9.el7
libutempter.x86_64 0:1.1.6-4.el7
lz4.x86_64 0:1.7.5-2.el7
make.x86_64 1:3.82-23.el7
pam.x86_64 0:1.1.8-22.el7
pkgconfig.x86_64 1:0.27.1-4.el7
procps-ng.x86_64 0:3.3.10-17.el7_5.2
qrencode-libs.x86_64 0:3.4.1-3.el7
systemd.x86_64 0:219-57.0.1.el7_5.1
systemd-libs.x86_64 0:219-57.0.1.el7_5.1
sysvinit-tools.x86_64 0:2.88-14.dsf.el7
tar.x86_64 2:1.26-34.el7
util-linux.x86_64 0:2.23.2-52.el7_5.1
xz.x86_64 0:5.2.2-1.el7
Dependency Updated:
libblkid.x86_64 0:2.23.2-52.el7_5.1 libmount.x86_64 0:2.23.2-52.el7_5.1
libuuid.x86_64 0:2.23.2-52.el7_5.1
Complete!
Archive: oracle-xe-11.2.0-1.0.x86_64.rpm.zip
creating: Disk1/
creating: Disk1/upgrade/
inflating: Disk1/upgrade/gen_inst.sql
creating: Disk1/response/
inflating: Disk1/response/xe.rsp
inflating: Disk1/oracle-xe-11.2.0-1.0.x86_64.rpm
Executing post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
Removing intermediate container dd64dbc938b1
---> e7afbb955509
Step 7/10 : VOLUME ["$ORACLE_BASE/oradata"]
---> Running in 1e24e74abeb3
Removing intermediate container 1e24e74abeb3
---> 20ed796ff28f
Step 8/10 : EXPOSE 1521 8080
---> Running in a21f6c923bdd
Removing intermediate container a21f6c923bdd
---> f96b43bbfda3
Step 9/10 : HEALTHCHECK --interval=1m --start-period=5m CMD "$ORACLE_BASE/$CHECK_DB_FILE" >/dev/null || exit 1
---> Running in 556fe943b7a0
Removing intermediate container 556fe943b7a0
---> 236a255eb19c
Step 10/10 : CMD exec $ORACLE_BASE/$RUN_FILE
---> Running in db7d7ec658c2
Removing intermediate container db7d7ec658c2
---> b0ccccafa578
[Warning] One or more build-args [DB_EDITION] were not consumed
Successfully built b0ccccafa578
Successfully tagged oracle/database:11.2.0.2-xe
Oracle Database Docker Image for 'xe' version 11.2.0.2 is ready to be extended:
--> oracle/database:11.2.0.2-xe
Build completed in 156 seconds.
$
$ docker images | grep oracle
oracle/database 11.2.0.2-xe b0ccccafa578 About an hour ago 1.13GB
$
Passo 4 – Usar a imagem Docker do Oracle
Inicialmente vamos ajustar o usuário do Linux oracle, ele precisa estar no grupo dba e tanto o UID como o GID precisa ser 1000, para ser a mesmo valor do usuário da instância Oracle do Docker:
$ groupdel dba $ groupadd -g 1000 dba $ userdel oracle $ useradd -u 1000 -m -G dba oracle $ chmod -R 777 $HOME/docker/oracle11 $ chown -R 1000:1000 $HOME/docker/oracle11
Talvez já exista um usuário ou grupo com id 1000, nesse caso podemos ignorar os erros.
Considerando o diretório $HOME/docker/oracle11 sendo o lugar que ficarão os arquivos do banco de dados, então o comando para subir o Oracle é:
$ docker rm oracle11
$ docker run --name oracle11 --shm-size=1g -p 1521:1521 -p 8080:8080 -e ORACLE_PWD=boaglio -v $HOME/docker/oracle11:/u01/app/oracle/oradata oracle/database:11.2.0.2-xe
ORACLE PASSWORD FOR SYS AND SYSTEM: boaglio
Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press to accept the defaults.
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:
Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:
Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.
SQL*Plus: Release 11.2.0.2.0 Production on Sun Sep 23 05:08:18 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL>
PL/SQL procedure successfully completed.
SQL>
Database altered.
SQL>
Database altered.
SQL>
Database altered.
SQL>
System altered.
SQL>
System altered.
SQL>
System altered.
SQL>
Database altered.
SQL>
Database altered.
SQL> SQL>
System altered.
SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
Current log# 5 seq# 4 mem# 0: /u01/app/oracle/oradata/XE/redo05.log
ALTER DATABASE DROP LOGFILE GROUP 1
Deleted Oracle managed file /u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_1_ftg7wl24_.log
Completed: ALTER DATABASE DROP LOGFILE GROUP 1
ALTER DATABASE DROP LOGFILE GROUP 2
Deleted Oracle managed file /u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_2_ftg7wlvc_.log
Completed: ALTER DATABASE DROP LOGFILE GROUP 2
Cleared LOG_ARCHIVE_DEST_1 parameter default value
Using LOG_ARCHIVE_DEST_1 parameter default value as /u01/app/oracle/product/11.2.0/xe/dbs/arch
ALTER SYSTEM SET db_recovery_file_dest='' SCOPE=BOTH;
Depois podemos verificar que o diretório $HOME/docker/oracle11 tem novos arquivos:
$ cd $HOME/docker/oracle11
$ tree
.
├── dbconfig
│ └── XE
│ ├── listener.ora
│ ├── oracle-xe
│ ├── orapwXE
│ ├── oratab
│ ├── spfileXE.ora
│ └── tnsnames.ora
└── XE
├── control.dbf
├── redo04.log
├── redo05.log
├── redo06.log
├── sysaux.dbf
├── system.dbf
├── temp.dbf
├── undotbs1.dbf
└── users.dbf
3 directories, 15 files
$ du -h
1.3G ./XE
24K ./dbconfig/XE
24K ./dbconfig
1.3G .
$
Com isso podemos acessar nossa imagem com o usuário system e senha boaglio usando um SQL*Plus instalado do Oracle ou usando um do Docker:
Nesse teste o IP da máquina rodando o Docker é 192.168.0.11:
$ docker run --rm -ti oracle/database:11.2.0.2-xe sqlplus system/boaglio@192.168.0.11:1521/XE SQL*Plus: Release 11.2.0.2.0 Production on Sun Sep 23 05:17:24 2018 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production SQL> SQL> SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production PL/SQL Release 11.2.0.2.0 - Production CORE 11.2.0.2.0 Production TNS for Linux: Version 11.2.0.2.0 - Production NLSRTL Version 11.2.0.2.0 - Production SQL> exit Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production $
Ou também pelo Oracle SQL Developer:


Se quiser usar a interface gráfica APEX (que é uma GUI para o clássico Oracle Enterprise Manager), acesse http://127.0.0.1:8080/apex/apex_admin , entre com usuário admin e senha boaglio:

Em seguida teremos que mudar a senha, que precisa seguir essas regras:
- Ter pelo menos 6 caracteres.
- Ter um número (0123456789).
- Ter um caracter especial(!”#$%&()“*+,-/:;<=>?_).
- Ter uma letra maiúscula.
- Não pode ter o username (nesse caso é o admin).
Uma senha compatível com as regras é: Oracle123!

Depois de mudar a senha podemos acessar normalmente e fazer manutenção no banco de dados:

Um exemplo é a criação de usuários:

A versão instalada é a Application Express 4.0.2.00.09, para mais informações acesse aqui e se desejar atualizar tente esse tutorial.
Fernando Boaglio, para a comunidade