SlideShare a Scribd company logo
1 of 28
CONTROL.DEPLOY.PROTECT.COMPLY




                                  DCM & SCM

                                     ilOUG .NET forum
                                           2012



                                               Footer           www.dbmaestro.com
CONTROL.DEPLOY.PROTECT.COMPLY
DCM
  DCM – Database Change Management
  Part of ALM (Application Lifecycle Management)
   solutions




                                Footer     www.dbmaestro.com   2
CONTROL.DEPLOY.PROTECT.COMPLY
Applications & Databases
  Database is a Major Part of the Application
          Schema Structure
          PL/SQL Code
          Lookup Content
  Database is a
   Central Resource
  Business Data Must
   be Saved



                                Footer       www.dbmaestro.com   3
CONTROL.DEPLOY.PROTECT.COMPLY
SCM Concepts
  Structure of a repository & gained functionality
                                        File based
                                        Separation of Working
                                         environment and repository
                                        File Locking
                                        Check out / in
                                        Baseline
                                        Tag / Label
                                        Head / Latest
                                        Rollback
                                        Compare / Merge
                                        Deploy / Build
                                Footer                www.dbmaestro.com   4
CONTROL.DEPLOY.PROTECT.COMPLY
SCM Concepts did not apply to
the database world
  Traditional SCM concept doesn’t fit the Database
   world…
              A database is not a collection of files
              DDL (Data Definition Language)
              DML (Data Manipulation Language)
              DDL extraction
              No debug environment
              Content ?
              Database duplication – constant synchronization



                                         Footer         www.dbmaestro.com   5
CONTROL.DEPLOY.PROTECT.COMPLY
SCM Concepts did not apply to
the database world
  Moving changes…
  Development to QA, integration and production
          Code – simple file copy & registration
          DB objects cant just be “moved” – content…
          What do we do with db content changes ?

  So the whole thing was neglected for years...

  Manual process where created to deal with
   eal life situations


                                     Footer         www.dbmaestro.com   6
CONTROL.DEPLOY.PROTECT.COMPLY
Manual process
  Lists depicting database changes are created
                                 Post-it
                                   SCM
                                Don’t forget to
                                add the index…

  Detailed documents in SCM

  Code is written to alter database
   structure without content loss



                                             Footer   www.dbmaestro.com   7
CONTROL.DEPLOY.PROTECT.COMPLY
Manual process
  But:
              Lists are usually not part of an SCM process
              Not mandatory
              Not policy enforced
              Code developed for deployment is not part of ALM
              Not following the same restrictions
               (QA, code review…)
              No simple solution for content change management
               (backups? Database duplications?)

  Clearly, automation is required!
                                        Footer         www.dbmaestro.com   8
CONTROL.DEPLOY.PROTECT.COMPLY
Automation – First Generation database
change management
  A new concept is created
  Compare & Sync
              Automated tools compare different environments
              Reports are generated, and differences are found
              Automatic code generation
              Some products can even analyze content and propagate
               content changes
              Deployment became more stable and less
               prone to human mistakes

  We where happy for a while…
                                        Footer         www.dbmaestro.com   9
CONTROL.DEPLOY.PROTECT.COMPLY
Automation – First Generation database
change management
  But:
              What if test environment has undergone changes?
              What happened while in development cycle?
              Anyone privileged can update the database, even if it is
               not required…
              How can we match database development with
               application development?
              Partial deployments?
              Team synchronization?
              Who did What, When and Why?
  So, a lot of the traditional SCM goals are not answered
                                          Footer          www.dbmaestro.com   10
CONTROL.DEPLOY.PROTECT.COMPLY
Automation – First Generation database
change management
       File Locking
       Check out / in
       Baseline *
       Tag / Label
       Head / Latest, but this it the DB itself, so actually  …
       Rollback
       Compare /  Merge
       Deploy / Build *
 * Partial



                                    Footer          www.dbmaestro.com   11
CONTROL.DEPLOY.PROTECT.COMPLY
SCM without DCM
                                  Business Req.   Conflict code      Automated            Continuous
   SCM Native Code
                                   Integration      Resolver         Deployment           Integration

File Based                      Change     Merge                    Agile              Any Change
Version                         Management Code                                        Tested Over
Control:                        Systems                             Quick              Night
Java, .NET,                                                         Iterations
C#, C++                         Correlate
                                Change with                         Reduce
                                Activity                            Overhead

                                                                    Increase
                                                                    Team
                                                                    Satisfaction


                                                           Footer                 www.dbmaestro.com     12
CONTROL.DEPLOY.PROTECT.COMPLY
DCM Lack of Inherent Risks
      Falling Behind Deadlines
      Code Overrides
      No Tracking Changes
      Release Rollback
      Lack of Recovery
      Release Unreliability
      Lack of Automation
      Audit Compliance
      Security Breaches

                                  Footer   www.dbmaestro.com   13
CONTROL.DEPLOY.PROTECT.COMPLY
Correction

                                   This is not
                      Database Change Management
                                     This is
             Database Deployment Management
                                       So,
                                 We still need to
                                Manage Change
                                          Footer    www.dbmaestro.com   14
CONTROL.DEPLOY.PROTECT.COMPLY
Next generation
database change management
                                Requirements
  Follow traditional SCM concepts
     Check-Out / Check-In / Tagging / …
     Support Any Database client IDE

  Enforce a well disciplined change process
   (no out of process updates)
  Synchronize team work
  Support entire life cycle
   (development, testing, going to production)

                                      Footer   www.dbmaestro.com   15
CONTROL.DEPLOY.PROTECT.COMPLY
Next generation
database change management
                                Requirements
  Manage content changes
  Good, stable repository
     Save all development
     Auditing

  Link / embed to traditional SCM projects
  Enable deployment based on SCM tasks


                                      Footer   www.dbmaestro.com   16
CONTROL.DEPLOY.PROTECT.COMPLY
Follow SCM Concepts
NG database change management
                                Requirements
       File Locking
       Check out / in
       Baseline
       Tag / Label
       Head / Latest
       Rollback
       Compare /  Merge
       Deploy / Build
                                      Footer   www.dbmaestro.com   17
CONTROL.DEPLOY.PROTECT.COMPLY
Without DCM
Two unrelated Processes

                                                           Compile Script
                           Check-Out                          in DB
                             Script


  Check-In Script                 Modify Script

                                                           Debug Script
                        Get updated                           in DB
                       Script from DB




                                                  Footer        www.dbmaestro.com   18
CONTROL.DEPLOY.PROTECT.COMPLY
With DCM
One Enforced Process
                                    Check-Out
                                     Object


                                             Modify Object in
                        Check-In Object
                                                   DB


                                 Run Applications’
                                      Tests

                                          Footer        www.dbmaestro.com   19
CONTROL.DEPLOY.PROTECT.COMPLY
NG database change management
How is it done?
  Challenges:
     Creating a new type of repository
     A problem - central resource vs. replicated resource
         Enforcing change process
                  



         Synchronizing development teams
                  




              Linking to traditional SCM
                  Linking versions
                  



                  Linking change sets
                  




  Leveraging deployments
                                        Footer   www.dbmaestro.com   20
CONTROL.DEPLOY.PROTECT.COMPLY
Benefits & Risk Avoidance
  Policy enforcement
  Concurrent development
     Preventing collisions and conflicts


  Standards
     Check-in and check-out
     Labels


  Complete audit trail of all changes

                                Footer      www.dbmaestro.com   21
CONTROL.DEPLOY.PROTECT.COMPLY
Benefits & Risk Avoidance
  Lookup tables data management

  Automated Roll back of changes
     Development
     Production systems


  Automated deployments between multiple databases
     Three way analysis
     Requirement based deployment


                                Footer   www.dbmaestro.com   22
CONTROL.DEPLOY.PROTECT.COMPLY
It’s all about a Safety Net
                                  DCM         Business
                                                            Conflict code    Automated            Continuous
  SCM Native Code               Database        Req.
                                                              Resolver       Deployment           Integration
                                 Code        Integration
File Based                Database         Change     Merge                 Agile               Any Change
Version                   Version          Management Code                                      Tested Over
Control:                  Control          Systems                                              Night
                                                                            Quick
Java, .NET,
                                                                            Iterations
C#, C++
                          Change           Correlate
                          Policy           Change with
                                                                            Reduce
                                           Activity
                                                                            Overhead
                          Automatic
                          Deployment
                                                                            Increase
                          Script
                                                                            Team
                                                                            Satisfaction




                                                           Footer                   www.dbmaestro.com           23
CONTROL.DEPLOY.PROTECT.COMPLY
Demo




                                Footer   www.dbmaestro.com   24
CONTROL.DEPLOY.PROTECT.COMPLY
Baseline in Deployments

 Source vs.              Action      Source vs.   Target vs.         Action
 Target                              Baseline     Baseline

          =              No Action          =          =             No Action

                                            ≠          =             Override
          ≠                     ?           =
                                            ≠
                                                       ≠
                                                       ≠
                                                                     Ignore
                                                                     Merge

 You do not have all                 With Baseline the
 the information                     unknown
                                     is now known


                                       Footer                  www.dbmaestro.com   25
CONTROL.DEPLOY.PROTECT.COMPLY
DCM & Development Methodologies
      Agile
      Branches
      Multiple Development – short & long development
      Shared Environment
      Teams’ Environment
      Design tools
      ORM tools




                                Footer       www.dbmaestro.com   26
CONTROL.DEPLOY.PROTECT.COMPLY
Summary
  SCM works well with File-Based objects
  DCM created for Databases objects

  Support ALL IDEs working with the Database
  Support ANY development methodology

  Prepare yourself to the deployment phase




                                Footer        www.dbmaestro.com   27
CONTROL.DEPLOY.PROTECT.COMPLY
Thank you



 Thank you for your time

 Uri Margalit
 urim@dbMaestro.com
                                Footer   www.dbmaestro.com   28
CONTROL.DEPLOY.PROTECT.COMPLY

More Related Content

What's hot

Affordable System Solutions Tailored For Your Organisation V26
Affordable System Solutions Tailored For Your Organisation V26Affordable System Solutions Tailored For Your Organisation V26
Affordable System Solutions Tailored For Your Organisation V26Bert Myburgh
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornmentSpiffy
 
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...Spiffy
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring ToolsRoyal Cyber Inc.
 
Veeam Product info - Backup Standard vs. Enterprise Edition
Veeam Product info -  Backup Standard vs. Enterprise EditionVeeam Product info -  Backup Standard vs. Enterprise Edition
Veeam Product info - Backup Standard vs. Enterprise EditionSuministros Obras y Sistemas
 
EaZe-PDMS
EaZe-PDMSEaZe-PDMS
EaZe-PDMSshearul
 
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...Carl Tyler
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Packjucaab
 
Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerRohit Kelapure
 
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...Flexera
 
PgSQL vs MySQL
PgSQL vs MySQLPgSQL vs MySQL
PgSQL vs MySQLxlight
 
CaliberRM Data Sheet
CaliberRM Data SheetCaliberRM Data Sheet
CaliberRM Data Sheettitita13
 
Soccnx III - IBM Connections 3.0.1 Integration with Sametime
Soccnx III  - IBM Connections 3.0.1 Integration with SametimeSoccnx III  - IBM Connections 3.0.1 Integration with Sametime
Soccnx III - IBM Connections 3.0.1 Integration with SametimeLetsConnect
 
Journey through the Cloud - Best Practices Getting Started in the AWS Cloud
Journey through the Cloud - Best Practices Getting Started in the AWS CloudJourney through the Cloud - Best Practices Getting Started in the AWS Cloud
Journey through the Cloud - Best Practices Getting Started in the AWS CloudAmazon Web Services
 
Fujifilm Cloudnet Mcp Brochure
Fujifilm Cloudnet Mcp BrochureFujifilm Cloudnet Mcp Brochure
Fujifilm Cloudnet Mcp BrochureMichael Mostyn
 
Waves2 Wcms Informational Guide
Waves2 Wcms Informational GuideWaves2 Wcms Informational Guide
Waves2 Wcms Informational GuideCatherineKeough
 
Flexibility In The Remote Branch Office VMware Mini Forum Calgary
Flexibility In The Remote Branch Office VMware Mini Forum CalgaryFlexibility In The Remote Branch Office VMware Mini Forum Calgary
Flexibility In The Remote Branch Office VMware Mini Forum CalgaryJames Charter
 
Save IT admin time with the Dell EMC PowerEdge MX platform and OpenManage En...
Save IT admin time with the Dell EMC PowerEdge MX  platform and OpenManage En...Save IT admin time with the Dell EMC PowerEdge MX  platform and OpenManage En...
Save IT admin time with the Dell EMC PowerEdge MX platform and OpenManage En...Principled Technologies
 

What's hot (18)

Affordable System Solutions Tailored For Your Organisation V26
Affordable System Solutions Tailored For Your Organisation V26Affordable System Solutions Tailored For Your Organisation V26
Affordable System Solutions Tailored For Your Organisation V26
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornment
 
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring Tools
 
Veeam Product info - Backup Standard vs. Enterprise Edition
Veeam Product info -  Backup Standard vs. Enterprise EditionVeeam Product info -  Backup Standard vs. Enterprise Edition
Veeam Product info - Backup Standard vs. Enterprise Edition
 
EaZe-PDMS
EaZe-PDMSEaZe-PDMS
EaZe-PDMS
 
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
AD109 - Using the IBM Sametime Proxy SDK: WebSphere Portal, IBM Connections -...
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Pack
 
Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal Server
 
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
FlexNet Manager Suite Leverages Microsoft System Center to Deliver Next Gener...
 
PgSQL vs MySQL
PgSQL vs MySQLPgSQL vs MySQL
PgSQL vs MySQL
 
CaliberRM Data Sheet
CaliberRM Data SheetCaliberRM Data Sheet
CaliberRM Data Sheet
 
Soccnx III - IBM Connections 3.0.1 Integration with Sametime
Soccnx III  - IBM Connections 3.0.1 Integration with SametimeSoccnx III  - IBM Connections 3.0.1 Integration with Sametime
Soccnx III - IBM Connections 3.0.1 Integration with Sametime
 
Journey through the Cloud - Best Practices Getting Started in the AWS Cloud
Journey through the Cloud - Best Practices Getting Started in the AWS CloudJourney through the Cloud - Best Practices Getting Started in the AWS Cloud
Journey through the Cloud - Best Practices Getting Started in the AWS Cloud
 
Fujifilm Cloudnet Mcp Brochure
Fujifilm Cloudnet Mcp BrochureFujifilm Cloudnet Mcp Brochure
Fujifilm Cloudnet Mcp Brochure
 
Waves2 Wcms Informational Guide
Waves2 Wcms Informational GuideWaves2 Wcms Informational Guide
Waves2 Wcms Informational Guide
 
Flexibility In The Remote Branch Office VMware Mini Forum Calgary
Flexibility In The Remote Branch Office VMware Mini Forum CalgaryFlexibility In The Remote Branch Office VMware Mini Forum Calgary
Flexibility In The Remote Branch Office VMware Mini Forum Calgary
 
Save IT admin time with the Dell EMC PowerEdge MX platform and OpenManage En...
Save IT admin time with the Dell EMC PowerEdge MX  platform and OpenManage En...Save IT admin time with the Dell EMC PowerEdge MX  platform and OpenManage En...
Save IT admin time with the Dell EMC PowerEdge MX platform and OpenManage En...
 

Viewers also liked

Light Up Atlanta Design Competition
Light Up Atlanta Design CompetitionLight Up Atlanta Design Competition
Light Up Atlanta Design Competitiontaejun park
 
KSU 3D walk_through_animation
KSU 3D walk_through_animationKSU 3D walk_through_animation
KSU 3D walk_through_animationtaejun park
 
Wellstar Paulding Hospital (2012 Slide Share)
Wellstar Paulding Hospital (2012 Slide Share)Wellstar Paulding Hospital (2012 Slide Share)
Wellstar Paulding Hospital (2012 Slide Share)taejun park
 
Iltam database version control
Iltam database version controlIltam database version control
Iltam database version controluridbmaestro
 

Viewers also liked (7)

Lanltda
LanltdaLanltda
Lanltda
 
Light Up Atlanta Design Competition
Light Up Atlanta Design CompetitionLight Up Atlanta Design Competition
Light Up Atlanta Design Competition
 
KSU 3D walk_through_animation
KSU 3D walk_through_animationKSU 3D walk_through_animation
KSU 3D walk_through_animation
 
Wellstar Paulding Hospital (2012 Slide Share)
Wellstar Paulding Hospital (2012 Slide Share)Wellstar Paulding Hospital (2012 Slide Share)
Wellstar Paulding Hospital (2012 Slide Share)
 
Ppt af linux
Ppt af linuxPpt af linux
Ppt af linux
 
Work Sample
Work SampleWork Sample
Work Sample
 
Iltam database version control
Iltam database version controlIltam database version control
Iltam database version control
 

Similar to Control Database Changes with DCM

Introduction to Data Management
Introduction to Data ManagementIntroduction to Data Management
Introduction to Data ManagementCloudbells.com
 
Informix warehouse and accelerator overview
Informix warehouse and accelerator overviewInformix warehouse and accelerator overview
Informix warehouse and accelerator overviewKeshav Murthy
 
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015Darryl Nelson
 
Jmorrow rtv den_auto_config_rapidclone
Jmorrow rtv den_auto_config_rapidcloneJmorrow rtv den_auto_config_rapidclone
Jmorrow rtv den_auto_config_rapidcloneMlx Le
 
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod ColledgeDb As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledgesqlserver.co.il
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data SharingSurekha Parekh
 
VMware View – Storage Considerations
VMware View – Storage ConsiderationsVMware View – Storage Considerations
VMware View – Storage ConsiderationsCalin Damian Tanase
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersYoav Avrahami
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFSMehdi Khalili
 
Oracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationOracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationYudi Herdiana
 
AWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAmazon Web Services
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalJoel Oleson
 
Newvem Community - Cloud Management
Newvem Community - Cloud ManagementNewvem Community - Cloud Management
Newvem Community - Cloud ManagementAndreas Chatzakis
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?Datical
 
J2EE Performance And Scalability Bp
J2EE Performance And Scalability BpJ2EE Performance And Scalability Bp
J2EE Performance And Scalability BpChris Adkin
 
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...Steve Speicher
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soad0nn9n
 
Rudder - Configuration management benefits for everyone (FOSDEM 2012)
Rudder - Configuration management benefits for everyone (FOSDEM 2012)Rudder - Configuration management benefits for everyone (FOSDEM 2012)
Rudder - Configuration management benefits for everyone (FOSDEM 2012)RUDDER
 

Similar to Control Database Changes with DCM (20)

Introduction to Data Management
Introduction to Data ManagementIntroduction to Data Management
Introduction to Data Management
 
Informix warehouse and accelerator overview
Informix warehouse and accelerator overviewInformix warehouse and accelerator overview
Informix warehouse and accelerator overview
 
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
 
Jmorrow rtv den_auto_config_rapidclone
Jmorrow rtv den_auto_config_rapidcloneJmorrow rtv den_auto_config_rapidclone
Jmorrow rtv den_auto_config_rapidclone
 
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod ColledgeDb As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
Db As Behaving Badly... Worst Practices For Database Administrators Rod Colledge
 
Cloud Management
Cloud ManagementCloud Management
Cloud Management
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data Sharing
 
VMware View – Storage Considerations
VMware View – Storage ConsiderationsVMware View – Storage Considerations
VMware View – Storage Considerations
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 
Isset Presentation @ EECI2009
Isset Presentation @ EECI2009Isset Presentation @ EECI2009
Isset Presentation @ EECI2009
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
 
Oracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationOracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for Consolidation
 
AWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloudAWS Summit 2011: Architecting in the cloud
AWS Summit 2011: Architecting in the cloud
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
 
Newvem Community - Cloud Management
Newvem Community - Cloud ManagementNewvem Community - Cloud Management
Newvem Community - Cloud Management
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?
 
J2EE Performance And Scalability Bp
J2EE Performance And Scalability BpJ2EE Performance And Scalability Bp
J2EE Performance And Scalability Bp
 
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soa
 
Rudder - Configuration management benefits for everyone (FOSDEM 2012)
Rudder - Configuration management benefits for everyone (FOSDEM 2012)Rudder - Configuration management benefits for everyone (FOSDEM 2012)
Rudder - Configuration management benefits for everyone (FOSDEM 2012)
 

Recently uploaded

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Recently uploaded (20)

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Control Database Changes with DCM

  • 1. CONTROL.DEPLOY.PROTECT.COMPLY DCM & SCM ilOUG .NET forum 2012 Footer www.dbmaestro.com CONTROL.DEPLOY.PROTECT.COMPLY
  • 2. DCM  DCM – Database Change Management  Part of ALM (Application Lifecycle Management) solutions Footer www.dbmaestro.com 2 CONTROL.DEPLOY.PROTECT.COMPLY
  • 3. Applications & Databases  Database is a Major Part of the Application  Schema Structure  PL/SQL Code  Lookup Content  Database is a Central Resource  Business Data Must be Saved Footer www.dbmaestro.com 3 CONTROL.DEPLOY.PROTECT.COMPLY
  • 4. SCM Concepts  Structure of a repository & gained functionality  File based  Separation of Working environment and repository  File Locking  Check out / in  Baseline  Tag / Label  Head / Latest  Rollback  Compare / Merge  Deploy / Build Footer www.dbmaestro.com 4 CONTROL.DEPLOY.PROTECT.COMPLY
  • 5. SCM Concepts did not apply to the database world  Traditional SCM concept doesn’t fit the Database world…  A database is not a collection of files  DDL (Data Definition Language)  DML (Data Manipulation Language)  DDL extraction  No debug environment  Content ?  Database duplication – constant synchronization Footer www.dbmaestro.com 5 CONTROL.DEPLOY.PROTECT.COMPLY
  • 6. SCM Concepts did not apply to the database world  Moving changes…  Development to QA, integration and production  Code – simple file copy & registration  DB objects cant just be “moved” – content…  What do we do with db content changes ?  So the whole thing was neglected for years...  Manual process where created to deal with eal life situations Footer www.dbmaestro.com 6 CONTROL.DEPLOY.PROTECT.COMPLY
  • 7. Manual process  Lists depicting database changes are created Post-it SCM Don’t forget to add the index…  Detailed documents in SCM  Code is written to alter database structure without content loss Footer www.dbmaestro.com 7 CONTROL.DEPLOY.PROTECT.COMPLY
  • 8. Manual process  But:  Lists are usually not part of an SCM process  Not mandatory  Not policy enforced  Code developed for deployment is not part of ALM  Not following the same restrictions (QA, code review…)  No simple solution for content change management (backups? Database duplications?)  Clearly, automation is required! Footer www.dbmaestro.com 8 CONTROL.DEPLOY.PROTECT.COMPLY
  • 9. Automation – First Generation database change management  A new concept is created  Compare & Sync  Automated tools compare different environments  Reports are generated, and differences are found  Automatic code generation  Some products can even analyze content and propagate content changes  Deployment became more stable and less prone to human mistakes  We where happy for a while… Footer www.dbmaestro.com 9 CONTROL.DEPLOY.PROTECT.COMPLY
  • 10. Automation – First Generation database change management  But:  What if test environment has undergone changes?  What happened while in development cycle?  Anyone privileged can update the database, even if it is not required…  How can we match database development with application development?  Partial deployments?  Team synchronization?  Who did What, When and Why?  So, a lot of the traditional SCM goals are not answered  Footer www.dbmaestro.com 10 CONTROL.DEPLOY.PROTECT.COMPLY
  • 11. Automation – First Generation database change management   File Locking   Check out / in   Baseline *   Tag / Label   Head / Latest, but this it the DB itself, so actually  …   Rollback   Compare /  Merge   Deploy / Build * * Partial Footer www.dbmaestro.com 11 CONTROL.DEPLOY.PROTECT.COMPLY
  • 12. SCM without DCM Business Req. Conflict code Automated Continuous SCM Native Code Integration Resolver Deployment Integration File Based Change Merge Agile Any Change Version Management Code Tested Over Control: Systems Quick Night Java, .NET, Iterations C#, C++ Correlate Change with Reduce Activity Overhead Increase Team Satisfaction Footer www.dbmaestro.com 12 CONTROL.DEPLOY.PROTECT.COMPLY
  • 13. DCM Lack of Inherent Risks  Falling Behind Deadlines  Code Overrides  No Tracking Changes  Release Rollback  Lack of Recovery  Release Unreliability  Lack of Automation  Audit Compliance  Security Breaches Footer www.dbmaestro.com 13 CONTROL.DEPLOY.PROTECT.COMPLY
  • 14. Correction This is not Database Change Management This is Database Deployment Management So, We still need to Manage Change Footer www.dbmaestro.com 14 CONTROL.DEPLOY.PROTECT.COMPLY
  • 15. Next generation database change management Requirements  Follow traditional SCM concepts  Check-Out / Check-In / Tagging / …  Support Any Database client IDE  Enforce a well disciplined change process (no out of process updates)  Synchronize team work  Support entire life cycle (development, testing, going to production) Footer www.dbmaestro.com 15 CONTROL.DEPLOY.PROTECT.COMPLY
  • 16. Next generation database change management Requirements  Manage content changes  Good, stable repository  Save all development  Auditing  Link / embed to traditional SCM projects  Enable deployment based on SCM tasks Footer www.dbmaestro.com 16 CONTROL.DEPLOY.PROTECT.COMPLY
  • 17. Follow SCM Concepts NG database change management Requirements   File Locking   Check out / in   Baseline   Tag / Label   Head / Latest   Rollback   Compare /  Merge   Deploy / Build Footer www.dbmaestro.com 17 CONTROL.DEPLOY.PROTECT.COMPLY
  • 18. Without DCM Two unrelated Processes Compile Script Check-Out in DB Script Check-In Script Modify Script Debug Script Get updated in DB Script from DB Footer www.dbmaestro.com 18 CONTROL.DEPLOY.PROTECT.COMPLY
  • 19. With DCM One Enforced Process Check-Out Object Modify Object in Check-In Object DB Run Applications’ Tests Footer www.dbmaestro.com 19 CONTROL.DEPLOY.PROTECT.COMPLY
  • 20. NG database change management How is it done?  Challenges:  Creating a new type of repository  A problem - central resource vs. replicated resource Enforcing change process  Synchronizing development teams   Linking to traditional SCM Linking versions  Linking change sets   Leveraging deployments Footer www.dbmaestro.com 20 CONTROL.DEPLOY.PROTECT.COMPLY
  • 21. Benefits & Risk Avoidance  Policy enforcement  Concurrent development  Preventing collisions and conflicts  Standards  Check-in and check-out  Labels  Complete audit trail of all changes Footer www.dbmaestro.com 21 CONTROL.DEPLOY.PROTECT.COMPLY
  • 22. Benefits & Risk Avoidance  Lookup tables data management  Automated Roll back of changes  Development  Production systems  Automated deployments between multiple databases  Three way analysis  Requirement based deployment Footer www.dbmaestro.com 22 CONTROL.DEPLOY.PROTECT.COMPLY
  • 23. It’s all about a Safety Net DCM Business Conflict code Automated Continuous SCM Native Code Database Req. Resolver Deployment Integration Code Integration File Based Database Change Merge Agile Any Change Version Version Management Code Tested Over Control: Control Systems Night Quick Java, .NET, Iterations C#, C++ Change Correlate Policy Change with Reduce Activity Overhead Automatic Deployment Increase Script Team Satisfaction Footer www.dbmaestro.com 23 CONTROL.DEPLOY.PROTECT.COMPLY
  • 24. Demo Footer www.dbmaestro.com 24 CONTROL.DEPLOY.PROTECT.COMPLY
  • 25. Baseline in Deployments Source vs. Action Source vs. Target vs. Action Target Baseline Baseline = No Action = = No Action ≠ = Override ≠ ? = ≠ ≠ ≠ Ignore Merge You do not have all With Baseline the the information unknown is now known Footer www.dbmaestro.com 25 CONTROL.DEPLOY.PROTECT.COMPLY
  • 26. DCM & Development Methodologies  Agile  Branches  Multiple Development – short & long development  Shared Environment  Teams’ Environment  Design tools  ORM tools Footer www.dbmaestro.com 26 CONTROL.DEPLOY.PROTECT.COMPLY
  • 27. Summary  SCM works well with File-Based objects  DCM created for Databases objects  Support ALL IDEs working with the Database  Support ANY development methodology  Prepare yourself to the deployment phase Footer www.dbmaestro.com 27 CONTROL.DEPLOY.PROTECT.COMPLY
  • 28. Thank you Thank you for your time Uri Margalit urim@dbMaestro.com Footer www.dbmaestro.com 28 CONTROL.DEPLOY.PROTECT.COMPLY