SlideShare una empresa de Scribd logo
1 de 36
How to Become Friends with
Developers and Stop Making DBA
 Stand for "Don't Bother Asking"
               Presented by: Kellyn Pot’Vin
          Sr. Technical Consultant, Enkitec
                               March 27, 2013
Who am I?
• Resides in Westminster, Colorado
• Oracle ACE, Sr. Technical Specialist at
  Enkitec
• Specialize in performance and enterprise
  management of large database
  environments.
• Board of directors for RMOUG, Director of
  Training Days 2014 and Database Track
  Lead for KSCOPE 2013
• Blog: http://DBAKevlar.com
• Twitter: @DBAKevlar
• Expert EM12c Book- May 16th from
  Apress
                                              3
Why This Topic?
• Conversations with User Group
  Members/peers.
• How Often I Experience it
  professionally.
• Read about it often in blogs, articles
  and in books.
• Some of my biggest wins, consider
  my most important compliments had
  to do with this subject.
• When first learning, others would
  seek me out over others who knew
  more because of it.

                                           4
The Valued Lesson
• First “official” Job as a DBA
• First Time Managing
  MSSQL
• Instructed NOT to Speak to
  Dev/App Group.
• Two Frustrating Weeks.
• Broke “No Communication”
  Rule
• Great Experience
• Supported for Four Years

                                  5
The Ball and Chain

“If you have been in IT long
enough, you are probably aware that
most DBAs don't get along well with
the developers.

They are somewhat akin to a
husband and wife who don’t like
each other but can't get a divorce.“



                                       6
Different Goals
Developer Goals- To implement new business
enhancements, often by a deadline.

Database Administrator- Ensure that database
environments are accessible and functioning 24X7
without any interruption to service.

Outside Influencers- To ensure they get what
they want, even if requirements given to
Developers are unattainable and risk production
uptime for Database Administrators.


                                                   7
Negative Culture
“[Most] DBAs aren't happy unless they're well established
as the bottlenecks in the [development] process.”

“If Shakespeare were alive in 2012, he’d be a technical
writer, and his motto would be: “Kill all the DBAs.”

“Why does it take two developers to change a light bulb?
Because one always leaves in the middle of the project.“

“The Only way I know to deal with Developers involves a
bat!”
Now, try substituting an minority or racial group when you
say anything similar to the above comments and you may
think twice about what may have become culturally
acceptable in the workplace.
                                                             8
What Many DBA’s Think is
Required to talk to Developers
Dangerous       Borderline      Safe               Safest
Your code sucks Interesting     Would you like     This is brilliant
                coding choice   to work on this
                                together?
Yeah, You’re    You need 2TB    I think we         This is brilliant
not getting 2   of space for    could rewrite
TB for THIS.    this?           this to use less
                                temp.
Why would you   This may not    I’d like to        This is brilliant
ever do this?   be the best     recommend an
                way to write    alternative
                this…           strategy.




                                                                       9
What Developers think is required
to talk with DBA’s
Dangerous        Borderline        Safe              Safest
Nothings         Could         I’m sure              You are
Changed          something     something             absolutely
                 have changed? must have             correct.
                               changed.
The database     Something         Could you help You are
sucks            seems to be       me out and     absolutely
                 up with the       check the      correct.
                 database.         database?
It works great   We did test       I could really    You are
in dev and       this, but it is   use your help     absolutely
test.            having issues     figuring out      correct.
                 in production.    why its having
                                   issues in prod.



                                                                  10
We Lack Respect, but Why?
• Deadlines
• Demands of each group
• Lack of respect for each role’s skill set


                                 Truth is, both sides
                                think they are Obi Wan
                                and neither are Darth
                                Vader!




                                                         11
Results
• Impacts productivity
• Causes Turnover, eliminating positions.
• Costs business $$

In My Opinion-
• Demands Developers to fill DBA positions in
   hopes of meeting deadlines.
• Reason for “Agile Like” development
   processes.
• Makes more demand for “open-source” tools
   to circumvent RDBMS dependent
   environments.

                                                12
Why DBA’s are Needed
Database Administrators and
Developers primary roles
require different mindsets.
To play both roles often:
• Is a conflict of interest.
• Leaves priorities
  unaddressed.
• Lessens expertise.




                               13
Why we Need Developers
That differing mindset requires someone who can
visualize quickly how to design a process, yet not
overthink the issues that might arise, (that is the
DBA’s job when time comes for code review!)

For a Developer to
perform his tasks and
maintain the database,
do afterhours support,
etc.??



                                                      14
Changing the Game
How do we change the
never-ending battle?

First identify the source of the
conflict-
• Is it centralized?
• Is it between certain
   individuals?
• Is it cultural in an
   organization?
• Are there outside
   contributors?
                                   15
Standing Up to the Fight
Find a responsible manager to
buy-in.
Focus on-
• Cost to
    • Resources
    • Deadlines
    • Goals
    • Revenue
• Changing the culture, not
   assigning blame.

If you are assigning blame, you
may be part of the problem…
                                  16
As a DBA?
• Learn to code- some level, some platform.
• Learn the database- the best DBA’s know their
  data.
• Participate in code reviews- Be a productive
  participant.
• Give read only access to key developers
• Share with Developers what you know- it
  shouldn’t look like magic!
• Don’t make decisions based on control- base
  them on the business’ best interest.
• Never assume, request time to research and
  have data behind findings.

                                                  17
Options for Developers?
• Educate yourself on how Oracle works and about
  the Cost Based Optimizer, (CBO)
• Help with production issues- you are often an
  integral part of the solution!
• Build your code to perform efficiently, not just
  functionally.
• Share your knowledge with the database
  administrators.
• Ensure that anything going to production is
  ready, support your DBA!



                                                     18
When Communication Degrades
Focus on:
• End-user experience instead of individual goals.
• The value to the business
• Do not personalize
• Remember to show respect
• Consult each other when opportunity presents
  itself.
• Support, do not sabotage the other group.
• Possess higher authority when issues remain
  unresolved.



                                                     19
Next Level…
• Review and verify that expectations were clearly
  defined.
• Verify that respect is being shown.
• Don’t allow any negative competition.
• Trust and confidence in the other’s capabilities to
  complete their roles.
• Live up to our own expectations.
• Involve each group earlier in projects.
• Final decision by higher authority when unable to
  resolve disagreement is agreed to be followed.



                                                        20
What the DBA Should Always Do
• Ensure development database are FULL/recent
  copy of production environment.
• Ensure Development has FULL access to the
  development environment.
• Grant access to performance metrics.
• Less than full copy allows for “assumptions” to
  lead into testing scenarios.


If you have Enterprise Manager 12c, GRANT
THEM ACCESS!!


                                                    21
Read Only Access in EM12c
• Create User, (Do not Create Like until
  you create first “read-only user”

• Choose to add the EM_ALL_VIEWER
  Role




                                           22
Setting up Target Access
Choose Global Grants or Target Specific




                                          23
Review and Submit
Set up target access with this login or use existing
logins.




                                                       24
Target Level Logins
For logins to a target, they require the following:
•   Connect
•   View_any_dictionary
•   Advisor


Object Level Privileges for AWR:
GRANT   SELECT ON SYS.V_$DATABASE TO user;
GRANT   SELECT ON SYS.V_$INSTANCE TO user;
GRANT   EXECUTE ON SYS.DBMS_WORKLOAD_REPOSITORY TO user;
GRANT   SELECT ON SYS.DBA_HIST_DATABASE_INSTANCE TO user;
GRANT   SELECT ON SYS.DBA_HIST_SNAPSHOT TO user;




                                                            25
This is NOT GOOD




Or this:




                   26
What Developers Need to Know
• Know the difference between an explain plan
  and an execution plan.
   • The explain plan is the choice the CBO, (Cost
     Based Optimizer) may choose.
   • The execution plan is the actual plan the
     CBO made with a SQL statement.
• Learn how to view temp usage.
• Use SQL Monitor after DBA’s grant access.




                                                     27
Plans in 11g
Turn on Auto-Trace in SQL*Plus:
      SET AUTOTRACE ON




                                  28
DBMS_XPLAN
Collect info from DBMS_XPLAN:
         Execute Query,
         SELECT * FROM
TABLE(DBMS_XPLAN.DISPLAY_CURSOR
(format=>'ADVANCED'));




                                  29
What is the Cost Based Optimizer
The Cost Based Optimizer, aka CBO:
Determines the most efficient path to executing a
SQL statement.

CBO choices are impacted by:
• Parameters, such as OPTIMIZER_MODE
• Session level parameters.
• Statement Hints
• Statistics and Dynamic Sampling
• Parallelism, (High DOP)
• Complex design
• THE SQL
• ….
                                                    30
Viewing Temp and Memory Usage
select vst.sql_text, swa.sql_id, swa.sid, swa.tablespace
, swa.operation_type
, trunc(swa.work_area_size/1024/1024) "PGA MB"
, trunc(swa.max_mem_used/1024/1024)"Mem MB"
, trunc(swa.tempseg_size/1024/1024)"Temp MB"
from v$sql_workarea_active swa, v$session vs, v$sqltext vst
where swa.sid=vs.sid
and swa.sql_id=vs.sql_id
and vs.sql_id=vst.sql_id
and vst.piece=0
order by swa.sql_id



 SELECT i.COL1, COUNT(t.col4) i.col3        4jv6ja2qa2p7z     515
 GROUP BY (HASH)             996       15

 SELECT i.COL1, COUNT(t.col4) i.col3      4jv6ja2qa2p7z       515
 TEMP      BUFFER              1       97          23




                                                                    31
SQL Monitor




              32
SQL Monitor Features




• Status of process- active or complete
• Wait information, including legend color.



                                              33
SQL Monitor with Parallel




• Parallel, requested vs. allocated.
• Instance ID for RAC and SQL_ID links


                                         34
We’re All In This Together!
• Trust and common vision should be
  the goal.
• Performance is part of the goal, not
  just functionality.
• If you aren’t helping, you’re hindering.
• Its the business’ database, no one
  else has a right to ownership.
• Being right is not always the same as
  doing the right thing.
                                             35
References
DBAs Gone Bad
http://c2.com/cgi/wiki?DbasGoneBad
Can DBAs and Programmers Ever Get Along?
http://www.creativemac.com/articles/viewarticle.jsp?id=37828-1
Communication and the Database World
http://www.scarydba.com/2011/03/21/communication/
Kerry Osborne, Oracle Performance for Developers and the DBA’s that
Love Them
http://kerryosborne.oracle-
guy.com/papers/Oracle_Performance_for_Developers_and_the_DBAs_
Who_Love_Them-Final.pdf
Solving the Problem of Prima-Donna Developers
http://www.techrepublic.com/article/solving-the-problem-of-prima-donna-
developers/1046043
Survival Tps for Developers/DBA’s: How to talk to [Each Other]
http://thomaslarock.com/2012/08/survival-tips-for-developers-how-to-
talk-to-your-dba/
                                                                          36
Questions?
dbakevlar@gmail.com
http://dbakevlar.com
Twitter- @dbakevlar
Linkedin- Kellyn Pot’vin




                              Fastest Growing Companies
                                                in Dallas


                                                            37

Más contenido relacionado

Similar a Redgate How to be Friends with Developers

It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny daybcoder
 
Friday final test
Friday final testFriday final test
Friday final testbcoder
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedAlexander Makarov
 
14 Habits of Great SQL Developers
14 Habits of Great SQL Developers14 Habits of Great SQL Developers
14 Habits of Great SQL DevelopersIke Ellis
 
How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!pixelonion
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developersOusman L. Kallay
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLCAbdul Karim
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developerenteritos
 
Does cloud mean the end of the dba
Does cloud mean the end of the dbaDoes cloud mean the end of the dba
Does cloud mean the end of the dbaOsama Mustafa
 
Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06jimbojsb
 
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)kevinjohngallagher
 
Development Environment Tips
Development Environment TipsDevelopment Environment Tips
Development Environment TipsAdam Culp
 
Enable DevOps culture through BDD - By including 4th amigo Ops
Enable DevOps culture through BDD - By including 4th amigo OpsEnable DevOps culture through BDD - By including 4th amigo Ops
Enable DevOps culture through BDD - By including 4th amigo OpsVinay Krishna
 
How to make change happen in your organisation by talking your devs language
How to make change happen in your organisation by talking your devs languageHow to make change happen in your organisation by talking your devs language
How to make change happen in your organisation by talking your devs languageBuiltvisible
 
Emperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkEmperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkkevinjohngallagher
 
Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012kevinjohngallagher
 

Similar a Redgate How to be Friends with Developers (20)

It is a sunny day
It is a sunny dayIt is a sunny day
It is a sunny day
 
Friday final test
Friday final testFriday final test
Friday final test
 
Devconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developedDevconf 2011 - PHP - How Yii framework is developed
Devconf 2011 - PHP - How Yii framework is developed
 
14 Habits of Great SQL Developers
14 Habits of Great SQL Developers14 Habits of Great SQL Developers
14 Habits of Great SQL Developers
 
Let's get along
Let's get alongLet's get along
Let's get along
 
How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!How Not to Be Conned by Your Drupal Vendor!
How Not to Be Conned by Your Drupal Vendor!
 
Good behaviors
Good behaviorsGood behaviors
Good behaviors
 
Good developers vs bad developers
Good developers vs bad developersGood developers vs bad developers
Good developers vs bad developers
 
How to Implement Domain Driven Design in Real Life SDLC
How to Implement Domain Driven Design  in Real Life SDLCHow to Implement Domain Driven Design  in Real Life SDLC
How to Implement Domain Driven Design in Real Life SDLC
 
The 360 Developer
The 360 DeveloperThe 360 Developer
The 360 Developer
 
Does cloud mean the end of the dba
Does cloud mean the end of the dbaDoes cloud mean the end of the dba
Does cloud mean the end of the dba
 
Emperors new clothes_jab
Emperors new clothes_jabEmperors new clothes_jab
Emperors new clothes_jab
 
Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06Austin NoSQL 2011-07-06
Austin NoSQL 2011-07-06
 
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)
Kevinjohn Gallagher's: Emperors new clothes (WordUp Glasgow 2012)
 
Development Environment Tips
Development Environment TipsDevelopment Environment Tips
Development Environment Tips
 
Enable DevOps culture through BDD - By including 4th amigo Ops
Enable DevOps culture through BDD - By including 4th amigo OpsEnable DevOps culture through BDD - By including 4th amigo Ops
Enable DevOps culture through BDD - By including 4th amigo Ops
 
How to make change happen in your organisation by talking your devs language
How to make change happen in your organisation by talking your devs languageHow to make change happen in your organisation by talking your devs language
How to make change happen in your organisation by talking your devs language
 
Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
Emperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakkEmperors new clothes_digitalbarn_output_snakk
Emperors new clothes_digitalbarn_output_snakk
 
Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012Emperors new clothes - digitalbarn2012
Emperors new clothes - digitalbarn2012
 

Más de Kellyn Pot'Vin-Gorman

Redgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptxRedgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptxKellyn Pot'Vin-Gorman
 
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptxSQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptxKellyn Pot'Vin-Gorman
 
Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"Kellyn Pot'Vin-Gorman
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BIKellyn Pot'Vin-Gorman
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalKellyn Pot'Vin-Gorman
 
PASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksPASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksKellyn Pot'Vin-Gorman
 
Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudKellyn Pot'Vin-Gorman
 
ODTUG Leadership Talk- WIT and Sponsorship
ODTUG Leadership Talk-  WIT and SponsorshipODTUG Leadership Talk-  WIT and Sponsorship
ODTUG Leadership Talk- WIT and SponsorshipKellyn Pot'Vin-Gorman
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the DataKellyn Pot'Vin-Gorman
 

Más de Kellyn Pot'Vin-Gorman (20)

Redgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptxRedgate_summit_atl_kgorman_intersection.pptx
Redgate_summit_atl_kgorman_intersection.pptx
 
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptxSQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
SQLSatOregon_kgorman_keynote_NIAIMLEC.pptx
 
Boston_sql_kegorman_highIO.pptx
Boston_sql_kegorman_highIO.pptxBoston_sql_kegorman_highIO.pptx
Boston_sql_kegorman_highIO.pptx
 
Oracle on Azure IaaS 2023 Update
Oracle on Azure IaaS 2023 UpdateOracle on Azure IaaS 2023 Update
Oracle on Azure IaaS 2023 Update
 
IaaS for DBAs in Azure
IaaS for DBAs in AzureIaaS for DBAs in Azure
IaaS for DBAs in Azure
 
Being Successful with ADHD
Being Successful with ADHDBeing Successful with ADHD
Being Successful with ADHD
 
Azure DBA with IaaS
Azure DBA with IaaSAzure DBA with IaaS
Azure DBA with IaaS
 
Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"Turning ADHD into "Awesome Dynamic Highly Dependable"
Turning ADHD into "Awesome Dynamic Highly Dependable"
 
PASS Summit 2020
PASS Summit 2020PASS Summit 2020
PASS Summit 2020
 
DevOps in Silos
DevOps in SilosDevOps in Silos
DevOps in Silos
 
Azure Databases with IaaS
Azure Databases with IaaSAzure Databases with IaaS
Azure Databases with IaaS
 
How to Win When Migrating to Azure
How to Win When Migrating to AzureHow to Win When Migrating to Azure
How to Win When Migrating to Azure
 
Securing Power BI Data
Securing Power BI DataSecuring Power BI Data
Securing Power BI Data
 
Cepta The Future of Data with Power BI
Cepta The Future of Data with Power BICepta The Future of Data with Power BI
Cepta The Future of Data with Power BI
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft Professional
 
Taming the shrew Power BI
Taming the shrew Power BITaming the shrew Power BI
Taming the shrew Power BI
 
PASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and TricksPASS 24HOP Linux Scripting Tips and Tricks
PASS 24HOP Linux Scripting Tips and Tricks
 
Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle Cloud
 
ODTUG Leadership Talk- WIT and Sponsorship
ODTUG Leadership Talk-  WIT and SponsorshipODTUG Leadership Talk-  WIT and Sponsorship
ODTUG Leadership Talk- WIT and Sponsorship
 
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys  How to Build a Successful Microsoft DevOps Including the DataDevOps and Decoys  How to Build a Successful Microsoft DevOps Including the Data
DevOps and Decoys How to Build a Successful Microsoft DevOps Including the Data
 

Último

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Último (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Redgate How to be Friends with Developers

  • 1. How to Become Friends with Developers and Stop Making DBA Stand for "Don't Bother Asking" Presented by: Kellyn Pot’Vin Sr. Technical Consultant, Enkitec March 27, 2013
  • 2. Who am I? • Resides in Westminster, Colorado • Oracle ACE, Sr. Technical Specialist at Enkitec • Specialize in performance and enterprise management of large database environments. • Board of directors for RMOUG, Director of Training Days 2014 and Database Track Lead for KSCOPE 2013 • Blog: http://DBAKevlar.com • Twitter: @DBAKevlar • Expert EM12c Book- May 16th from Apress 3
  • 3. Why This Topic? • Conversations with User Group Members/peers. • How Often I Experience it professionally. • Read about it often in blogs, articles and in books. • Some of my biggest wins, consider my most important compliments had to do with this subject. • When first learning, others would seek me out over others who knew more because of it. 4
  • 4. The Valued Lesson • First “official” Job as a DBA • First Time Managing MSSQL • Instructed NOT to Speak to Dev/App Group. • Two Frustrating Weeks. • Broke “No Communication” Rule • Great Experience • Supported for Four Years 5
  • 5. The Ball and Chain “If you have been in IT long enough, you are probably aware that most DBAs don't get along well with the developers. They are somewhat akin to a husband and wife who don’t like each other but can't get a divorce.“ 6
  • 6. Different Goals Developer Goals- To implement new business enhancements, often by a deadline. Database Administrator- Ensure that database environments are accessible and functioning 24X7 without any interruption to service. Outside Influencers- To ensure they get what they want, even if requirements given to Developers are unattainable and risk production uptime for Database Administrators. 7
  • 7. Negative Culture “[Most] DBAs aren't happy unless they're well established as the bottlenecks in the [development] process.” “If Shakespeare were alive in 2012, he’d be a technical writer, and his motto would be: “Kill all the DBAs.” “Why does it take two developers to change a light bulb? Because one always leaves in the middle of the project.“ “The Only way I know to deal with Developers involves a bat!” Now, try substituting an minority or racial group when you say anything similar to the above comments and you may think twice about what may have become culturally acceptable in the workplace. 8
  • 8. What Many DBA’s Think is Required to talk to Developers Dangerous Borderline Safe Safest Your code sucks Interesting Would you like This is brilliant coding choice to work on this together? Yeah, You’re You need 2TB I think we This is brilliant not getting 2 of space for could rewrite TB for THIS. this? this to use less temp. Why would you This may not I’d like to This is brilliant ever do this? be the best recommend an way to write alternative this… strategy. 9
  • 9. What Developers think is required to talk with DBA’s Dangerous Borderline Safe Safest Nothings Could I’m sure You are Changed something something absolutely have changed? must have correct. changed. The database Something Could you help You are sucks seems to be me out and absolutely up with the check the correct. database. database? It works great We did test I could really You are in dev and this, but it is use your help absolutely test. having issues figuring out correct. in production. why its having issues in prod. 10
  • 10. We Lack Respect, but Why? • Deadlines • Demands of each group • Lack of respect for each role’s skill set  Truth is, both sides think they are Obi Wan and neither are Darth Vader! 11
  • 11. Results • Impacts productivity • Causes Turnover, eliminating positions. • Costs business $$ In My Opinion- • Demands Developers to fill DBA positions in hopes of meeting deadlines. • Reason for “Agile Like” development processes. • Makes more demand for “open-source” tools to circumvent RDBMS dependent environments. 12
  • 12. Why DBA’s are Needed Database Administrators and Developers primary roles require different mindsets. To play both roles often: • Is a conflict of interest. • Leaves priorities unaddressed. • Lessens expertise. 13
  • 13. Why we Need Developers That differing mindset requires someone who can visualize quickly how to design a process, yet not overthink the issues that might arise, (that is the DBA’s job when time comes for code review!) For a Developer to perform his tasks and maintain the database, do afterhours support, etc.?? 14
  • 14. Changing the Game How do we change the never-ending battle? First identify the source of the conflict- • Is it centralized? • Is it between certain individuals? • Is it cultural in an organization? • Are there outside contributors? 15
  • 15. Standing Up to the Fight Find a responsible manager to buy-in. Focus on- • Cost to • Resources • Deadlines • Goals • Revenue • Changing the culture, not assigning blame. If you are assigning blame, you may be part of the problem… 16
  • 16. As a DBA? • Learn to code- some level, some platform. • Learn the database- the best DBA’s know their data. • Participate in code reviews- Be a productive participant. • Give read only access to key developers • Share with Developers what you know- it shouldn’t look like magic! • Don’t make decisions based on control- base them on the business’ best interest. • Never assume, request time to research and have data behind findings. 17
  • 17. Options for Developers? • Educate yourself on how Oracle works and about the Cost Based Optimizer, (CBO) • Help with production issues- you are often an integral part of the solution! • Build your code to perform efficiently, not just functionally. • Share your knowledge with the database administrators. • Ensure that anything going to production is ready, support your DBA! 18
  • 18. When Communication Degrades Focus on: • End-user experience instead of individual goals. • The value to the business • Do not personalize • Remember to show respect • Consult each other when opportunity presents itself. • Support, do not sabotage the other group. • Possess higher authority when issues remain unresolved. 19
  • 19. Next Level… • Review and verify that expectations were clearly defined. • Verify that respect is being shown. • Don’t allow any negative competition. • Trust and confidence in the other’s capabilities to complete their roles. • Live up to our own expectations. • Involve each group earlier in projects. • Final decision by higher authority when unable to resolve disagreement is agreed to be followed. 20
  • 20. What the DBA Should Always Do • Ensure development database are FULL/recent copy of production environment. • Ensure Development has FULL access to the development environment. • Grant access to performance metrics. • Less than full copy allows for “assumptions” to lead into testing scenarios. If you have Enterprise Manager 12c, GRANT THEM ACCESS!! 21
  • 21. Read Only Access in EM12c • Create User, (Do not Create Like until you create first “read-only user” • Choose to add the EM_ALL_VIEWER Role 22
  • 22. Setting up Target Access Choose Global Grants or Target Specific 23
  • 23. Review and Submit Set up target access with this login or use existing logins. 24
  • 24. Target Level Logins For logins to a target, they require the following: • Connect • View_any_dictionary • Advisor Object Level Privileges for AWR: GRANT SELECT ON SYS.V_$DATABASE TO user; GRANT SELECT ON SYS.V_$INSTANCE TO user; GRANT EXECUTE ON SYS.DBMS_WORKLOAD_REPOSITORY TO user; GRANT SELECT ON SYS.DBA_HIST_DATABASE_INSTANCE TO user; GRANT SELECT ON SYS.DBA_HIST_SNAPSHOT TO user; 25
  • 25. This is NOT GOOD Or this: 26
  • 26. What Developers Need to Know • Know the difference between an explain plan and an execution plan. • The explain plan is the choice the CBO, (Cost Based Optimizer) may choose. • The execution plan is the actual plan the CBO made with a SQL statement. • Learn how to view temp usage. • Use SQL Monitor after DBA’s grant access. 27
  • 27. Plans in 11g Turn on Auto-Trace in SQL*Plus: SET AUTOTRACE ON 28
  • 28. DBMS_XPLAN Collect info from DBMS_XPLAN: Execute Query, SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR (format=>'ADVANCED')); 29
  • 29. What is the Cost Based Optimizer The Cost Based Optimizer, aka CBO: Determines the most efficient path to executing a SQL statement. CBO choices are impacted by: • Parameters, such as OPTIMIZER_MODE • Session level parameters. • Statement Hints • Statistics and Dynamic Sampling • Parallelism, (High DOP) • Complex design • THE SQL • …. 30
  • 30. Viewing Temp and Memory Usage select vst.sql_text, swa.sql_id, swa.sid, swa.tablespace , swa.operation_type , trunc(swa.work_area_size/1024/1024) "PGA MB" , trunc(swa.max_mem_used/1024/1024)"Mem MB" , trunc(swa.tempseg_size/1024/1024)"Temp MB" from v$sql_workarea_active swa, v$session vs, v$sqltext vst where swa.sid=vs.sid and swa.sql_id=vs.sql_id and vs.sql_id=vst.sql_id and vst.piece=0 order by swa.sql_id SELECT i.COL1, COUNT(t.col4) i.col3 4jv6ja2qa2p7z 515 GROUP BY (HASH) 996 15 SELECT i.COL1, COUNT(t.col4) i.col3 4jv6ja2qa2p7z 515 TEMP BUFFER 1 97 23 31
  • 32. SQL Monitor Features • Status of process- active or complete • Wait information, including legend color. 33
  • 33. SQL Monitor with Parallel • Parallel, requested vs. allocated. • Instance ID for RAC and SQL_ID links 34
  • 34. We’re All In This Together! • Trust and common vision should be the goal. • Performance is part of the goal, not just functionality. • If you aren’t helping, you’re hindering. • Its the business’ database, no one else has a right to ownership. • Being right is not always the same as doing the right thing. 35
  • 35. References DBAs Gone Bad http://c2.com/cgi/wiki?DbasGoneBad Can DBAs and Programmers Ever Get Along? http://www.creativemac.com/articles/viewarticle.jsp?id=37828-1 Communication and the Database World http://www.scarydba.com/2011/03/21/communication/ Kerry Osborne, Oracle Performance for Developers and the DBA’s that Love Them http://kerryosborne.oracle- guy.com/papers/Oracle_Performance_for_Developers_and_the_DBAs_ Who_Love_Them-Final.pdf Solving the Problem of Prima-Donna Developers http://www.techrepublic.com/article/solving-the-problem-of-prima-donna- developers/1046043 Survival Tps for Developers/DBA’s: How to talk to [Each Other] http://thomaslarock.com/2012/08/survival-tips-for-developers-how-to- talk-to-your-dba/ 36