SlideShare a Scribd company logo
© Pythian Services Inc 2023 | Confidential
Oracle database
automation guide
Nelson Calero
Principal Consultant
Pythian
Oracle Community Tour LATAM 2023
July 27th - August 16th
Pythian Services Inc | 2
Nelson Calero
Pythian Principal Consultant
● 20+ years Database experience
● Community Volunteer
LinkedIn: http://www.linkedin.com/in/ncalero
Twitter: @ncalerouy
Pythian Services Inc | 3
Solutions designed to power the value of your data.
Solution that maximize
the entire data state
Data & Analytics CloudOps Applications
Data & Analytics Consulting
Database Services
Cloud Data Platform Services
Data Insights & Advanced Analytics
Cloud Migrations
Cloud Management InfraOps / FinOps
Google Cloud
DevOps CI/CD
Oracle EBS
SAP
Collaboration & Workspace
Application Development, Migration
& Refactoring
Wherever your data and
applications reside
No matter what platform
you choose
Public Cloud
Hybrid Cloud
On Premises
Pythian Services Inc | 4
25
Years in Business
420+
Experts across every Data Domain & Technology
400+
Global Customers
3 membership tiers
Connect
:
@oracleace
Facebook.com/OracleACEs
aceprogram_ww@oracle.com
500+ technical experts
helping peers globally
The Oracle ACE Program recognizes and
rewards community members for their technical and
community contributions to the Oracle community
Nominate
yourself or someone you
know:
ace.oracle.com/nominate
For more details on Oracle ACE Program:
ace.oracle.com
Pythian Services Inc | 6
Motivation
- Mandatory now, it was desirable in the past
- Variety of tools and complexities
- Maintenance effort is usually underestimated
- Part of my daily work in the last years
Today’s examples using Ansible (avoiding another
Ansible intro session)
Pythian Services Inc | 7
A possible approach to the topic
● The Role of Automation in Database Administration
● Automation Tools and Technologies
● Automating Database Provisioning and Configuration
● Automation in Backup and Recovery
● Automating Performance Monitoring and Tuning
● Automation in Patching and Upgrades
● Automating Security and Compliance
● Implementing Continuous Integration and Delivery
● Tips for Successful Automation
● Case Study: Real-World Automation Success Story
● Future Trends in Oracle Database Automation
Pythian Services Inc | 8
What I will focus today
● The Role of Automation in Database Administration
● Automation Tools and Technologies
● Automating Database Provisioning and Configuration
● Automation in Backup and Recovery
● Automating Performance Monitoring and Tuning
● Automation in Patching and Upgrades
● Automating Security and Compliance
● Implementing Continuous Integration and Delivery
● Tips for Successful Automation
● Case Study: Real-World Automation Success Story
● Future Trends in Oracle Database Automation
1. Quick introduction
a. Typical database admin tasks
b. Tools
c. Platforms & services
2. Automation examples from experience
a. Database provisioning
b. Database Patching
3. Other examples
4. Challenges and future
Pythian Services Inc | 9
Introduction
Oracle database tools
+ features
+ DBA tasks
+ automation tools
+ platforms
+ approaches
Pythian Services Inc | 10
Pythian Services Inc | 11
Oracle database tools and features
Oracle database has many:
● Oracle provided tools automating complex tasks
○ RMAN, FPP, Autoupgrade, AHF (CHM, Orachk, etc.), OEM, …
● APIs to automate the use of features
○ Rest API, Tools CLIs, Services APIs
● Features performing complex tasks with several internal steps
○ You name it. Some examples: Query optimizer, DBMS_* packages
Most tools and features have enough complexity to spend this session in only one, exploring how it
works, edge cases, exceptions and ways to avoid them (workarounds).
I have already covered many over the last 10 years - https://www.slideshare.net/ncalero
- RAC - Exadata - OCI CLI
- RMAN - ExaCS - Virtualization
- DBMS_Redefinition - OMC - Terraform
- SPM - FGA - Kubernetes
- FPP - SSL
Pythian Services Inc | 12
Automation tools
Many tools to automate tasks. Examples:
● Ansible
● Terraform
● Terragrunt
● Jenkins
● Liquibase
● Git
Many related tools, as:
● Git (version control)
● VirtualBox (virtualization)
● Docker (containers)
● Kubernetes (containers)
● Monitoring and Alerting tools (third party,
cloud native)
● Scripting (eg: Bash)
● Programming languages (Python, Go, ..)
Pythian Services Inc | 13
Operational (repetitive tasks)
- Keeping the lights on (infrastructure)
- Backups, monitoring, alerting,
retention policies, security policies, …
- Application requests
- Schema and data management
- Patching and upgrades (security)
- RUs, DB versions, Infra upgrades,
- …
Consulting (one time task)
- Data modelling (ex: for new apps)
- Design for HA, DR, scale, regulations, etc.
- Integrations (APIs, etc.)
Oracle DBA typical tasks
Words from the Oracle Database Administrator’s Guide 19c index
Pythian Services Inc | 14
Database platforms
● Cloud services include their own automations
○ Managed (DBaaS) means our work focus on usage (new tools, service logs, tool logs)
○ DevOps tools and plug-ins with OCI:
https://docs.oracle.com/en-us/iaas/Content/API/Concepts/devopstools_topic-DevOps_Tools_and_Plugins.htm
● Specialized hardware also have their own features and tools
○ Exadata, ODA, ZDLRA
Pythian Services Inc | 15
Initial steps
1 - Master the process to be automated
- Follow Oracle recommendations
- Execute it manually many times
- Learn how to deal with failures
- Explore unexpected results
- Define the scope (versions, options, etc.)
2 - Code the execution
- Execute without manual intervention
- Include parameters to make it Reusable
- Choose the right tool/language
4 - Introduce Changes
- New versions of software to use
- Changes/New parameters
3 - Test
- Cover all variables possible values
- Include failures and how to resume
Manual
executions
Script
executions Test
automation
New
versions
Pythian Services Inc | 16
Keys in this process
● Follow Oracle recommendations
● Get familiar with the process in hand
● Pick the right tool
● Test the automation. A lot
Pythian Services Inc | 17
Keys in this process
● Follow Oracle recommendations
● Get familiar with the process in hand
○ You need to know if there are problems with the automation or with the task executed
○ Generate failures, explore unexpected results, learn how to fix them
● Pick the right tool
○ Combination of CLIs for Oracle provided tools, scripts, Ansible (or similar) to have a
playbook with steps, Terraform (or similar) to create the required infrastructure
○ Choose tools based on team experience - pushing a shift in direction is another discussion.
■ Example: why Ansible if everything is being done with Chef?
● Test the automation. A lot
○ More than with manual executions - need to cover all the code paths and decisions
○ Generate errors, learn how to deal with them, improve the code
○ Implement validations to avoid known issues, adding clear messages
Pythian Services Inc | 18
Examples from experience
● Database provisioning
○ Ansible, OCI, Terraform
● Database Patching
○ Ansible, OCI
Pythian Services Inc | 19
Example: Database provisioning
Ansible in one slide:
● Install binaries in a control machine (Windows not supported)
● No agent – uses ssh to connect to remote machines
● Inventory to define machines to use - /etc/ansible/hosts
● Playbook: used for configuration, deployment, and orchestration
○ YAML format
○ tags and actions to execute
○ conditional control: when, loop, until
○ this is the main code to keep under source control
● Modules describing resources and desired state
○ Created by us or built-in modules: http://docs.ansible.com/modules_by_category.html
○ Can be executed directly or inside playbooks
Pythian Services Inc | 20
Example: Database provisioning
Define clearly what do you want to do
● Where?
○ On-prem, OCI, Exadata?
● Which version?
○ Availability of features, deployment options, tools and parameters differ with versions
● Which components?
○ Single instance, RAC, RAC one-node, ASM, Data guard, etc.
● Create a database or just install software?
○ CDB or PDB?
○ Using dbca templates, RMAN or scripts?
○ Register the database with OEM or other monitoring tool?
○ Configure backup scripts?
● To be used with empty servers, or looking to apply it to servers already running Oracle?
○ Create a new database if the home exists?
○ Always create a new Oracle home?
Pythian Services Inc | 21
Example: Database provisioning - OCI
● OCI DBaaS is easy - single command, multiple tools and code examples
○ Terraform OCI provider:
https://github.com/oracle/terraform-provider-oci/tree/master/examples/database
○ Ansible Collection (replaces old Ansible modules from Oracle):
https://github.com/oracle/oci-ansible-collection/tree/master/samples/database
○ OCI CLI:
https://github.com/oracle/oci-cli/blob/master/services/database/examples_and_test_scripts/database_launch_dbsystem_exa
mple.sh
● Common parameters and errors (OCI CLI, Terraform):
○ https://www.slideshare.net/ncalero/automate-your-oracle-cloud-infrastructure-operations-v20-oow19
$ oci db system launch --from-json file://db-ioug-ad1-2n.json
Pythian Services Inc | 22
Example: Database provisioning - on-prem
Need to start from scratch or already have a solution?
● Oracle Fleet Provisioning and Patching - https://oracle.com/goto/fpp.
○ Complete solution from Oracle, proprietary
○ Oracle LiveLab - https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=599
○ My slides from few years ago:
https://www.slideshare.net/ncalero/automate-oracle-database-patches-and-upgrades-using-fleet-provisioning-and-patching
● Several community Ansible modules
○ https://github.com/oravirt/ansible-oracle-modules - Oldest active and complete repo
○ https://github.com/iarsov/ansible-orapatch - 12c old repo
○ https://github.com/google/bms-toolkit - Oracle SI and 2 node RAC deployments and patching
Pythian Services Inc | 23
Example: Database provisioning - on-prem
DEMO: using our in-house Ansible playbook
$ tree
.
├── LICENSE
├── PYTHIAN-LICENSE
├── README.md
├── ansible.cfg
├── apply-patch.sh
...
├── roles
│ ├── base-provision
│ │ ├── defaults
...
│ ├── common
│ │ └── defaults
│ │ └── main.yml
94 directories, 135 files
Pythian Services Inc | 24
Example: Database provisioning - on-prem
Code snippets from the Demo
● Conditionals to decide execution, debug and tags - used everywhere:
roles/rdbms-setup/tasks/main.yml
...
- debug: var=existing_dbhome
- debug: var=osw
- debug: var=oracle_db_ver
- include_tasks: rdbms-install.yml
with_items:
- "{{ rdbms_software }}"
loop_control:
loop_var: osw
when: existing_dbhome.stdout == "0" and osw.version == oracle_db_ver and oracle_edition in
osw.edition
tags: rdbms-setup
...
Pythian Services Inc | 25
Example: Database provisioning - on-prem
Code snippets from the Demo
● Tags, variables and conditionals in the roles to glue all together
– common/defaults/main.yml
...
gi_patches:
# 11.2.0.4 PSU
- { category: "PSU", base: "11.2.0.4.0", release: "11.2.0.4.190416", patchnum: "29255947", patchfile:
"p29255947_112040_Linux-x86-64.zip", patch_subdir: "", prereq_check: FALSE, method: "opatch auto", ocm: TRUE,
upgrade: FALSE, md5sum: "T81Qs+cdCMK8UkfbERzQWw==" }
...
rdbms_patches:
# 11.2.0.4 OJVM packages from Combo
- { category: "PSU_Combo", base: "11.2.0.4.0", release: "11.2.0.4.190115", patchnum: "28729262", patchfile:
"p28729262_112040_Linux-x86-64.zip", patch_subdir: "", prereq_check: FALSE, method: "opatch apply", ocm: TRUE,
upgrade: FALSE, md5sum: "bkZLVmTae5QSNouUzSc3BA==", opatch_ver: "" }
...
Pythian Services Inc | 26
Example: Database provisioning - on-prem
Code snippets from the Demo
● Deploy a RAC database w/ASM, non-CDB, using a template for the database
./install-oracle.sh 
--ora-swlib-bucket /u03/swlib 
--ora-swlib-path /u03/stage 
--ora-swlib-type fs 
--cluster-type RAC 
--ora-asm-disks conf/asm_disk_config-rac.json 
--cluster-config conf/cluster_config-rac.json 
--ora-data-mounts conf/data_mounts_config-rac.json 
--backup-dest /u03/backup 
--ora-disk-mgmt udev 
--ora-role-separation false 
--grid-home-dir /u01/app/19.3.0/grid 
--db-home-dir /u01/app/oracle/product/19.3.0/db 
--compatible-rdbms 19.3.0 
--ora-db-version 19.3.0.0.0 
--ora-listener-port 1526 
--ignoreprereq-gi N 
--ignoreprereq-db N 
--skip-sql-patch 
--ora-db-name orcl1 
--ora-data-diskgroup DATA01 
--ora-reco-diskgroup FRA01 
--ora-db-charset AL32UTF8 
--ora-db-ncharset AL16UTF16 
--ora-db-container false 
--ora-db-type OLTP 
--ora-redo-log-size 100MB 
--ora-swlib-template-bucket /u03/dbTemplates 
--ora-swlib-template-path /u03/templates 
--ora-db-template non_unicode.rsp.dbc
Pythian Services Inc | 27
Database provisioning
Dealing with errors, logging, debugging
● This is key to maintain the code - changes are always required
● Tools logs, database logs, orchestration logs
From our previous example:
- Ansible logs - summary of steps executed (less than stdout)
- Ansible debug - detailed ansible actions and outputs
- Tools log - each step calling a command (ex: dbca) generates their own logs
ANSIBLE_LOG_PATH=${LOG_FILE}
ANSIBLE_STDOUT_CALLBACK=debug
Pythian Services Inc | 28
Examples from experience
● Database provisioning
○ Ansible, OCI, Terraform
● Database Patching
○ Ansible, OCI
Pythian Services Inc | 29
Example: Database patching
● Similar considerations as for provisioning
○ OCI DBaaS - managed
■ apply using console or API (SDK, CLI, REST)
■ Some flexibility to execute steps -
https://docs.oracle.com/en/cloud/paas/bm-and-vm-dbs-cloud/dbpatching/
○ on-prem : manual procedure, needs definitions before implementing
■ Out of place?
■ FPP or other golden image scheme in use?
■ GI or DB only?
■ Standby?
■ Same Ansible repos used for provisioning also cover patching
Pythian Services Inc | 30
Example: Database patching - on-prem
DEMO: using another in-house Ansible playbook
$ tree
.
├── README.md
├── ansible.cfg
├── db-patch.sh
├── dbpatch-dry.yml
├── dbpatch.yml
├── ebs_patch.sh
├── group_vars
│ └── all.yml
...
│ ├── download_files
│ │ └── files
│ │ └── getMOSPatch.jar
...
15 directories, 41 files
Pythian Services Inc | 31
Example: Database patching - on-prem
Code snippets from the Demo
● Parameters to handle GI and DBhome independently, PDB, validations, patch repository
● Example: Patch GI only
./db-patch.sh 
--ora-staging /u03/APR_2023 
--inventory-file inventory_files/inventory 
--ora-role-separation true 
--ora-db-name SAMPLEDB 
--ora-db-version 19.0.0.0.0 
--db-home-dir /u01/app/oracle/product/19.3.0/dbhome_1 
--patch-cycle APR_2023 
--target-name orcl 
--gi-only
Pythian Services Inc | 32
Other relevant examples
● DB code change management
○ Liquibase / SQLcl
● Database API
○ ORDs
● Database Upgrade
○ Autoupgrade, OCI CLI, Terraform
Pythian Services Inc | 33
Example: Database code change management
● Source code versioning
● Automated apply and test (CI/CD)
○ Tools to implement the CI pipeline (build)
○ Tools to test
○ Tools to easily rollback changes (containers, snapshots, backups, etc.)
● Examples:
○ utPLSQL - https://github.com/utPLSQL/utPLSQL-demo-project
○ SQLcl - improved version of Liquibase (https://www.liquibase.com/) from Oracle
https://www.thatjeffsmith.com/archive/2019/09/liquibase-and-sqlcl/
○ Detailed example from Tim Hall:
https://oracle-base.com/articles/misc/sqlcl-automating-your-database-deployments-using-sqlcl-and-liquibase
○ Code and slides from Oracle: https://github.com/oracle/oracle-db-tools/tree/master/devops
Pythian Services Inc | 34
Other relevant examples
● DB code change management
○ Liquibase / SQLcl
● Database API
○ ORDs
● Database Upgrade
○ Autoupgrade, OCI CLI, Terraform
Pythian Services Inc | 35
Database API
● OCI - we already know: managed, lot of extras included:
○ Backups, scaling CPU and Storage, Cloud Guard, WAF, etc.
● On-prem?
○ Database Management REST API with ORDS - https://www.oracle.com/ords
Pythian Services Inc | 36
Database API - on-prem w/ORDS
● +600 REST endpoints:
https://docs.oracle.com/en/database/oracle/oracle-database/19/dbrst/rest-endpoints.html
○ GET/POST/PUT/DELETE operations
○ PATCH using FPP
○ Uses SSL certificates and authentication with username/password
○ Monitoring / Performance / Dictionary / Environment / General / PDB operations
● Lot of examples in Jeff Smith blog: https://www.thatjeffsmith.com/
● LiveLabs:
https://oracle.github.io/learning-library/developer-library/converged-db/converged-db-on-premises/workshops
/freetier/?lab=ords
Pythian Services Inc | 37
● DB code change management
○ Liquibase / SQLcl
● Database API
○ ORDs
● Database Upgrade
○ Autoupgrade, OCI CLI, Terraform
Other relevant examples
Pythian Services Inc | 38
Example: Database upgrade
● Autoupgrade is the tool since years ago
○ DBUA is deprecated in 23c
○ Test it for your environment, several configurations supported, don’t assume
○ Example: standby, PDBs, wallets
○ Mike’s blog is the go-to resource: https://mikedietrichde.com/
● OCI database upgrades - single command
○ CLI
○ Terraform: https://github.com/oracle/terraform-provider-oci/blob/master/examples/database/db_upgrade/resources.tf
...
resource "oci_database_database_upgrade" "test_upgrade" {
action = "UPGRADE"
database_id = data.oci_database_databases.databases.databases.0.id
database_upgrade_source_details {
db_version = "19.8.0.0"
source = "DB_VERSION"
options = "-upgradeTimezone false -keepEvents"
}
}
$ oci db database upgrade-with-db-version --action UPGRADE --database-id $DBID --db-version “19.8.0.0”
Pythian Services Inc | 39
Takeaways
● OCI / DBaaS simplifies many tasks vs on-prem, but still requires some care
● Validations in the automation is equally important as executing tasks
● A good initial definition will save a lot of implementation time
● Several tools/repos available, pick the one you/your team are familiar with
● Test is the key (to everything, not only automation)
● Changes will be required, avoid trying to save time today at expense of tomorrow
● Automation effort varies. Start with a small POC to have a better understanding
What’s next?
● Learn tools and practice, there is no single solution and there are a lot of free resources
● Keep up with updates in all components (tools, database, OS)
○ Security is the main reason
○ changes/deprecation of parameters/features in use
© Pythian Services Inc 2023
Thank You / Questions?
calero@pythian.com
@ncalerouy
http://www.linkedin.com/in/ncalero

More Related Content

Similar to Database automation guide - Oracle Community Tour LATAM 2023

Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriThinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Demi Ben-Ari
 
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data PlatformsData Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Anant Corporation
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
Yaniv cohen
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
Steve Hogg
 
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning InfrastructureML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
Fei Chen
 
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
Hendrik van Run
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
Srijan Technologies
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Codemotion
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Demi Ben-Ari
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Demi Ben-Ari
 
DevOps Days Rockies MLOps
DevOps Days Rockies MLOpsDevOps Days Rockies MLOps
DevOps Days Rockies MLOps
Matthew Reynolds
 
Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers
Ravindra Dastikop
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
 
The Lyft data platform: Now and in the future
The Lyft data platform: Now and in the futureThe Lyft data platform: Now and in the future
The Lyft data platform: Now and in the future
markgrover
 
Lyft data Platform - 2019 slides
Lyft data Platform - 2019 slidesLyft data Platform - 2019 slides
Lyft data Platform - 2019 slides
Karthik Murugesan
 
OpsStack--Integrated Operation Platform
OpsStack--Integrated Operation PlatformOpsStack--Integrated Operation Platform
OpsStack--Integrated Operation Platform
ChinaNetCloud
 
Capacity Planning Infrastructure for Web Applications (Drupal)
Capacity Planning Infrastructure for Web Applications (Drupal)Capacity Planning Infrastructure for Web Applications (Drupal)
Capacity Planning Infrastructure for Web Applications (Drupal)
Ricardo Amaro
 
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking VN
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
Juraj Hantak
 
Kettle: Pentaho Data Integration tool
Kettle: Pentaho Data Integration toolKettle: Pentaho Data Integration tool
Kettle: Pentaho Data Integration tool
Alex Rayón Jerez
 

Similar to Database automation guide - Oracle Community Tour LATAM 2023 (20)

Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriThinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
 
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data PlatformsData Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
Data Engineer's Lunch #81: Reverse ETL Tools for Modern Data Platforms
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
 
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning InfrastructureML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
 
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
 
DevOps Days Rockies MLOps
DevOps Days Rockies MLOpsDevOps Days Rockies MLOps
DevOps Days Rockies MLOps
 
Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers Platform as a Service (PaaS) - A cloud service for Developers
Platform as a Service (PaaS) - A cloud service for Developers
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
The Lyft data platform: Now and in the future
The Lyft data platform: Now and in the futureThe Lyft data platform: Now and in the future
The Lyft data platform: Now and in the future
 
Lyft data Platform - 2019 slides
Lyft data Platform - 2019 slidesLyft data Platform - 2019 slides
Lyft data Platform - 2019 slides
 
OpsStack--Integrated Operation Platform
OpsStack--Integrated Operation PlatformOpsStack--Integrated Operation Platform
OpsStack--Integrated Operation Platform
 
Capacity Planning Infrastructure for Web Applications (Drupal)
Capacity Planning Infrastructure for Web Applications (Drupal)Capacity Planning Infrastructure for Web Applications (Drupal)
Capacity Planning Infrastructure for Web Applications (Drupal)
 
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Kettle: Pentaho Data Integration tool
Kettle: Pentaho Data Integration toolKettle: Pentaho Data Integration tool
Kettle: Pentaho Data Integration tool
 

More from Nelson Calero

Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022
Nelson Calero
 
Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021
Nelson Calero
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Nelson Calero
 
Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19
Nelson Calero
 
Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19
Nelson Calero
 
Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0
Nelson Calero
 
SSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprisesSSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprises
Nelson Calero
 
Practical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsPractical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environments
Nelson Calero
 
Automate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operationAutomate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operation
Nelson Calero
 
Welcome to databases in the Cloud
Welcome to databases in the CloudWelcome to databases in the Cloud
Welcome to databases in the Cloud
Nelson Calero
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
Nelson Calero
 
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleProtect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Nelson Calero
 
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Nelson Calero
 
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Nelson Calero
 
My Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12cMy Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12c
Nelson Calero
 
Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014
Nelson Calero
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con Pacemaker
Nelson Calero
 
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQLAROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
Nelson Calero
 
MariaDB y FOSS en infraestructura de salud y estándares
MariaDB y FOSS en infraestructura de salud y estándaresMariaDB y FOSS en infraestructura de salud y estándares
MariaDB y FOSS en infraestructura de salud y estándares
Nelson Calero
 
UYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New featuresUYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New features
Nelson Calero
 

More from Nelson Calero (20)

Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022Terraform Tips and Tricks - LAOUC 2022
Terraform Tips and Tricks - LAOUC 2022
 
Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021Oracle on kubernetes 101 - Dec/2021
Oracle on kubernetes 101 - Dec/2021
 
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
 
Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19Oracle Exadata Cloud Services guide from practical experience - OOW19
Oracle Exadata Cloud Services guide from practical experience - OOW19
 
Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19Automate your oracle cloud infrastructure operations v2.0 - OOW19
Automate your oracle cloud infrastructure operations v2.0 - OOW19
 
Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0Automate the operation of your Oracle Cloud infrastructure v2.0
Automate the operation of your Oracle Cloud infrastructure v2.0
 
SSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprisesSSL certificates in the Oracle Database without surprises
SSL certificates in the Oracle Database without surprises
 
Practical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environmentsPractical guide to Oracle Virtual environments
Practical guide to Oracle Virtual environments
 
Automate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operationAutomate your Oracle Cloud Infrastructure operation
Automate your Oracle Cloud Infrastructure operation
 
Welcome to databases in the Cloud
Welcome to databases in the CloudWelcome to databases in the Cloud
Welcome to databases in the Cloud
 
Redefining tables online without surprises
Redefining tables online without surprisesRedefining tables online without surprises
Redefining tables online without surprises
 
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in OracleProtect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
Protect Sensitive Data: Implementing Fine-Grained Access Control in Oracle
 
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
Evolution of Performance Management: Oracle 12c adaptive optimizations - ukou...
 
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
Oracle Exadata Maintenance tasks 101 - OTN Tour 2015
 
My Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12cMy Experience Using Oracle SQL Plan Baselines 11g/12c
My Experience Using Oracle SQL Plan Baselines 11g/12c
 
Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014Oracle RAC sin sorpresas - v2014
Oracle RAC sin sorpresas - v2014
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con Pacemaker
 
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQLAROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
AROUG BIDAY 2013 - Automatizar procesos de ETL con PL/SQL
 
MariaDB y FOSS en infraestructura de salud y estándares
MariaDB y FOSS en infraestructura de salud y estándaresMariaDB y FOSS en infraestructura de salud y estándares
MariaDB y FOSS en infraestructura de salud y estándares
 
UYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New featuresUYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New features
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 

Database automation guide - Oracle Community Tour LATAM 2023

  • 1. © Pythian Services Inc 2023 | Confidential Oracle database automation guide Nelson Calero Principal Consultant Pythian Oracle Community Tour LATAM 2023 July 27th - August 16th
  • 2. Pythian Services Inc | 2 Nelson Calero Pythian Principal Consultant ● 20+ years Database experience ● Community Volunteer LinkedIn: http://www.linkedin.com/in/ncalero Twitter: @ncalerouy
  • 3. Pythian Services Inc | 3 Solutions designed to power the value of your data. Solution that maximize the entire data state Data & Analytics CloudOps Applications Data & Analytics Consulting Database Services Cloud Data Platform Services Data Insights & Advanced Analytics Cloud Migrations Cloud Management InfraOps / FinOps Google Cloud DevOps CI/CD Oracle EBS SAP Collaboration & Workspace Application Development, Migration & Refactoring Wherever your data and applications reside No matter what platform you choose Public Cloud Hybrid Cloud On Premises
  • 4. Pythian Services Inc | 4 25 Years in Business 420+ Experts across every Data Domain & Technology 400+ Global Customers
  • 5. 3 membership tiers Connect : @oracleace Facebook.com/OracleACEs aceprogram_ww@oracle.com 500+ technical experts helping peers globally The Oracle ACE Program recognizes and rewards community members for their technical and community contributions to the Oracle community Nominate yourself or someone you know: ace.oracle.com/nominate For more details on Oracle ACE Program: ace.oracle.com
  • 6. Pythian Services Inc | 6 Motivation - Mandatory now, it was desirable in the past - Variety of tools and complexities - Maintenance effort is usually underestimated - Part of my daily work in the last years Today’s examples using Ansible (avoiding another Ansible intro session)
  • 7. Pythian Services Inc | 7 A possible approach to the topic ● The Role of Automation in Database Administration ● Automation Tools and Technologies ● Automating Database Provisioning and Configuration ● Automation in Backup and Recovery ● Automating Performance Monitoring and Tuning ● Automation in Patching and Upgrades ● Automating Security and Compliance ● Implementing Continuous Integration and Delivery ● Tips for Successful Automation ● Case Study: Real-World Automation Success Story ● Future Trends in Oracle Database Automation
  • 8. Pythian Services Inc | 8 What I will focus today ● The Role of Automation in Database Administration ● Automation Tools and Technologies ● Automating Database Provisioning and Configuration ● Automation in Backup and Recovery ● Automating Performance Monitoring and Tuning ● Automation in Patching and Upgrades ● Automating Security and Compliance ● Implementing Continuous Integration and Delivery ● Tips for Successful Automation ● Case Study: Real-World Automation Success Story ● Future Trends in Oracle Database Automation 1. Quick introduction a. Typical database admin tasks b. Tools c. Platforms & services 2. Automation examples from experience a. Database provisioning b. Database Patching 3. Other examples 4. Challenges and future
  • 9. Pythian Services Inc | 9 Introduction Oracle database tools + features + DBA tasks + automation tools + platforms + approaches
  • 11. Pythian Services Inc | 11 Oracle database tools and features Oracle database has many: ● Oracle provided tools automating complex tasks ○ RMAN, FPP, Autoupgrade, AHF (CHM, Orachk, etc.), OEM, … ● APIs to automate the use of features ○ Rest API, Tools CLIs, Services APIs ● Features performing complex tasks with several internal steps ○ You name it. Some examples: Query optimizer, DBMS_* packages Most tools and features have enough complexity to spend this session in only one, exploring how it works, edge cases, exceptions and ways to avoid them (workarounds). I have already covered many over the last 10 years - https://www.slideshare.net/ncalero - RAC - Exadata - OCI CLI - RMAN - ExaCS - Virtualization - DBMS_Redefinition - OMC - Terraform - SPM - FGA - Kubernetes - FPP - SSL
  • 12. Pythian Services Inc | 12 Automation tools Many tools to automate tasks. Examples: ● Ansible ● Terraform ● Terragrunt ● Jenkins ● Liquibase ● Git Many related tools, as: ● Git (version control) ● VirtualBox (virtualization) ● Docker (containers) ● Kubernetes (containers) ● Monitoring and Alerting tools (third party, cloud native) ● Scripting (eg: Bash) ● Programming languages (Python, Go, ..)
  • 13. Pythian Services Inc | 13 Operational (repetitive tasks) - Keeping the lights on (infrastructure) - Backups, monitoring, alerting, retention policies, security policies, … - Application requests - Schema and data management - Patching and upgrades (security) - RUs, DB versions, Infra upgrades, - … Consulting (one time task) - Data modelling (ex: for new apps) - Design for HA, DR, scale, regulations, etc. - Integrations (APIs, etc.) Oracle DBA typical tasks Words from the Oracle Database Administrator’s Guide 19c index
  • 14. Pythian Services Inc | 14 Database platforms ● Cloud services include their own automations ○ Managed (DBaaS) means our work focus on usage (new tools, service logs, tool logs) ○ DevOps tools and plug-ins with OCI: https://docs.oracle.com/en-us/iaas/Content/API/Concepts/devopstools_topic-DevOps_Tools_and_Plugins.htm ● Specialized hardware also have their own features and tools ○ Exadata, ODA, ZDLRA
  • 15. Pythian Services Inc | 15 Initial steps 1 - Master the process to be automated - Follow Oracle recommendations - Execute it manually many times - Learn how to deal with failures - Explore unexpected results - Define the scope (versions, options, etc.) 2 - Code the execution - Execute without manual intervention - Include parameters to make it Reusable - Choose the right tool/language 4 - Introduce Changes - New versions of software to use - Changes/New parameters 3 - Test - Cover all variables possible values - Include failures and how to resume Manual executions Script executions Test automation New versions
  • 16. Pythian Services Inc | 16 Keys in this process ● Follow Oracle recommendations ● Get familiar with the process in hand ● Pick the right tool ● Test the automation. A lot
  • 17. Pythian Services Inc | 17 Keys in this process ● Follow Oracle recommendations ● Get familiar with the process in hand ○ You need to know if there are problems with the automation or with the task executed ○ Generate failures, explore unexpected results, learn how to fix them ● Pick the right tool ○ Combination of CLIs for Oracle provided tools, scripts, Ansible (or similar) to have a playbook with steps, Terraform (or similar) to create the required infrastructure ○ Choose tools based on team experience - pushing a shift in direction is another discussion. ■ Example: why Ansible if everything is being done with Chef? ● Test the automation. A lot ○ More than with manual executions - need to cover all the code paths and decisions ○ Generate errors, learn how to deal with them, improve the code ○ Implement validations to avoid known issues, adding clear messages
  • 18. Pythian Services Inc | 18 Examples from experience ● Database provisioning ○ Ansible, OCI, Terraform ● Database Patching ○ Ansible, OCI
  • 19. Pythian Services Inc | 19 Example: Database provisioning Ansible in one slide: ● Install binaries in a control machine (Windows not supported) ● No agent – uses ssh to connect to remote machines ● Inventory to define machines to use - /etc/ansible/hosts ● Playbook: used for configuration, deployment, and orchestration ○ YAML format ○ tags and actions to execute ○ conditional control: when, loop, until ○ this is the main code to keep under source control ● Modules describing resources and desired state ○ Created by us or built-in modules: http://docs.ansible.com/modules_by_category.html ○ Can be executed directly or inside playbooks
  • 20. Pythian Services Inc | 20 Example: Database provisioning Define clearly what do you want to do ● Where? ○ On-prem, OCI, Exadata? ● Which version? ○ Availability of features, deployment options, tools and parameters differ with versions ● Which components? ○ Single instance, RAC, RAC one-node, ASM, Data guard, etc. ● Create a database or just install software? ○ CDB or PDB? ○ Using dbca templates, RMAN or scripts? ○ Register the database with OEM or other monitoring tool? ○ Configure backup scripts? ● To be used with empty servers, or looking to apply it to servers already running Oracle? ○ Create a new database if the home exists? ○ Always create a new Oracle home?
  • 21. Pythian Services Inc | 21 Example: Database provisioning - OCI ● OCI DBaaS is easy - single command, multiple tools and code examples ○ Terraform OCI provider: https://github.com/oracle/terraform-provider-oci/tree/master/examples/database ○ Ansible Collection (replaces old Ansible modules from Oracle): https://github.com/oracle/oci-ansible-collection/tree/master/samples/database ○ OCI CLI: https://github.com/oracle/oci-cli/blob/master/services/database/examples_and_test_scripts/database_launch_dbsystem_exa mple.sh ● Common parameters and errors (OCI CLI, Terraform): ○ https://www.slideshare.net/ncalero/automate-your-oracle-cloud-infrastructure-operations-v20-oow19 $ oci db system launch --from-json file://db-ioug-ad1-2n.json
  • 22. Pythian Services Inc | 22 Example: Database provisioning - on-prem Need to start from scratch or already have a solution? ● Oracle Fleet Provisioning and Patching - https://oracle.com/goto/fpp. ○ Complete solution from Oracle, proprietary ○ Oracle LiveLab - https://apexapps.oracle.com/pls/apex/dbpm/r/livelabs/view-workshop?wid=599 ○ My slides from few years ago: https://www.slideshare.net/ncalero/automate-oracle-database-patches-and-upgrades-using-fleet-provisioning-and-patching ● Several community Ansible modules ○ https://github.com/oravirt/ansible-oracle-modules - Oldest active and complete repo ○ https://github.com/iarsov/ansible-orapatch - 12c old repo ○ https://github.com/google/bms-toolkit - Oracle SI and 2 node RAC deployments and patching
  • 23. Pythian Services Inc | 23 Example: Database provisioning - on-prem DEMO: using our in-house Ansible playbook $ tree . ├── LICENSE ├── PYTHIAN-LICENSE ├── README.md ├── ansible.cfg ├── apply-patch.sh ... ├── roles │ ├── base-provision │ │ ├── defaults ... │ ├── common │ │ └── defaults │ │ └── main.yml 94 directories, 135 files
  • 24. Pythian Services Inc | 24 Example: Database provisioning - on-prem Code snippets from the Demo ● Conditionals to decide execution, debug and tags - used everywhere: roles/rdbms-setup/tasks/main.yml ... - debug: var=existing_dbhome - debug: var=osw - debug: var=oracle_db_ver - include_tasks: rdbms-install.yml with_items: - "{{ rdbms_software }}" loop_control: loop_var: osw when: existing_dbhome.stdout == "0" and osw.version == oracle_db_ver and oracle_edition in osw.edition tags: rdbms-setup ...
  • 25. Pythian Services Inc | 25 Example: Database provisioning - on-prem Code snippets from the Demo ● Tags, variables and conditionals in the roles to glue all together – common/defaults/main.yml ... gi_patches: # 11.2.0.4 PSU - { category: "PSU", base: "11.2.0.4.0", release: "11.2.0.4.190416", patchnum: "29255947", patchfile: "p29255947_112040_Linux-x86-64.zip", patch_subdir: "", prereq_check: FALSE, method: "opatch auto", ocm: TRUE, upgrade: FALSE, md5sum: "T81Qs+cdCMK8UkfbERzQWw==" } ... rdbms_patches: # 11.2.0.4 OJVM packages from Combo - { category: "PSU_Combo", base: "11.2.0.4.0", release: "11.2.0.4.190115", patchnum: "28729262", patchfile: "p28729262_112040_Linux-x86-64.zip", patch_subdir: "", prereq_check: FALSE, method: "opatch apply", ocm: TRUE, upgrade: FALSE, md5sum: "bkZLVmTae5QSNouUzSc3BA==", opatch_ver: "" } ...
  • 26. Pythian Services Inc | 26 Example: Database provisioning - on-prem Code snippets from the Demo ● Deploy a RAC database w/ASM, non-CDB, using a template for the database ./install-oracle.sh --ora-swlib-bucket /u03/swlib --ora-swlib-path /u03/stage --ora-swlib-type fs --cluster-type RAC --ora-asm-disks conf/asm_disk_config-rac.json --cluster-config conf/cluster_config-rac.json --ora-data-mounts conf/data_mounts_config-rac.json --backup-dest /u03/backup --ora-disk-mgmt udev --ora-role-separation false --grid-home-dir /u01/app/19.3.0/grid --db-home-dir /u01/app/oracle/product/19.3.0/db --compatible-rdbms 19.3.0 --ora-db-version 19.3.0.0.0 --ora-listener-port 1526 --ignoreprereq-gi N --ignoreprereq-db N --skip-sql-patch --ora-db-name orcl1 --ora-data-diskgroup DATA01 --ora-reco-diskgroup FRA01 --ora-db-charset AL32UTF8 --ora-db-ncharset AL16UTF16 --ora-db-container false --ora-db-type OLTP --ora-redo-log-size 100MB --ora-swlib-template-bucket /u03/dbTemplates --ora-swlib-template-path /u03/templates --ora-db-template non_unicode.rsp.dbc
  • 27. Pythian Services Inc | 27 Database provisioning Dealing with errors, logging, debugging ● This is key to maintain the code - changes are always required ● Tools logs, database logs, orchestration logs From our previous example: - Ansible logs - summary of steps executed (less than stdout) - Ansible debug - detailed ansible actions and outputs - Tools log - each step calling a command (ex: dbca) generates their own logs ANSIBLE_LOG_PATH=${LOG_FILE} ANSIBLE_STDOUT_CALLBACK=debug
  • 28. Pythian Services Inc | 28 Examples from experience ● Database provisioning ○ Ansible, OCI, Terraform ● Database Patching ○ Ansible, OCI
  • 29. Pythian Services Inc | 29 Example: Database patching ● Similar considerations as for provisioning ○ OCI DBaaS - managed ■ apply using console or API (SDK, CLI, REST) ■ Some flexibility to execute steps - https://docs.oracle.com/en/cloud/paas/bm-and-vm-dbs-cloud/dbpatching/ ○ on-prem : manual procedure, needs definitions before implementing ■ Out of place? ■ FPP or other golden image scheme in use? ■ GI or DB only? ■ Standby? ■ Same Ansible repos used for provisioning also cover patching
  • 30. Pythian Services Inc | 30 Example: Database patching - on-prem DEMO: using another in-house Ansible playbook $ tree . ├── README.md ├── ansible.cfg ├── db-patch.sh ├── dbpatch-dry.yml ├── dbpatch.yml ├── ebs_patch.sh ├── group_vars │ └── all.yml ... │ ├── download_files │ │ └── files │ │ └── getMOSPatch.jar ... 15 directories, 41 files
  • 31. Pythian Services Inc | 31 Example: Database patching - on-prem Code snippets from the Demo ● Parameters to handle GI and DBhome independently, PDB, validations, patch repository ● Example: Patch GI only ./db-patch.sh --ora-staging /u03/APR_2023 --inventory-file inventory_files/inventory --ora-role-separation true --ora-db-name SAMPLEDB --ora-db-version 19.0.0.0.0 --db-home-dir /u01/app/oracle/product/19.3.0/dbhome_1 --patch-cycle APR_2023 --target-name orcl --gi-only
  • 32. Pythian Services Inc | 32 Other relevant examples ● DB code change management ○ Liquibase / SQLcl ● Database API ○ ORDs ● Database Upgrade ○ Autoupgrade, OCI CLI, Terraform
  • 33. Pythian Services Inc | 33 Example: Database code change management ● Source code versioning ● Automated apply and test (CI/CD) ○ Tools to implement the CI pipeline (build) ○ Tools to test ○ Tools to easily rollback changes (containers, snapshots, backups, etc.) ● Examples: ○ utPLSQL - https://github.com/utPLSQL/utPLSQL-demo-project ○ SQLcl - improved version of Liquibase (https://www.liquibase.com/) from Oracle https://www.thatjeffsmith.com/archive/2019/09/liquibase-and-sqlcl/ ○ Detailed example from Tim Hall: https://oracle-base.com/articles/misc/sqlcl-automating-your-database-deployments-using-sqlcl-and-liquibase ○ Code and slides from Oracle: https://github.com/oracle/oracle-db-tools/tree/master/devops
  • 34. Pythian Services Inc | 34 Other relevant examples ● DB code change management ○ Liquibase / SQLcl ● Database API ○ ORDs ● Database Upgrade ○ Autoupgrade, OCI CLI, Terraform
  • 35. Pythian Services Inc | 35 Database API ● OCI - we already know: managed, lot of extras included: ○ Backups, scaling CPU and Storage, Cloud Guard, WAF, etc. ● On-prem? ○ Database Management REST API with ORDS - https://www.oracle.com/ords
  • 36. Pythian Services Inc | 36 Database API - on-prem w/ORDS ● +600 REST endpoints: https://docs.oracle.com/en/database/oracle/oracle-database/19/dbrst/rest-endpoints.html ○ GET/POST/PUT/DELETE operations ○ PATCH using FPP ○ Uses SSL certificates and authentication with username/password ○ Monitoring / Performance / Dictionary / Environment / General / PDB operations ● Lot of examples in Jeff Smith blog: https://www.thatjeffsmith.com/ ● LiveLabs: https://oracle.github.io/learning-library/developer-library/converged-db/converged-db-on-premises/workshops /freetier/?lab=ords
  • 37. Pythian Services Inc | 37 ● DB code change management ○ Liquibase / SQLcl ● Database API ○ ORDs ● Database Upgrade ○ Autoupgrade, OCI CLI, Terraform Other relevant examples
  • 38. Pythian Services Inc | 38 Example: Database upgrade ● Autoupgrade is the tool since years ago ○ DBUA is deprecated in 23c ○ Test it for your environment, several configurations supported, don’t assume ○ Example: standby, PDBs, wallets ○ Mike’s blog is the go-to resource: https://mikedietrichde.com/ ● OCI database upgrades - single command ○ CLI ○ Terraform: https://github.com/oracle/terraform-provider-oci/blob/master/examples/database/db_upgrade/resources.tf ... resource "oci_database_database_upgrade" "test_upgrade" { action = "UPGRADE" database_id = data.oci_database_databases.databases.databases.0.id database_upgrade_source_details { db_version = "19.8.0.0" source = "DB_VERSION" options = "-upgradeTimezone false -keepEvents" } } $ oci db database upgrade-with-db-version --action UPGRADE --database-id $DBID --db-version “19.8.0.0”
  • 39. Pythian Services Inc | 39 Takeaways ● OCI / DBaaS simplifies many tasks vs on-prem, but still requires some care ● Validations in the automation is equally important as executing tasks ● A good initial definition will save a lot of implementation time ● Several tools/repos available, pick the one you/your team are familiar with ● Test is the key (to everything, not only automation) ● Changes will be required, avoid trying to save time today at expense of tomorrow ● Automation effort varies. Start with a small POC to have a better understanding What’s next? ● Learn tools and practice, there is no single solution and there are a lot of free resources ● Keep up with updates in all components (tools, database, OS) ○ Security is the main reason ○ changes/deprecation of parameters/features in use
  • 40. © Pythian Services Inc 2023 Thank You / Questions? calero@pythian.com @ncalerouy http://www.linkedin.com/in/ncalero