Slide 1

Slide 1 text

LAOUC Community Tour 2024 2 a 23 de Agosto 2024 Comience con Oracle en contenedores

Slide 2

Slide 2 text

Database Reliability Engineering MAA ⁘ RAC ⁘ RMAN Data Guard ⁘ Sharding ⁘ Partitioning Information Lifecycle Management Exadata & Engineered Systems Database Modernization Upgrades ⁘ Patching ⁘ Migrations Cloud ⁘ Hybrid Automation DevOps ⁘ IaC ⁘ Containers ⁘ Terraform Vagrant ⁘ Ansible Observability AHF ⁘ TFA ⁘ CHA ⁘ CHM

Slide 3

Slide 3 text

www.viscosityna.com @ViscosityNA Oracle on Docker Running Oracle Databases in Linux Containers Free sample chapter: https://oraclesean.com

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

km mi Mexico 3,584 2,227 Guatemala 1,056 656 Costa Rica 854 531 Panama 1,813 1,127 Chile 4,985 3,098 Brazil 2,617 1,626 Uruguay 1,567 974 Argentina 221 137 Paraguay 1,037 644 Home 9,753 6,061 ------ ------ 27,487 17,081 ¡Me gustan los aviones! ¡Me gustas tú! ¡Me gusta viajar! ¡Me gustas tú! ~ Manu Chao

Slide 6

Slide 6 text

www.viscosityna.com @ViscosityNA ¡Gracias por su paciencia y comprensión!

Slide 7

Slide 7 text

www.viscosityna.com @ViscosityNA Oracle ¿en contenedores? ¡LOL!

Slide 8

Slide 8 text

www.viscosityna.com @ViscosityNA "¡No utilice Docker para bases de datos!"

Slide 9

Slide 9 text

www.viscosityna.com @ViscosityNA "Los contenedores son para desarrolladores, ¡no para producción!"

Slide 10

Slide 10 text

www.viscosityna.com @ViscosityNA "¡No puedes confiar en los contenedores! ¡No pueden conservar los datos! "¡No están seguros!"

Slide 11

Slide 11 text

www.viscosityna.com @ViscosityNA "¡Los contenedores no pueden soportar aplicaciones complejas como Oracle!"

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

www.viscosityna.com @ViscosityNA

Slide 14

Slide 14 text

www.viscosityna.com @ViscosityNA Puedes, pero... ¿por qué?

Slide 15

Slide 15 text

www.viscosityna.com @ViscosityNA Los contenedores son infraestructura como código Administrar a través del control de versiones

Slide 16

Slide 16 text

www.viscosityna.com @ViscosityNA Los contenedores son infraestructura como código Fiable y repetible

Slide 17

Slide 17 text

www.viscosityna.com @ViscosityNA Los contenedores son infraestructura como código Portátil

Slide 18

Slide 18 text

www.viscosityna.com @ViscosityNA Los contenedores son infraestructura como código Distribuibl

Slide 19

Slide 19 text

www.viscosityna.com @ViscosityNA Los contenedores que creo en mi máquina funcionan en: Windows, Mac, Linux

Slide 20

Slide 20 text

www.viscosityna.com @ViscosityNA Los contenedores que creo en mi máquina funcionan en: Oracle Cloud, AWS, Azure, Google Cloud

Slide 21

Slide 21 text

www.viscosityna.com @ViscosityNA Los contenedores que creo en mi máquina funcionan en: Docker, Podman, Kubernetes Rancher, LXD, containerd...

Slide 22

Slide 22 text

www.viscosityna.com @ViscosityNA Todas las máquinas Todas las nubes Todas las plataformas

Slide 23

Slide 23 text

www.viscosityna.com @ViscosityNA Sin necesidad de conversión

Slide 24

Slide 24 text

www.viscosityna.com @ViscosityNA Ellos se comportan igual

Slide 25

Slide 25 text

www.viscosityna.com @ViscosityNA ¡Exactamente igual!

Slide 26

Slide 26 text

www.viscosityna.com @ViscosityNA ...escribir SQL, PL/SQL, las escrituras Utilice Oracle en contenedores para...

Slide 27

Slide 27 text

www.viscosityna.com @ViscosityNA ...hackear, experimentar, aprender Utilice Oracle en contenedores para...

Slide 28

Slide 28 text

www.viscosityna.com @ViscosityNA ...estudiar para certificaciones Utilice Oracle en contenedores para...

Slide 29

Slide 29 text

www.viscosityna.com @ViscosityNA ...la optimización del rendimiento Utilice Oracle en contenedores para...

Slide 30

Slide 30 text

www.viscosityna.com @ViscosityNA ...probar los procedimientos Utilice Oracle en contenedores para...

Slide 31

Slide 31 text

www.viscosityna.com @ViscosityNA ...práctica de recuperación, actualizaciones Utilice Oracle en contenedores para...

Slide 32

Slide 32 text

www.viscosityna.com @ViscosityNA ...construir laboratorios Utilice Oracle en contenedores para...

Slide 33

Slide 33 text

www.viscosityna.com @ViscosityNA ...validar parches y cambios del sistema Utilice Oracle en contenedores para...

Slide 34

Slide 34 text

www.viscosityna.com @ViscosityNA ¡Todo sin ninguna infraestructura! (Además de una portátil) Utilice Oracle en contenedores para...

Slide 35

Slide 35 text

www.viscosityna.com @ViscosityNA La mejor razón para usar contenedores son las "montañas rusas"

Slide 36

Slide 36 text

www.viscosityna.com @ViscosityNA ¡Una montaña rusa es un tren con pulso!

Slide 37

Slide 37 text

www.viscosityna.com @ViscosityNA ¿Pero es esta la experiencia que quieres a las 2 de la mañana?

Slide 38

Slide 38 text

www.viscosityna.com @ViscosityNA A veces solo quieres un aburrido viaje en tren del punto A al punto B

Slide 39

Slide 39 text

www.viscosityna.com @ViscosityNA Los contenedores son como trenes de metro, no montañas rusas

Slide 40

Slide 40 text

www.viscosityna.com @ViscosityNA Sin sorpresas Sin emociones Sin entusiasmo

Slide 41

Slide 41 text

www.viscosityna.com @ViscosityNA ¡Los contenedores son muy rapido!

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

www.viscosityna.com @ViscosityNA ¡Los contenedores son eficientes!

Slide 44

Slide 44 text

@ViscosityNA www.viscosityna.com www.viscosityna.com @ViscosityNA Oracle x 13 en un portátil 2018 MacBook Pro 15", 2.2GHz 6-core Intel Core i7, 16GB, 1TB SSD

Slide 45

Slide 45 text

www.viscosityna.com @ViscosityNA Prepara tu sistema

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

www.viscosityna.com @ViscosityNA docker pull container-registry.oracle.com/database/free:23.4.0.0 # docker pull container-registry.oracle.com/database/free:23.4.0.0 23.4.0.0: Pulling from database/free 6d6e36f7c9fb: Pull complete 21def9023b6f: Pull complete 5e7b2cfeb7fa: Pull complete b4a24759beff: Pull complete 78bba54e9814: Pull complete 716b489ad5ad: Pull complete c23fd8c6cbee: Pull complete 79dea26b3a5a: Pull complete 5dfbcf799df3: Pull complete 154719a62576: Pull complete Digest: sha256:83edd0756fda0e5faecc0fdf047814f0177d4224d7bf037e4900123ee3e08718 Status: Downloaded newer image for container-registry.oracle.com/database/free:23.4.0.0 container-registry.oracle.com/database/free:23.4.0.0

Slide 54

Slide 54 text

www.viscosityna.com @ViscosityNA docker images # docker images REPOSITORY TAG IMAGE ID CREATED SIZE container-registry.oracle.com/database/free 23.4.0.0 7510f8869b04 3 months ago 8.7GB container-registry.oracle.com/database/enterprise 19.19.0.0 979416fa8cea 12 months ago 6.21GB

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

www.viscosityna.com @ViscosityNA docker run -d \ --name my-db \ container-registry.oracle.com/database/free:23.4.0.0 docker logs -f my_db

Slide 57

Slide 57 text

www.viscosityna.com @ViscosityNA Crear un directorio de base de datos # Crear un directorio de la base de datos base: ORADATA=~/oradata mkdir -p ${ORADATA}

Slide 58

Slide 58 text

www.viscosityna.com @ViscosityNA Crear un directorio de scripts # Crear un directorio de la scripts: mkdir -p ${ORADATA}/scripts

Slide 59

Slide 59 text

www.viscosityna.com @ViscosityNA Establecer variables # Dale un nombre al contenedor: CONTAINER_NAME=ORCL # Configure el SID de la base de datos y el nombre de PDB # (no es necesario para 23ai): ORACLE_SID=ORCL ORACLE_PDB=ORCLPDB

Slide 60

Slide 60 text

www.viscosityna.com @ViscosityNA Crear directorios por archivos # Cree directorios para auditoría, datos y diagnósticos: for dir in admin data diag do mkdir -p ${ORADATA}/${CONTAINER_NAME}/${dir} # Limpiar archivos existentes: rm -fr ${ORADATA}/${CONTAINER_NAME}/${dir}/* done

Slide 61

Slide 61 text

www.viscosityna.com @ViscosityNA Un comando útil para 23ai Free Edition docker rm -f ${CONTAINER_NAME} 2>/dev/null docker run -d \ --name ${CONTAINER_NAME} \ --volume ${ORADATA}/${CONTAINER_NAME}/data:/opt/oracle/oradata \ --volume ${ORADATA}/${CONTAINER_NAME}/diag:/opt/oracle/diag \ --volume ${ORADATA}/${CONTAINER_NAME}/admin:/opt/oracle/admin \ --volume ${ORADATA}/scripts:/scripts \ -p 51521:1521 \ container-registry.oracle.com/database/free:23.4.0.0 docker logs -f ${CONTAINER_NAME}

Slide 62

Slide 62 text

No content

Slide 63

Slide 63 text

www.viscosityna.com @ViscosityNA “Iniciar sesión” en el contenedor docker exec -it ${CONTAINER_NAME} bash

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

www.viscosityna.com @ViscosityNA Nombre de host o la dirección IP Puerto mapeado ORACLE_SID localhost 51521 o193 Conéctese a Docker desde SQL Developer

Slide 66

Slide 66 text

www.viscosityna.com @ViscosityNA ¿Por qué esto es mejor?

Slide 67

Slide 67 text

www.viscosityna.com @ViscosityNA Software Configuration Data ¿Que es una base de datos?

Slide 68

Slide 68 text

www.viscosityna.com @ViscosityNA Software Configuration Data ¿Que es una base de datos?

Slide 69

Slide 69 text

www.viscosityna.com @ViscosityNA ├── ORCLCDB │ ├── ORCLPDB1 │ │ ├── … │ ├── control01.ctl │ ├── pdbseed │ │ ├── … │ ├── redo01.log │ ├── redo02.log │ ├── redo03.log │ ├── sysaux01.dbf │ ├── system01.dbf │ ├── temp01.dbf │ ├── undotbs01.dbf │ └── users01.dbf └── dbconfig └── ORCLCDB ├── listener.ora ├── orapwORCLCDB ├── oratab ├── spfileORCLCDB.ora ├── sqlnet.ora └── tnsnames.ora

Slide 70

Slide 70 text

www.viscosityna.com @ViscosityNA ├── ORCLCDB │ ├── ORCLPDB1 │ │ ├── … │ ├── control01.ctl │ ├── pdbseed │ │ ├── … │ ├── redo01.log │ ├── redo02.log │ ├── redo03.log │ ├── sysaux01.dbf │ ├── system01.dbf │ ├── temp01.dbf │ ├── undotbs01.dbf │ └── users01.dbf └── dbconfig └── ORCLCDB ├── listener.ora ├── orapwORCLCDB ├── oratab ├── spfileORCLCDB.ora ├── sqlnet.ora └── tnsnames.ora

Slide 71

Slide 71 text

www.viscosityna.com @ViscosityNA ¿Por que significa?

Slide 72

Slide 72 text

www.viscosityna.com @ViscosityNA Toda la base de datos se guarda en el directorio oradata: ¿Por que significa? •Archivos de datos •Archivios de temp •Registros de redo •Registros de archivar •Con fi guraciones TNS •Carteras •/etc/oratab •p fi le/sp fi le

Slide 73

Slide 73 text

www.viscosityna.com @ViscosityNA Toda la base de datos se guarda en el directorio oradata: ¿Por que significa? •Archivos de datos •Archivios de temp •Registros de redo •Registros de archivar •Con fi guraciones TNS •Carteras •/etc/oratab •p fi le/sp fi le Podemos esos archivos en un directorio local: ${ORADATA}/${CONTAINER_NAME}/data

Slide 74

Slide 74 text

www.viscosityna.com @ViscosityNA Copie los datos antiguos del origen al destino cp -rpT ${ORADATA}/${OLD_CONTAINER}/data \ ${ORADATA}/${NEW_CONTAINER}/data

Slide 75

Slide 75 text

www.viscosityna.com @ViscosityNA ¡Base de datos instantánea! # Crear los nombres de origen/nuevo contenedor: OLD_CONTAINER=${CONTAINER_NAME} NEW_CONTAINER=CLONE # Crear nuevo directorios para auditoría y diagnósticos: for dir in admin data diag do mkdir -p ${ORADATA}/${NEW_CONTAINER}/${dir} done cp -rpT ${ORADATA}/${OLD_CONTAINER}/data \ ${ORADATA}/${NEW_CONTAINER}/data

Slide 76

Slide 76 text

www.viscosityna.com @ViscosityNA ¡Base de datos instantánea! docker run -d \ --name ${NEW_CONTAINER} \ --volume ${ORADATA}/${NEW_CONTAINER}/data:/opt/oracle/oradata \ --volume ${ORADATA}/${NEW_CONTAINER}/diag:/opt/oracle/diag \ --volume ${ORADATA}/${NEW_CONTAINER}/admin:/opt/oracle/admin \ --volume ${ORADATA}/scripts:/scripts \ -p 51522:1521 \ container-registry.oracle.com/database/free:23.4.0.0 docker logs -f ${NEW_CONTAINER}

Slide 77

Slide 77 text

www.viscosityna.com @ViscosityNA Crear imágenes

Slide 78

Slide 78 text

www.viscosityna.com @ViscosityNA https://github.com/oracle/docker-images/tree/main/OracleDatabase/SingleInstance

Slide 79

Slide 79 text

www.viscosityna.com @ViscosityNA

Slide 80

Slide 80 text

www.viscosityna.com @ViscosityNA

Slide 81

Slide 81 text

www.viscosityna.com @ViscosityNA https://github.com/oraclesean/cloud-native-oracle

Slide 82

Slide 82 text

www.viscosityna.com @ViscosityNA

Slide 83

Slide 83 text

www.viscosityna.com @ViscosityNA

Slide 84

Slide 84 text

www.viscosityna.com @ViscosityNA Recursos Descargar Docker Desktop: •https://www.docker.com/products/docker-desktop/ Registro de contenedores de Oracle: •https://container-registry.oracle.com Repositorio de Oracle Docker: •https://github.com/oracle/docker-images Mi repositorio de bases de datos Oracle nativo en la nube: •https://github.com/oraclesean/cloud-native-oracle

Slide 85

Slide 85 text

www.viscosityna.com @ViscosityNA Preguntas y contactame [email protected] https://linktr.ee/oraclesean

Slide 86

Slide 86 text

No content