This slide deck describes some of the best practices found when running Oracle Database inside a Docker container. Those best practices are general observations collected over time and may not reflect your actual environment or current situation.
12cR2 Single-Tenant: Multitenant Features for All EditionsFranck Pachot
Multitenant architecture is available even without Oracle's multitenant option. In this session take a look at the overhead and the 12.2 new features so that you can choose among single-tenant or non-container databases. These features include agility in data movement, easy flashback, and fast upgrade.
This document provides an introduction and overview of Oracle Linux and its suitability for running Oracle databases. It discusses the Unbreakable Enterprise Kernel, installation of Oracle Linux, directory structure considerations, useful Linux commands for Oracle DBAs, file system options like OCFS2 and BTRFS, and demonstrates cloning a database using OCFS2 snapshot capabilities. The presenter has extensive experience with Oracle databases and various Oracle Linux versions.
This document discusses Oracle WebLogic Server 12c running with Docker containers. It begins with introductions of Bruno Borges from Oracle and Dr. Frank Munz. It then provides an overview of Docker and how it differs from virtualization. Docker images and containers are explained. Using Docker with clouds is discussed. Finally, running WebLogic Server within a Docker container is covered, including what is supported and example Dockerfiles and scripts.
This document summarizes the differences between Oracle RAC 11g and 12c. It provides an agenda that covers key areas such as multitenant architecture, Oracle 11g and 12c configurations, RAC 12c configurations, ASM 11g vs 12c, and improvements to DBCA in 12c. The document also references external links with more detailed information on topics like how to determine which hub node a leaf node uses, RAC networks, node eviction behavior, and IPv6 support.
The current trends to work in Agile and DevOps are challenging for database developers. Source control is a standard for non-database code but it’s a challenge for databases. This talk has an ambition to change that situation and help developers and DBA take over control of source code and data.
This document discusses running Oracle Database using Docker. It provides an overview of Docker, describes how Oracle Database is fully supported on Docker, and highlights where to find Oracle Database images and build files for Docker. It also demonstrates running an Oracle Database container and provides recommendations for using Oracle Database with Docker.
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...Andrejs Prokopjevs
1. The documentation incorrectly referenced the location of the modifyRealm.ldif template file needed to configure the naming context.
2. The subscriber entry for the naming context was not automatically created, requiring it to be manually added.
3. The user and group base DNs were not created, needing to be manually added.
4. The documented ACIs for Directory Integration Platform write permissions were insufficient, requiring additional permissions to be added.
5. Oracle Unified Directory places restrictions on unindexed searches by non-super users that could impact some Oracle applications.
This slide deck describes some of the best practices found when running Oracle Database inside a Docker container. Those best practices are general observations collected over time and may not reflect your actual environment or current situation.
12cR2 Single-Tenant: Multitenant Features for All EditionsFranck Pachot
Multitenant architecture is available even without Oracle's multitenant option. In this session take a look at the overhead and the 12.2 new features so that you can choose among single-tenant or non-container databases. These features include agility in data movement, easy flashback, and fast upgrade.
This document provides an introduction and overview of Oracle Linux and its suitability for running Oracle databases. It discusses the Unbreakable Enterprise Kernel, installation of Oracle Linux, directory structure considerations, useful Linux commands for Oracle DBAs, file system options like OCFS2 and BTRFS, and demonstrates cloning a database using OCFS2 snapshot capabilities. The presenter has extensive experience with Oracle databases and various Oracle Linux versions.
This document discusses Oracle WebLogic Server 12c running with Docker containers. It begins with introductions of Bruno Borges from Oracle and Dr. Frank Munz. It then provides an overview of Docker and how it differs from virtualization. Docker images and containers are explained. Using Docker with clouds is discussed. Finally, running WebLogic Server within a Docker container is covered, including what is supported and example Dockerfiles and scripts.
This document summarizes the differences between Oracle RAC 11g and 12c. It provides an agenda that covers key areas such as multitenant architecture, Oracle 11g and 12c configurations, RAC 12c configurations, ASM 11g vs 12c, and improvements to DBCA in 12c. The document also references external links with more detailed information on topics like how to determine which hub node a leaf node uses, RAC networks, node eviction behavior, and IPv6 support.
The current trends to work in Agile and DevOps are challenging for database developers. Source control is a standard for non-database code but it’s a challenge for databases. This talk has an ambition to change that situation and help developers and DBA take over control of source code and data.
This document discusses running Oracle Database using Docker. It provides an overview of Docker, describes how Oracle Database is fully supported on Docker, and highlights where to find Oracle Database images and build files for Docker. It also demonstrates running an Oracle Database container and provides recommendations for using Oracle Database with Docker.
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...Andrejs Prokopjevs
1. The documentation incorrectly referenced the location of the modifyRealm.ldif template file needed to configure the naming context.
2. The subscriber entry for the naming context was not automatically created, requiring it to be manually added.
3. The user and group base DNs were not created, needing to be manually added.
4. The documented ACIs for Directory Integration Platform write permissions were insufficient, requiring additional permissions to be added.
5. Oracle Unified Directory places restrictions on unindexed searches by non-super users that could impact some Oracle applications.
This document discusses configuring and optimizing Direct NFS (dNFS) for Oracle databases. It provides examples of enabling dNFS on Oracle 11g and 12c, configuring the oranfstab file, setting TCP parameters, and monitoring dNFS performance. It recommends checking that oradism is setuid, increasing buffer sizes, and using tools like v$dnfs_stats to monitor dNFS.
The document describes setting up a two-node Oracle 12c RAC cluster on two Oracle Linux VMs hosted on Oracle VirtualBox. Key steps include:
1. Installing Oracle Linux on VirtualBox and preparing it for the Oracle installation. This includes installing VirtualBox additions, configuring storage and networks, and disabling unnecessary services.
2. Cloning the first node VM to create an identical second node and reconfiguring its storage, networking and hostname.
3. Configuring DNS and hosts files on both nodes to resolve virtual IPs, scan name, and establish connectivity.
4. Installing Oracle Grid Infrastructure for a cluster using the Oracle installer, configuring SCAN name, adding the second
... or why Oracle still cares about CMAN and why you should do it too
The Oracle Connection Manager (CMAN) is the Swiss-army knife for database connections. It can be used for security, routing, high availability, single-point of contact... Starting with Oracle 18c, it has been extended with the new Traffic Director Mode (CMAN TDM), that allows transparent failover for applications that do not implement it natively.
In this session I will introduce briefly what CMAN is capable of, how to configure it in a high availability environment, and how the new release achieves a higher protection level.
This document provides an overview of essential Linux commands and utilities for SQL Server DBAs. It covers topics such as Linux history, users and permissions, file editing and navigation commands like vi, process monitoring with ps and top, and system diagnostic utilities like sar, vmstat, and mpstat. The document aims to teach SQL Server DBAs basic Linux skills to manage their environment and troubleshoot issues.
This document provides information about AST Corporation, an Oracle partner specialized in Oracle technologies. It discusses AST's Oracle certifications and awards. It also lists the Oracle products and services that AST provides support for, including their Oracle Platinum partnership. The remainder of the document describes setting up an Oracle RAC database in a virtualized environment using Oracle VM VirtualBox, including downloading software, installing operating systems on the virtual machines, configuring networking and storage, installing Oracle Grid Infrastructure and the database, and testing the RAC configuration.
Oracle is planning to release Oracle Database 12c in calendar year 2013. The new release will include a multitenant architecture that allows for multiple pluggable databases to be consolidated and managed within a single container database. This new architecture enables fast provisioning of new databases, efficient cloning of pluggable databases, simplified patching and upgrades applied commonly to all pluggable databases, and other benefits that improve database consolidation on cloud platforms.
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Yury Velikanov
The document provides instructions for setting up a two-node Oracle 12c RAC environment within Oracle VirtualBox on a Windows laptop. The main steps include:
1. Configuring VirtualBox with a host-only network and installing Oracle Linux 6 on the first virtual machine.
2. Creating shared virtual disks for the ASM storage and installing Oracle Grid Infrastructure.
3. Cloning the first virtual machine to create the second node, and installing the Oracle 12c database software.
This allows users to test an Oracle 12c RAC sandbox environment locally without requiring additional physical hardware.
Rapid Home Provisioning is a new feature in Oracle Grid Infrastructure 12c R2 that provides a simplified way to provision and patch Oracle software and databases. It uses a centralized management server and golden images stored on ACFS to deploy pre-packaged and patched Oracle homes to client nodes. Administrators can easily create working copies of golden images, deploy databases from the working copies, and seamlessly patch databases by moving them to a working copy based on a newer patched golden image with a single command.
This document provides an overview of various Linux performance monitoring and tuning tools. It discusses tools such as PIDSTAT, DSTAT, NMON, LSOF, and FUSER which can provide process-level insights into CPU, memory, disk and network usage. It also covers more advanced tracing tools like Trace-cmd, perf-tools, and eBPF which utilize capabilities in the Linux kernel for deep performance analysis and troubleshooting. The document emphasizes that these tools present options for system visibility without heavy overhead or specialized knowledge requirements.
Direct NFS allows Oracle database files to be stored on NFS volumes while bypassing the kernel NFS client for improved performance. It establishes direct TCP/IP connections between Oracle processes and the NFS server. The oranfstab file can be used to configure Direct NFS settings instead of relying on /etc/mtab. Troubleshooting Direct NFS can be difficult as Oracle silently falls back to kernel NFS if issues arise. NFS server settings like reserved ports and wtmax size must meet Direct NFS requirements.
Oracle Exadata Performance: Latest Improvements and Less Known FeaturesTanel Poder
This document discusses recent improvements to Oracle Exadata performance, including improved SQL monitoring in Oracle 12c, enhancements to storage indexes and flash caching, and additional metrics available in AWR. It provides details on new execution plan line level metrics in SQL monitoring reports and metrics for storage cell components now visible in AWR. The post outlines various flash cache features and behavior in earlier Oracle releases.
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder
Tanel Poder has been involved in a number of Exadata migration projects since its introduction, mostly in the area of performance ensurance, troubleshooting and capacity planning.
These slides, originally presented at UKOUG in 2010, cover some of the most interesting challenges, surprises and lessons learnt from planning and executing large Oracle database migrations to Exadata v2 platform.
This material is not just repeating the marketing material or Oracle's official whitepapers.
Database Consolidation using the Oracle Multitenant ArchitecturePini Dibask
The document discusses Oracle's Multitenant architecture, which allows multiple pluggable databases (PDBs) to consolidate within a single multitenant container database (CDB). It describes how Multitenant provides advantages like simplified upgrades, cloning, and migration of PDBs. The document also covers ensuring quality of service for PDBs using resource management, and how RAC supports high availability and scalability in a Multitenant environment. It concludes with a discussion of performance monitoring of workloads across PDBs.
Sharing experience implementing Direct NFSYury Velikanov
Direct NFS (dNFS) allows Oracle databases to access NFS-mounted storage directly without going through the kernel. This improves performance by reducing context switches between user and kernel space. The document discusses setting up dNFS including mounting NFS shares, configuring the oranfstab file, and verifying dNFS usage. It also provides an overview of dNFS concepts such as using multiple TCP connections in a round-robin fashion for high throughput and availability.
Real Application Cluster (RAC) allows multiple computers to simultaneously run Oracle RDBMS while accessing a single database, providing clustering. RAC provides high availability, scalability, and ease of administration by making multiple instances transparent to users. Nodes must have identical environments. Oracle Clusterware manages node additions and removals. Instances from different nodes write to the same physical database. The presentation covers RAC architecture, components, startup sequence, single instance configuration, node eviction, and tips for monitoring and improving the RAC environment.
This document discusses Docker and its use for the Douban App Engine (DAE). It covers:
- The history of adopting Docker for DAE applications from 2014 to 2016.
- How DAE uses Docker to build and deploy over 400 application images across different environments.
- Techniques used to optimize the Docker build process and reduce image sizes.
- Integrating Docker with the DAE monitoring, logging, and maintenance systems.
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...DataStax
Connecting Apache Spark to C* is easy, thanks to DataStax Spark Cassandra Connector. But what about Security?
The DSE bring Enterprise security and Kerberos support to C*. Latest Hadoop distribution has Spark support and also support Kerberos. So now you can add a Cassandra to you Hadoop infrastructure with integrated security and build reliable speed level and streaming applications by combining data from both worlds.
This presentation will show all that fun around security configurations
1. DSE client with SSL and Kerberos
2. Connect from Hadoop Spark to DSE
3. Connect DSE Spark to HDFS sources.
4. And all above even with Widows DC :)
About the Speaker
Artem Aliev Software Developer, DataStax
Artem Aliev is a software developer in the DataStax Analytics team. He works on integrating C* database with analytics solution like Spark and Hive.
Oracle RAC 12c has been touted as the best release so far and with reason. There have been significant enhancements to scalability and high availability with features such as Flex Clusters, Flex ASM, Application Continuity and Transaction Guard to name a few. While these cool features grab the headlines, there are others that are not highlighted but can make significant impact on DBA productivity.
In this session we will take a second look at some of these features, including operational support enhancements to srvctl, crsctl commands, ADR support for Grid Infrastructure and tools such orachk and tfa. We will also explore some of the new functionality introduced in 12.1.0.2.0.
Jurijs Velikanovs - RAC Attack 101 - How to install 12c RAC on your laptop Andrejs Vorobjovs
RAC Attack provides step-by-step instructions to install an Oracle Real Application Clusters environment on a laptop using Oracle virtualization software and Linux. It is intended as a learning tool and sandbox for experimenting with RAC features. The instructions guide users through creating virtual machines, networks, and storage to replicate a multi-node RAC infrastructure that can then be used to test database installations and configurations. RAC Attack is maintained by the Oracle community and presented at Oracle user group conferences to facilitate learning and networking opportunities among users.
Practical guide to Oracle Virtual environmentsNelson Calero
Virtualization and containers are the technologies that enable isolation of environments running on the same hardware, and can be used in some of the cloud offerings as well as in your local hardware.
This session will introduce you to Vagrant, Ansible, and Docker with examples, showing step by step guides to automatically create and provision virtual Oracle environments using different solutions (no need to code, just to configure existing code).
This document discusses configuring and optimizing Direct NFS (dNFS) for Oracle databases. It provides examples of enabling dNFS on Oracle 11g and 12c, configuring the oranfstab file, setting TCP parameters, and monitoring dNFS performance. It recommends checking that oradism is setuid, increasing buffer sizes, and using tools like v$dnfs_stats to monitor dNFS.
The document describes setting up a two-node Oracle 12c RAC cluster on two Oracle Linux VMs hosted on Oracle VirtualBox. Key steps include:
1. Installing Oracle Linux on VirtualBox and preparing it for the Oracle installation. This includes installing VirtualBox additions, configuring storage and networks, and disabling unnecessary services.
2. Cloning the first node VM to create an identical second node and reconfiguring its storage, networking and hostname.
3. Configuring DNS and hosts files on both nodes to resolve virtual IPs, scan name, and establish connectivity.
4. Installing Oracle Grid Infrastructure for a cluster using the Oracle installer, configuring SCAN name, adding the second
... or why Oracle still cares about CMAN and why you should do it too
The Oracle Connection Manager (CMAN) is the Swiss-army knife for database connections. It can be used for security, routing, high availability, single-point of contact... Starting with Oracle 18c, it has been extended with the new Traffic Director Mode (CMAN TDM), that allows transparent failover for applications that do not implement it natively.
In this session I will introduce briefly what CMAN is capable of, how to configure it in a high availability environment, and how the new release achieves a higher protection level.
This document provides an overview of essential Linux commands and utilities for SQL Server DBAs. It covers topics such as Linux history, users and permissions, file editing and navigation commands like vi, process monitoring with ps and top, and system diagnostic utilities like sar, vmstat, and mpstat. The document aims to teach SQL Server DBAs basic Linux skills to manage their environment and troubleshoot issues.
This document provides information about AST Corporation, an Oracle partner specialized in Oracle technologies. It discusses AST's Oracle certifications and awards. It also lists the Oracle products and services that AST provides support for, including their Oracle Platinum partnership. The remainder of the document describes setting up an Oracle RAC database in a virtualized environment using Oracle VM VirtualBox, including downloading software, installing operating systems on the virtual machines, configuring networking and storage, installing Oracle Grid Infrastructure and the database, and testing the RAC configuration.
Oracle is planning to release Oracle Database 12c in calendar year 2013. The new release will include a multitenant architecture that allows for multiple pluggable databases to be consolidated and managed within a single container database. This new architecture enables fast provisioning of new databases, efficient cloning of pluggable databases, simplified patching and upgrades applied commonly to all pluggable databases, and other benefits that improve database consolidation on cloud platforms.
Oracle 12c RAC On your laptop Step by Step Implementation Guide 1.0Yury Velikanov
The document provides instructions for setting up a two-node Oracle 12c RAC environment within Oracle VirtualBox on a Windows laptop. The main steps include:
1. Configuring VirtualBox with a host-only network and installing Oracle Linux 6 on the first virtual machine.
2. Creating shared virtual disks for the ASM storage and installing Oracle Grid Infrastructure.
3. Cloning the first virtual machine to create the second node, and installing the Oracle 12c database software.
This allows users to test an Oracle 12c RAC sandbox environment locally without requiring additional physical hardware.
Rapid Home Provisioning is a new feature in Oracle Grid Infrastructure 12c R2 that provides a simplified way to provision and patch Oracle software and databases. It uses a centralized management server and golden images stored on ACFS to deploy pre-packaged and patched Oracle homes to client nodes. Administrators can easily create working copies of golden images, deploy databases from the working copies, and seamlessly patch databases by moving them to a working copy based on a newer patched golden image with a single command.
This document provides an overview of various Linux performance monitoring and tuning tools. It discusses tools such as PIDSTAT, DSTAT, NMON, LSOF, and FUSER which can provide process-level insights into CPU, memory, disk and network usage. It also covers more advanced tracing tools like Trace-cmd, perf-tools, and eBPF which utilize capabilities in the Linux kernel for deep performance analysis and troubleshooting. The document emphasizes that these tools present options for system visibility without heavy overhead or specialized knowledge requirements.
Direct NFS allows Oracle database files to be stored on NFS volumes while bypassing the kernel NFS client for improved performance. It establishes direct TCP/IP connections between Oracle processes and the NFS server. The oranfstab file can be used to configure Direct NFS settings instead of relying on /etc/mtab. Troubleshooting Direct NFS can be difficult as Oracle silently falls back to kernel NFS if issues arise. NFS server settings like reserved ports and wtmax size must meet Direct NFS requirements.
Oracle Exadata Performance: Latest Improvements and Less Known FeaturesTanel Poder
This document discusses recent improvements to Oracle Exadata performance, including improved SQL monitoring in Oracle 12c, enhancements to storage indexes and flash caching, and additional metrics available in AWR. It provides details on new execution plan line level metrics in SQL monitoring reports and metrics for storage cell components now visible in AWR. The post outlines various flash cache features and behavior in earlier Oracle releases.
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder
Tanel Poder has been involved in a number of Exadata migration projects since its introduction, mostly in the area of performance ensurance, troubleshooting and capacity planning.
These slides, originally presented at UKOUG in 2010, cover some of the most interesting challenges, surprises and lessons learnt from planning and executing large Oracle database migrations to Exadata v2 platform.
This material is not just repeating the marketing material or Oracle's official whitepapers.
Database Consolidation using the Oracle Multitenant ArchitecturePini Dibask
The document discusses Oracle's Multitenant architecture, which allows multiple pluggable databases (PDBs) to consolidate within a single multitenant container database (CDB). It describes how Multitenant provides advantages like simplified upgrades, cloning, and migration of PDBs. The document also covers ensuring quality of service for PDBs using resource management, and how RAC supports high availability and scalability in a Multitenant environment. It concludes with a discussion of performance monitoring of workloads across PDBs.
Sharing experience implementing Direct NFSYury Velikanov
Direct NFS (dNFS) allows Oracle databases to access NFS-mounted storage directly without going through the kernel. This improves performance by reducing context switches between user and kernel space. The document discusses setting up dNFS including mounting NFS shares, configuring the oranfstab file, and verifying dNFS usage. It also provides an overview of dNFS concepts such as using multiple TCP connections in a round-robin fashion for high throughput and availability.
Real Application Cluster (RAC) allows multiple computers to simultaneously run Oracle RDBMS while accessing a single database, providing clustering. RAC provides high availability, scalability, and ease of administration by making multiple instances transparent to users. Nodes must have identical environments. Oracle Clusterware manages node additions and removals. Instances from different nodes write to the same physical database. The presentation covers RAC architecture, components, startup sequence, single instance configuration, node eviction, and tips for monitoring and improving the RAC environment.
This document discusses Docker and its use for the Douban App Engine (DAE). It covers:
- The history of adopting Docker for DAE applications from 2014 to 2016.
- How DAE uses Docker to build and deploy over 400 application images across different environments.
- Techniques used to optimize the Docker build process and reduce image sizes.
- Integrating Docker with the DAE monitoring, logging, and maintenance systems.
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...DataStax
Connecting Apache Spark to C* is easy, thanks to DataStax Spark Cassandra Connector. But what about Security?
The DSE bring Enterprise security and Kerberos support to C*. Latest Hadoop distribution has Spark support and also support Kerberos. So now you can add a Cassandra to you Hadoop infrastructure with integrated security and build reliable speed level and streaming applications by combining data from both worlds.
This presentation will show all that fun around security configurations
1. DSE client with SSL and Kerberos
2. Connect from Hadoop Spark to DSE
3. Connect DSE Spark to HDFS sources.
4. And all above even with Widows DC :)
About the Speaker
Artem Aliev Software Developer, DataStax
Artem Aliev is a software developer in the DataStax Analytics team. He works on integrating C* database with analytics solution like Spark and Hive.
Oracle RAC 12c has been touted as the best release so far and with reason. There have been significant enhancements to scalability and high availability with features such as Flex Clusters, Flex ASM, Application Continuity and Transaction Guard to name a few. While these cool features grab the headlines, there are others that are not highlighted but can make significant impact on DBA productivity.
In this session we will take a second look at some of these features, including operational support enhancements to srvctl, crsctl commands, ADR support for Grid Infrastructure and tools such orachk and tfa. We will also explore some of the new functionality introduced in 12.1.0.2.0.
Jurijs Velikanovs - RAC Attack 101 - How to install 12c RAC on your laptop Andrejs Vorobjovs
RAC Attack provides step-by-step instructions to install an Oracle Real Application Clusters environment on a laptop using Oracle virtualization software and Linux. It is intended as a learning tool and sandbox for experimenting with RAC features. The instructions guide users through creating virtual machines, networks, and storage to replicate a multi-node RAC infrastructure that can then be used to test database installations and configurations. RAC Attack is maintained by the Oracle community and presented at Oracle user group conferences to facilitate learning and networking opportunities among users.
Practical guide to Oracle Virtual environmentsNelson Calero
Virtualization and containers are the technologies that enable isolation of environments running on the same hardware, and can be used in some of the cloud offerings as well as in your local hardware.
This session will introduce you to Vagrant, Ansible, and Docker with examples, showing step by step guides to automatically create and provision virtual Oracle environments using different solutions (no need to code, just to configure existing code).
This document describes how to install Oracle 10g RAC on Linux using NFS for shared storage. Key steps include:
1. Installing Oracle Enterprise Linux on two nodes and configuring networking and prerequisites.
2. Setting up NFS shares on one node for shared file systems and disks.
3. Installing the Oracle Clusterware software and configuring the two-node cluster.
Creating an Oracle Database 18c Docker image discusses building a Docker image with Oracle Database 18c. The document covers Docker concepts like images, containers, and commands. It then provides steps to install Docker, pull an existing Oracle Database image, build a custom image from source, and run the Oracle Database within a Docker container.
The document discusses Docker and Linux containers. It begins with an overview of traditional server virtualization compared to containers. Containers provide isolation at the process level using kernel namespaces for resources like filesystem, network, users and CPUs. Docker uses device mapper thin provisioning to manage disk images for container filesystems and the networking and cgroups APIs to isolate other resources.
Docker containers provide isolation at the system resource level using namespaces and control groups. This allows each container to run applications packaged with dependencies without conflict. Docker solves issues around dependency management and allows for fast iterative development. To use Docker, a container-enabled kernel is needed along with installing Docker on Windows or Linux. Images contain application code and dependencies and are obtained from Docker Hub or built locally. Docker Compose allows defining multi-container applications and their dependencies. Security with Docker includes capability dropping, namespaces, and profiles with AppArmor and SELinux to control access. Trusted registries and image scanning help ensure secure images.
This document discusses Docker, an open source project that automates the deployment of applications inside software containers. It begins by describing common problems in application deployment and how virtual machines address some issues but introduce overhead. It then summarizes the history and rapid growth of Docker since its launch in 2013. The rest of the document dives into technical aspects of Docker like how images and containers work, comparisons to virtual machines, security considerations, the Docker workflow, and how Docker relates to DevOps and continuous delivery practices.
http://2016.foss4g.org/talks.html#146
Docker is a growing open-source platform for building and shipping applications as cloud services in so called containers. But containers can be more than that! Following the idea of DevOps, Dockerfiles are a complete scripted definition of an application with all it's dependencies, which can be build and published as ready to use images. As each container is only running "one thing" (e.g. one application, one database, a worker instance), multiple containers can be configured with the help of docker-compose.
More and more geospatial open source projects or third parties provide Dockerfiles. In this talk, we try to give an overview of the existing Docker images and docker-compose configurations for FOSS4G projects. We report on test runs that we conducted with them, informing about the evaluation results, target purposes, licenses, commonly used base images, and more. We will also give a short introduction into Docker and present the purposes that Docker images can be used for, such as easy evaluation for new users, education, testing, or common development environments.
This talk integrates and summarizes information from previous talks at FOSS4G and FOSSGIS conferences, so I'd like to thank Sophia Parafina, Jonathan Meyer, and Björn Schilberg for their contributions.
This document discusses Docker best practices and provides an overview of deploying Alfresco Content Services using Docker containers. It begins with 8 best practices for working with Docker, such as packaging a single application per container and building the smallest possible image. It then covers a Docker hands-on lab and demonstrates deploying Alfresco using Docker Compose for local development. The document compares standard installation to using Docker images and discusses the Alfresco Content Services packaging repositories.
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
In less than two years Docker went from first line of code to major Open Source project with contributions from all the big names in IT. Everyone is excited, but what's in for me - as a Dev or Ops? In short, Docker makes creating Development, Test and even Production environments an order of magnitude simpler, faster and completely portable across both local and cloud infrastructure. We will start from Docker main concepts: how to create a Linux Container from base images, run your application in it, and version your runtimes as you would with source code, and finish with a concrete example.
This document provides an overview of Docker, explaining that Docker is an engine that sits between the OS and containers to enable rapid application deployment. It describes Docker components like images, containers, and repositories. Images are templates used to deploy containers, with images built from Dockerfiles that define layers. The document highlights that containers are stateless, and various strategies for handling configuration files. It also notes drawbacks like containers being read-only, and tips like using base images and keeping the firewall on.
Summary of the lessons we learned with Docker (Dockerfile, storage, distributed networking) during the first iteration of the AdamCloud project (Fall 2014).
The AdamCloud project (part I) was presented here:
http://www.slideshare.net/davidonlaptop/bdm29-adamcloud-planification
This document discusses how Docker can be used to improve Drupal development. Some of the key benefits mentioned include:
- Setting up new projects and environments is much faster
- Developers can have consistent environments that match production
- Complex stacks with multiple services are easier to configure and maintain
- Upgrades to dependencies like PHP versions are simpler
The document provides examples of using Docker Compose files and custom images to build development, testing, and production environments for Drupal projects with services like MySQL, Solr, Redis, and more. It also demonstrates some tools developed by the author's company to help automate common tasks within Docker environments.
This document provides an overview of Docker and containers. It begins with a brief introduction to 12 Factor Applications methodology and then defines what Docker is, explaining that containers utilize Linux namespaces and cgroups to isolate processes. It describes the Docker software and ecosystem, including images, registries, Docker CLI, Docker Compose, building images with Dockerfile, and orchestrating with tools like Kubernetes. It concludes with a live demo and links to additional resources.
Accelerate your software development with DockerAndrey Hristov
Docker is in all the news and this talk presents you the technology and shows you how to leverage it to build your applications according to the 12 factor application model.
Automate drupal deployments with linux containers, docker and vagrant Ricardo Amaro
This document discusses strategies for automating Drupal deployments using Linux containers, Vagrant, and Docker. It begins with an overview of virtual machines and their disadvantages compared to containers. It then covers using Linux containers (LXC), Vagrant, and Docker to build and deploy containerized Drupal environments that can be easily reproduced and deployed across different systems. The document provides examples of building Drupal containers using LXC, Vagrant, and Docker that take advantage of their portability and reproducibility.
This document provides an introduction to Docker including Docker vocabulary, architecture, file systems, networking, volumes, registry services like Docker Hub, and clustering technologies like Docker Swarm, Kubernetes and Mesos. It also covers setting up a local Docker environment, building Docker images with Dockerfiles, running containers, and deploying containers on AWS EC2 Container Service.
The document discusses Dockerizing Oracle Database. It provides an overview of Docker, describes how to install Docker, build an Oracle Database Docker image, and run an Oracle Database inside a Docker container. It also outlines tips and tricks. The key steps are: installing Docker on Linux, downloading build files and the Oracle installer, building the Docker image using a script, and running the image with a simple Docker run command to start an Oracle database instance in a container.
This document provides examples of using different format parameters with the DBMS_XPLAN.DISPLAY_CURSOR procedure to customize the output. Key information displayed includes execution statistics, predicates, projections, outlines, and indications of adaptive plans.
19 features you will miss if you leave Oracle DatabaseFranck Pachot
Today, the choice of the database technology is in the hands of the developers, and Open Source alternatives look appealing. Many talks and papers show the growing features of MySQL or PostgreSQL, which competes with the commercial RDBMS. But do not forget the core features that are there for decades. They may not be there, or less efficient, in those alternative solutions. Let’s show those basic features, with demos: in-place updates, cursor sharing, guaranteed disk writes, advanced materialized views, IOT, wait events, online operations,… Many were already in Oracle 30 years ago and we take them for granted. We may not realize what we will miss when going to another RDBMS.
Il y a souvent des difficultés dans la communication entre les équipes d’exploitation et les équipes
de développement. Les enjeux ne sont pas les mêmes: les uns ont pour mission de stabiliser
le système, les autres au contraire de le faire évoluer. Ces incompréhensions sont encore plus
fortes avec les équipes BI, car les bases BI ont des besoins très différents des applications traditionnelles.
En expliquant ces différences, j’espère amener à une meilleure compréhension entre
les équipes. C’est aussi l’occasion de parler des technologies récentes qui adressent les besoins
BI: Exadata, In-Memory, réplication temps réel,…
Oracle In-Memory option to improve analytic queries
In-Memory is now the trend for database editors. But they do not implement in-memory storage for the same reason nor the same architecture. Oracle In-Memory option directly addresses BI reporting. Oracle has always favored an hybrid approach where we can query the OLTP database (from Oracle 6 the reads do not block the writes) and the In-Memory approach follows the same philosophy: run efficient analytic queries on OLTP databases. Their first approach to columnar storage was bitmap indexes in 8i, which were very efficient to support ad-hoc queries but not compatible with an OLTP workload. Then came the Exadata SmartScan and Hybrid Columnar Compression that was still addressing datawarehouses load and reporting.
The 12c In-Memory option now gives columnar and in-memory efficiency directly on the OLTP database, without changing any design or code. A demo will show how this option can be used.
Testing Delphix: easy data virtualizationFranck Pachot
The document summarizes the author's testing of the Delphix data virtualization software. Some key points:
- Delphix allows users to easily provision virtual copies of database sources on demand for tasks like testing, development, and disaster recovery.
- It works by maintaining incremental snapshots of source databases and virtualizing the data access. Copies can be provisioned in minutes and rewound to past points in time.
- The author demonstrated provisioning a copy of an Oracle database using Delphix and found the process very simple. Delphix integrates deeply with databases.
- Use cases include giving databases to each tester/developer, enabling continuous integration testing, creating QA environments with real
The document summarizes how SQL Plan Directives in Oracle 12c can help address issues caused by cardinality misestimation in the optimizer. It provides an example where the optimizer underestimates the number of rows returned by a query on a table due to not having statistics on correlated columns. In 12c, a SQL Plan Directive is automatically generated after the first execution to capture this misestimation. On subsequent queries, the directive can be used to provide more accurate cardinality estimates through automatic reoptimization or dynamic sampling.
Star Transformation, 12c Adaptive Bitmap Pruning and In-Memory optionFranck Pachot
Besides adaptive joins and adaptive parallel distribution, 12c comes with Adaptive Bitmap Pruning. I’ll describe the case it applies to and which is often not well known: the Star Transformation
CBO choice between Index and Full Scan: the good, the bad and the ugly param...Franck Pachot
Usually, the conclusion comes at the end. But here I will clearly show my goal: I wish I will never see the optimizer_index_cost_adj parameters again. Especially when going to 12c where Adaptive Join can be completely fooled because of it. Choosing between index access and full table scan is a key point when optimizing a query, and historically the CBO came with several ways to influence that choice. But on some system, the workarounds have accumulated one on top of the other – biasing completely the CBO estimations. And we see nested loops on huge number of rows because of those false estimations.
Oracle Parallel Distribution and 12c Adaptive PlansFranck Pachot
Parallel Distribution and 12c Adaptive Plans
In the previous newsletter we have seen how 12c can defer the choice of the join method to the first execution. We considered only serial execution plans. But besides join method, the cardinality estimation is a key decision for parallel distribution when joining in parallel query. Ever seen a parallel query consuming huge tempfile space because a large table is broadcasted to lot of parallel processes? This is the point addressed by Adaptive Parallel Distribution.
Once again, that new feature is a good occasion to look at the different distribution methods.
Oracle Join Methods and 12c Adaptive PlansFranck Pachot
Join Methods and 12c Adaptive Plans
In its quest to improve cardinality estimation, 12c has introduced Adaptive Execution Plans which deals with the cardinalities that are difficult to estimate before execution. Ever seen a hanging query because a nested loop join is running on millions of rows?
This is the point addressed by Adaptive Joins. But that new feature is also a good occasion to look at the four possible join methods available for years.
The document discusses various data modification operations and how much redo is generated for each. It shows that inserts, deletes, updates, and DML on indexed tables can generate significant redo, while direct path inserts on NOLOGGING tables can minimize redo generation. The document also explains why some redo is always needed even for temporary changes, to support functions like media recovery and standby databases.
Exadata X3 in action: Measuring Smart Scan efficiency with AWRFranck Pachot
Exadata comes with new statistics and wait events that can be used to measure the efficiency of its main features (Smart
Scan offloading, Storage Indexes, Hybrid Columnar Compression and Smart Flash Cache).
The goal of this article is not to compare Exadata with any other platforms, but rather to help understand the few basic
statistics that we must know in order to evaluate if Exadata is a good solution for a specific workload, and how to
measure that the Exadata features are well used.
We will cover those few statistics from the ‘Timed events’ and ‘System Statistics’ sections of the AWR report.
This document discusses Oracle table lock modes, including:
- There are 6 lock modes including share (S) and exclusive (X) that have multiple names like row share (RS) and row exclusive (RX).
- Locks can be acquired at the table level (TM locks) or row level (TX locks). TM locks can be in row share/exclusive modes.
- Share locks allow concurrent access while exclusive locks prevent it. Understanding these lock types helps explain Oracle's lock compatibility matrix.
Reading AWR or Statspack Report - Straight to the GoalFranck Pachot
The document discusses the benefits of meditation for reducing stress and anxiety. Regular meditation practice can help calm the mind and body by lowering heart rate and blood pressure. Studies have shown that meditating for just 10-20 minutes per day can have significant positive impacts on both mental and physical health over time.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Tatiana Kojar
Skybuffer AI, built on the robust SAP Business Technology Platform (SAP BTP), is the latest and most advanced version of our AI development, reaffirming our commitment to delivering top-tier AI solutions. Skybuffer AI harnesses all the innovative capabilities of the SAP BTP in the AI domain, from Conversational AI to cutting-edge Generative AI and Retrieval-Augmented Generation (RAG). It also helps SAP customers safeguard their investments into SAP Conversational AI and ensure a seamless, one-click transition to SAP Business AI.
With Skybuffer AI, various AI models can be integrated into a single communication channel such as Microsoft Teams. This integration empowers business users with insights drawn from SAP backend systems, enterprise documents, and the expansive knowledge of Generative AI. And the best part of it is that it is all managed through our intuitive no-code Action Server interface, requiring no extensive coding knowledge and making the advanced AI accessible to more users.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
2. Who am I?
Franck Pachot
Data Engineer at CERN
• Twitter @FranckPachot
• Medium: https://medium.com/@FranckPachot
• Blog Databases at CERN: db-blog.web.cern.ch/
04.12.2018 Franck Pachot - Oracle on Docker 2
3. Oracle
Database
on Docker
04.12.2018 Franck Pachot - Oracle on Docker 3
lightweight ephemeral isolated
containers to run applications
persistent != ephemeral
shared != isolated
data != application
8GB Oracle Home != lightweight
+ 1GB for an empty database
4. Why running Oracle on Docker?
Because:
• “Docker is cool”
• “We run everything on Docker”
• “We do that with PostgreSQL, MySQL and we just want to do the same”
• “We don’t want to waste time in installation”
This has nothing to do with a solution to try to solve a problem 🤔
04.12.2018 Franck Pachot - Oracle on Docker 4
5. Build or run from existing?
Docker Hub:
• Oracle does not allow to distribute the software.
• You pay for all CPU where the software is installed
• So, except for Oracle XE, just forget it
Docker Store:
• Here you accept once and can pull the official image
docker login
• but look at the image…
04.12.2018 Franck Pachot - Oracle on Docker 5
6. Docker Store
The image is just a tar of Oracle Home and tar of Database:
# docker run -p 0.0.0.0:9001:1521 store/oracle/database-enterprise:12.2.0.1
…
untar DB bits ......
log file is : /home/oracle/setup/log/untarDB.log
untarDB.sh is done at 230 sec
…
Scripts in /home/oracle/setup Software in /tmp/dbsetup/dbtar
[oracle@523de29307ed setup]$ du -ha /tmp/dbsetup/dbtar
2.1G /tmp/dbsetup/dbtar/db12.2.0.1.0.tar.gz
573M /tmp/dbsetup/dbtar/dbf_12201.tar.gz
2.6G /tmp/dbsetup/dbtar
04.12.2018 Franck Pachot - Oracle on Docker 6
7. Docker Store
Oracle has its own repository: https://container-registry.oracle.com
• You login with your Oracle account and accept the licence
# docker login container-registry-frankfurt.oracle.com
Username: my-oracle-sso@pachot.net
Password:
# docker pull container-registry-frankfurt.oracle.com
/database/enterprise:12.2.0.1
04.12.2018 Franck Pachot - Oracle on Docker 7
8. racle build scripts
Maintained by Oracle, multiple versions, even RAC
https://github.com/oracle/docker-images/tree/master/OracleDatabase
But you need to download the installation .zip, send it to the context
(5GB), unzip… And at ‘docker run’ you will wait 15 minutes for the
database creation.
Good to test your config, but try to give that to your developers and you
will understand that you need to be more creative…
04.12.2018 Franck Pachot - Oracle on Docker 8
9. Containers
Docker container is process isolation
Namespaces
• Processes (PID)
• Networking (port)
• Filesystem (chroot)
Resources
• cgroups (control groups)
Security
• seccomp (security profiles)
https://jvns.ca/blog/2016/10/10/what-even-is-a-container
04.12.2018 Franck Pachot - Oracle on Docker 9
1982: chroot
2000: Freebsd jails
2001: Linux vserver
2004: Solaris zones
2005: OpenVZ
2008: LXC
2010: Systemd-nspawn
2013: Docker
12. Layers…
Docker builds images as layers
• you pull an existing image
• you add layers for the build steps, components, options, updates…
• very easy to maintain: any change starts from previous layer
Once built, all image layers are read-only and can be shared
A container (created by ‘docker run’) reads from the image
and adds a read-write layer to run the application
04.12.2018 Franck Pachot - Oracle on Docker 12
13. Layers…
04.12.2018 Franck Pachot - Oracle on Docker 13
my runtime environment
my updated libraries
my additional option
my configuration files
my software libraries
my OS prerequisites
My base
image
Read-Write
Read-Only
14. Oracle Software
04.12.2018 Franck Pachot - Oracle on Docker 14
The distribution
.zip (or .rpm)
The Oracle Home
with many files used only for
install, create, relink,…
15. Tips to build the image
• send the context only once
- next layers on a new Dockerfile, or use ADD from a NFS server container
• long operations, access to internet,… in first steps
- all yum updates on first step, rm /var/cache/yum at the end
• use layers for better agility
- filesystem with compression, maybe deduplication
• shrink all that at the end (COPY --from= or docker commit)
you can try experimental build --squash (I’m not convinced)
• Goal: have a small image with fast docker run
04.12.2018 Franck Pachot - Oracle on Docker 15
16. Multiple stage build
The Dockerfile to send the 3.6 GB context
FROM oraclelinux:7-slim
WORKDIR /var/tmp
ADD oracle-database-xe-18c-1.0-1.x86_64.rpm .
# docker image build -t franck/oraclexe18c:rpm .
Another Dockerfile to update the packages
FROM franck/oraclexe18c:rpm
USER root
WORKDIR /var/tmp
RUN yum install -y oracle-database-preinstall-18c
RUN ORACLE_DOCKER_INSTALL=true yum -y localinstall oracle-datab*.rpm .
RUN rm oracle-database-xe-18c-1.0-1.x86_64.rpm
04.12.2018 Franck Pachot - Oracle on Docker 16
17. The storage driver
People are lazy and take the default (overlay2)
But what we do here is the opposite of the default Docker usage
Overlay2 copies the whole file when one byte is changed or appended
For big containers, you need copy-on-write at block level
• zfs is a good choice for high-density workloads such as PaaS.
• BTRFS does CoW at block level, as ZFS
• compression? de-duplication?
04.12.2018 Franck Pachot - Oracle on Docker 17
18. 04.12.2018 Franck Pachot - Oracle on Docker 18
0
5
10
15
20
25
30
35
40
45
0
10
20
30
40
50
60
70
80
90
(blank)
lzo
(blank)
dedup
compress
compressdedup
(blank)
dedup
compress
compressdedup
(blank)
dedup
compress
compressdedup
(blank)
dedup
compress
compressdedup
(blank)
dedup
compress
compressdedup
btrfs zfs 128k zfs 32k zfs 16k zfs 8k zfs 2k
Average of Gbytes Average of Build(min) Average of Run(min)
Imagesize(Gbytes)
build/runtime(minutes)
ZFS vs. BTRFS
19. Which OS to run on?
Doc ID 2216342.1
• Oracle Linux 7 with UEK4 (and later)
• Red Hat Enterprise Linux 7
But actually, do you have the choice?
• Your container environment is not dedicated to Oracle database
- OpenShift cluster
- Developer Laptop
• You will have hard time to get the best OS and FS for Oracle Database
04.12.2018 Franck Pachot - Oracle on Docker 19
20. Oh… and about where to run…
Licensing in processor metric
• you pay Oracle for all processors
(cores in EE, Socket in SE2)
in the physical servers your containers may run
Licensing in NUP+ metric
• You still count the processors for the minimum NUP
- 25 NUP per processor (0.5 Intel Core) in EE
- 10 NUP per server in SE2
Do you still want to run Oracle on Docker?
04.12.2018 Franck Pachot - Oracle on Docker 20
21. Install Docker on Centos 7.5
yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
==========================================================================
Package Arch Version Repository Size
==========================================================================
Installing:
docker-ce x86_64 3:18.09.0-3.el7 docker-ce-stable 19 M
Installing for dependencies:
container-selinux noarch 2:2.68-1.el7 extras 36 k
containerd.io x86_64 1.2.0-3.el7 docker-ce-stable 22 M
docker-ce-cli x86_64 1:18.09.0-3.el7 docker-ce-stable 14 M
libtool-ltdl x86_64 2.4.2-22.el7_3 base 49 k
systemctl enable docker ; systemctl start docker
04.12.2018 Franck Pachot - Oracle on Docker 21
22. Install BTRFS on Centos 7.5
yum install btfrs-progs
mkfs.btrfs -f /dev/sdc
mkdir /mnt/docker-root-btrfs
mount -t btrfs –o compress=lzo /dev/sdc /mnt/docker-root-btrfs
# set this filesystem as docker root (default is /var/lib/docker)
systemctl stop docker
sed -ie
'/ExecStart/s?dockerd.*?dockerd --data-root=/mnt/docker-root-btrfs?'
/lib/systemd/system/docker.service
systemctl start docker
docker info | grep Root
04.12.2018 Franck Pachot - Oracle on Docker 22
23. Image is built, but …
04.12.2018 Franck Pachot - Oracle on Docker 23
Happy to give a 8GB to the developers… which takes 5 minutes to run?
# docker run container-registry…/enterprise:12.2.0.1 2>&1 | ts
Nov 17 22:40:00 Setup Oracle Database
…
Nov 17 22:45:18 Completed: alter pluggable database ORCLPDB1 open
And each container takes a few GB non shareable 🤔
# docker container ps -as
CONTAINER ID IMAGE SIZE
6265a4c28128 …/enterprise:12.2.0.1 4.81GB (virtual 8.24GB)
24. .dbf in image or external volume?
If we create the database in the image, at build
- it is not persistent (containers should be ephemeral)
- but docker run is fast (instance startup only)
- ok for CI Unit Testing, not for Development database
If the database is in external volume (docker volume or dNFS)
- can be shared in the cluster, is backed-up
- but takes several minutes to start and is very large
The problem: not easy split of software between image and container
04.12.2018 Franck Pachot - Oracle on Docker 24
25. Where is the oracle software?
04.12.2018 Franck Pachot - Oracle on Docker 25
Docker should be software as container layers, data in external volume
ORACLE_HOME host directory
• the binaries (bin/oracle, lib/libserver18.so)
• some other files
• exclusively software in 18c Read-Only Oracle Home
shipped: as 8GB
useful: 300MB
SYSTEM/SYSAUX tablespaces
• the dbms packages, the dictionary views
• there is also non-software in those datafiles
shipped: as 600GB
26. Where is the database?
04.12.2018 Franck Pachot - Oracle on Docker 26
The mix of software (binaries) with data/metadata (configuration files,
log, audit, statistics,…) has evolved slowly:
• Read-Only Oracle Home in 18c
• Multitenant in 12c
But CDB$ROOT SYSTEM/SYSAUX tablespace does not only contain
software. We need a Read-Only SYSTEM tablespace!
3 ideas depending on the context…
28. 1. CloneDB to write in sparse files
04.12.2018 Franck Pachot - Oracle on Docker 28
My 1st idea was to create the database in the container, set it read-only,
and have copy-on-write sparse files in external volume
• controlfile and redologs in volume as well
• works in multitenant 12c but not in 18c:
SQL> exec for i in (select name from v$datafile) loop
dbms_dnfs.clonedb_renamefile(i.name,i.name||'.cow'); end loop;
*
ERROR at line 1:
ORA-17644: clonedb_renamefile interface is not supported in a multitenant
container database.
ORA-06512: at "SYS.X$DBMS_DNFS", line 10
29. 2. Multitenant: CDB in the image
04.12.2018 Franck Pachot - Oracle on Docker 29
CDB
CDB$
ROOT
PDB$
SEED
PDB
PDB_APP1:USER_DATA1
PDB_APP1:SYSAUX
PDB$SEED:SYSAUX
PDB$SEED:SYSTEM
CDB$ROOT:UNDO
CDB$ROOT:SYSAUX
CDB$ROOT:SYSTEM
PDB_APP1:SYSTEM
control file
online redo logs
Dockerimage
Externalvolume
30. 2. Multitenant: CDB in the image
04.12.2018 Franck Pachot - Oracle on Docker 30
In multitenant, pluggable databases is what contains only user data
• this belongs to external volume
Can we create CDB$ROOT in the image?
• docker run will only CREATE PLUGGABLE DATABASE (fast & small)
- or plug and datapatch if the volume contains an unplugged PDB (.xml)
• docker stop will unplug the PDB, docker start will plug it
• docker kill will try to unplug the PDB.
• but a crash will need to start with the same container to recover it
- because consistency requires the CDB with redo log
32. 3.Docker container + Multitenant
04.12.2018 Franck Pachot - Oracle on Docker 32
If the goal of the developer is to have a small fast container
• you can host the databases as PDBs in a CDB (can be Cloud)
- see it as an external volume
• you provide a small container to create/start /stop/kill
- which will do the CREATE/OPEN/CLOSE/DROP pluggable database calls
• The container may provide a connection proxy (ssh tunnel? CMAN?)
• The PDB can also be a Cloud service
33. Core Message
• Docker is not intended for Oracle Database
Oracle Database is not intended for Docker
- mismatch in all areas: install, deploy, store, run, operate, license…
• Some (unsupported) solutions may exist:
- first define a clear goal, and adapt to it,
“we want to run on Oracle on Docker” is not a requirement
• Multitenant: Pluggable Databases are the containers for databases
04.12.2018 Franck Pachot - Oracle on Docker 33
34. • Tim Hall (oracle-base.com)
- https://oracle-base.com/articles/linux/docker-oracle-database-on-docker
• Frits Hoogland (Dockerfile using Maris Elsins getMOSPatch.sh)
- https://fritshoogland.wordpress.com/2015/08/11/installing-the-oracle-database-in-docker/
• Gerald Venzl
- https://www.slideshare.net/gvenzl/dockerizing-oracle-database
• Tech18:
04.12.2018 Franck Pachot - Oracle on Docker 34
#PASSTHEKNOWLEDGE