Informationoracle数据库学习

oracle数据库学习  时间:2021-04-05  阅读:()
OracleDatabase11gPerformanceTuningRecipesAProblem-SolutionApproachSamR.
AlapatiDarlKuhnBillPadfieldOracleDatabase11gPerformanceTuningRecipes:AProblem-SolutionApproachCopyright2011bySamR.
Alapati,DarlKuhn,andBillPadfieldAllrightsreserved.
Nopartofthisworkmaybereproducedortransmittedinanyformorbyanymeans,electronicormechanical,includingphotocopying,recording,orbyanyinformationstorageorretrievalsystem,withoutthepriorwrittenpermissionofthecopyrightownerandthepublisher.
ISBN978-1-4302-3662-7ISBN978-1-4302-3663-4(eBook)Trademarkednames,logos,andimagesmayappearinthisbook.
Ratherthanuseatrademarksymbolwitheveryoccurrenceofatrademarkedname,logo,orimageweusethenames,logos,andimagesonlyinaneditorialfashionandtothebenefitofthetrademarkowner,withnointentionofinfringementofthetrademark.
Theuseinthispublicationoftradenames,trademarks,servicemarks,andsimilarterms,eveniftheyarenotidentifiedassuch,isnottobetakenasanexpressionofopinionastowhetherornottheyaresubjecttoproprietaryrights.
PresidentandPublisher:PaulManningLeadEditor:JonathanGennickTechnicalReviewer:SurachartOpunEditorialBoard:SteveAnglin,MarkBeckner,EwanBuckingham,GaryCornell,JonathanGennick,JonathanHassell,MichelleLowman,JamesMarkham,MatthewMoodie,JeffOlson,JeffreyPepper,FrankPohlmann,DouglasPundick,BenRenow-Clarke,DominicShakeshaft,MattWade,TomWelshCoordinatingEditor:AnitaCastroCopyEditor:MaryAnnFugateProductionSupport:PatrickCunninghamIndexer:SPIGlobalArtist:SPIGlobalCoverDesigner:AnnaIshchenkoDistributedtothebooktradeworldwidebySpringerScience+BusinessMedia,LLC.
,233SpringStreet,6thFloor,NewYork,NY10013.
Phone1-800-SPRINGER,fax(201)348-4505,e-mailorders-ny@springer-sbm.
com,orvisitwww.
springeronline.
com.
Forinformationontranslations,pleasee-mailrights@apress.
com,orvisitwww.
apress.
com.
ApressandfriendsofEDbooksmaybepurchasedinbulkforacademic,corporate,orpromotionaluse.
eBookversionsandlicensesarealsoavailableformosttitles.
Formoreinformation,referenceourSpecialBulkSales–eBookLicensingwebpageatwww.
apress.
com/bulk-sales.
Theinformationinthisbookisdistributedonan"asis"basis,withoutwarranty.
Althougheveryprecautionhasbeentakeninthepreparationofthiswork,neithertheauthor(s)norApressshallhaveanyliabilitytoanypersonorentitywithrespecttoanylossordamagecausedorallegedtobecauseddirectlyorindirectlybytheinformationcontainedinthiswork.
ToValerie,Nina,andNicholasWithloveandaffection—SamAlapatiToHeidi,Brandi,andLisa—DarlKuhnToOyunaandEvanforputtingupwithmeandalltheeveningsandweekendsspentwithmycomputerinsteadofwiththem!
!
ToCarol,Gerry,Susan,Doug,Scott,Chris,Jaimie,Katie,Jenny,Jeremy,andSean.
Ilovemyfamily!
—BillPadfieldivContentsataGlanceAbouttheAuthors.
xviAbouttheTechnicalReviewer.
xviiAcknowledgments.
xviiiChapter1:OptimizingTablePerformance.
1Chapter2:ChoosingandOptimizingIndexes.
43Chapter3:OptimizingInstanceMemory.
83Chapter4:MonitoringSystemPerformance113Chapter5:MinimizingSystemContention147Chapter6:AnalyzingOperatingSystemPerformance185Chapter7:TroubleshootingtheDatabase209Chapter8:CreatingEfficientSQL253Chapter9:ManuallyTuningSQL.
299Chapter10:TracingSQLExecution327Chapter11:AutomatedSQLTuning.
367Chapter12:ExecutionPlanOptimizationandConsistency.
409Chapter13:ConfiguringtheOptimizer.
447Chapter14:ImplementingQueryHints491Chapter15:ExecutingSQLinParallel525Index.
555vContentsAbouttheAuthors.
xviAbouttheTechnicalReviewer.
xviiAcknowledgments.
xviiiChapter1:OptimizingTablePerformance.
11-1.
BuildingaDatabaseThatMaximizesPerformance.
21-2.
CreatingTablespacestoMaximizePerformance.
51-3.
MatchingTableTypestoBusinessRequirements81-4.
ChoosingTableFeaturesforPerformance.
91-5.
AvoidingExtentAllocationDelaysWhenCreatingTables.
121-6.
MaximizingDataLoadingSpeeds141-7.
EfficientlyRemovingTableData171-8.
DisplayingAutomatedSegmentAdvisorAdvice191-9.
ManuallyGeneratingSegmentAdvisorAdvice231-10.
AutomaticallyE-mailingSegmentAdvisorOutput271-11.
RebuildingRowsSpanningMultipleBlocks.
281-12.
FreeingUnusedTableSpace.
321-13.
CompressingDataforDirectPathLoading331-14.
CompressingDataforAllDML361-15.
CompressingDataattheColumnLevel381-16.
MonitoringTableUsage40CONTENTSviChapter2:ChoosingandOptimizingIndexes.
432-1.
UnderstandingB-treeIndexes.
452-2.
DecidingWhichColumnstoIndex.
512-3.
CreatingaPrimaryKeyIndex.
542-4.
CreatingaUniqueIndex.
562-5.
IndexingForeignKeyColumns.
592-6.
DecidingWhentoUseaConcatenatedIndex.
602-7.
ReducingIndexSizeThroughCompression.
632-8.
ImplementingaFunction-BasedIndex.
642-9.
IndexingaVirtualColumn672-10.
AvoidingConcentratedI/OforIndex.
682-11.
AddinganIndexWithoutImpactingExistingApplications702-12.
CreatingaBitmapIndexinSupportofaStarSchema.
722-13.
CreatingaBitmapJoinIndex732-14.
CreatinganIndex-OrganizedTable.
742-15.
MonitoringIndexUsage.
752-16.
MaximizingIndexCreationSpeed.
772-17.
ReclaimingUnusedIndexSpace.
78Chapter3:OptimizingInstanceMemory.
833-1.
AutomatingMemoryManagement.
833-2.
ManagingMultipleBufferPools.
873-3.
SettingMinimumValuesforMemory.
893-4.
MonitoringMemoryResizingOperations903-5.
OptimizingMemoryUsage913-6.
TuningPGAMemoryAllocation.
933-7.
ConfiguringtheServerQueryCache.
95CONTENTSvii3-8.
ManagingtheServerResultCache.
973-9.
CachingSQLQueryResults.
993-10.
CachingClientResultSets1033-11.
CachingPL/SQLFunctionResults1053-12.
ConfiguringtheOracleDatabaseSmartFlashCache1093-13.
TuningtheRedoLogBuffer.
110Chapter4:MonitoringSystemPerformance1134-1.
ImplementingAutomaticWorkloadRepository(AWR)1134-2.
ModifyingtheStatisticsIntervalandRetentionPeriods1164-3.
GeneratinganAWRReportManually1174-4.
GeneratinganAWRReportviaEnterpriseManager.
1204-5.
GeneratinganAWRReportforaSingleSQLStatement.
1214-6.
CreatingaStatisticalBaselineforYourDatabase.
1234-7.
ManagingAWRBaselinesviaEnterpriseManager1264-8.
ManagingAWRStatisticsRepository.
1294-9.
CreatingAWRBaselinesAutomatically.
1314-10.
QuicklyAnalyzingAWROutput.
1334-11.
ManuallyGettingActiveSessionInformation.
1344-12.
GettingASHInformationfromEnterpriseManager.
1404-13.
GettingASHInformationfromtheDataDictionary.
142Chapter5:MinimizingSystemContention1475-1.
UnderstandingResponseTime1475-2.
IdentifyingSQLStatementswiththeMostWaits.
1505-3.
AnalyzingWaitEvents.
1515-4.
UnderstandingWaitClassEvents.
1525-5.
ExaminingSessionWaits153CONTENTSviii5-6.
ExaminingWaitEventsbyClass1545-7.
ResolvingBufferBusyWaits1575-8.
ResolvingLogFileSyncWaits.
1585-9.
MinimizingreadbyothersessionWaitEvents.
1605-10.
ReducingDirectPathReadWaitEvents.
1615-11.
MinimizingRecoveryWriterWaits1625-12.
FindingOutWho'sHoldingaBlockingLock.
1635-13.
IdentifyingBlockedandBlockingSessions.
1655-14.
DealingwithaBlockingLock.
1675-15.
IdentifyingaLockedObject.
1685-16.
Resolvingenq:TMLockContention.
1695-17.
IdentifyingRecentlyLockedSessions.
1715-18.
AnalyzingRecentWaitEventsinaDatabase.
1745-19.
IdentifyingTimeSpentWaitingDuetoLocking1755-20.
MinimizingLatchContention.
1785-21.
ManagingLocksfromOracleEnterpriseManager.
1815-22.
AnalyzingWaitsfromOracleEnterpriseManager.
182Chapter6:AnalyzingOperatingSystemPerformance1856-1.
DetectingDiskSpaceIssues.
1876-2.
IdentifyingSystemBottlenecks(vmstat)1906-3.
IdentifyingSystemBottlenecks(Solaris)1926-4.
IdentifyingTopServer-ConsumingResources(top)1946-5.
IdentifyingCPUandMemoryBottlenecks(ps)1976-6.
IdentifyingI/OBottlenecks.
1986-7.
IdentifyingNetwork-IntensiveProcesses.
2016-8.
TroubleshootingDatabaseNetworkConnectivity202CONTENTSix6-9.
MappingaResource-IntensiveProcesstoaDatabaseProcess2046-10.
TerminatingaResource-IntensiveProcess.
207Chapter7:TroubleshootingtheDatabase2097-1.
DeterminingtheOptimalUndoRetentionPeriod.
2097-2.
FindingWhat'sConsumingtheMostUndo2137-3.
ResolvinganORA-01555Error.
2157-4.
MonitoringTemporaryTablespaceUsage.
2177-5.
IdentifyingWhoIsUsingtheTemporaryTablespace2187-6.
Resolvingthe"UnabletoExtendTempSegment"Error.
2207-7.
ResolvingOpenCursorErrors2227-8.
ResolvingaHungDatabase2247-9.
InvokingtheAutomaticDiagnosticRepositoryCommandInterpreter2297-10.
ViewinganAlertLogfromADRCI.
2337-11.
ViewingIncidentswithADRCI2357-12.
PackagingIncidentsforOracleSupport.
2367-13.
RunningaDatabaseHealthCheck.
2387-14.
CreatingaSQLTestCase.
2407-15.
GeneratinganAWRReport.
2437-16.
ComparingDatabasePerformanceBetweenTwoPeriods.
2467-17.
AnalyzinganAWRReport.
248Chapter8:CreatingEfficientSQL2538-1.
RetrievingAllRowsfromaTable.
2548-2.
RetrieveaSubsetofRowsfromaTable.
2568-3.
JoiningTableswithCorrespondingRows.
2588-4.
JoiningTablesWhenCorrespondingRowsMayBeMissing.
2598-5.
ConstructingSimpleSubqueries.
263CONTENTSx8-6.
ConstructingCorrelatedSubqueries2678-7.
ComparingTwoTablestoFindingMissingRows.
2698-8.
ComparingTwoTablestoFindingMatchingRows.
2718-9.
CombiningResultsfromSimilarSELECTStatements2718-10.
SearchingforaRangeofValues.
2748-11.
HandlingNullValues2778-12.
SearchingforPartialColumnValues.
2808-13.
Re-usingSQLStatementsWithintheSharedPool.
2848-14.
AvoidingAccidentalFullTableScans.
2888-15.
CreatingEfficientTemporaryViews.
2908-16.
AvoidingtheNOTClause.
2938-17.
ControllingTransactionSizes.
295Chapter9:ManuallyTuningSQL.
2999-1.
DisplayinganExecutionPlanforaQuery.
3009-2.
CustomizingExecutionPlanOutput3029-3.
GraphicallyDisplayinganExecutionPlan3069-4.
ReadinganExecutionPlan.
3079-5.
MonitoringLong-RunningSQLStatements.
3109-6.
IdentifyingResource-ConsumingSQLStatementsThatAreCurrentlyExecuting.
3119-7.
SeeingExecutionStatisticsforCurrentlyRunningSQL3129-8.
MonitoringProgressofaSQLExecutionPlan.
3169-9.
IdentifyingResource-ConsumingSQLStatementsThatHaveExecutedinthePast.
3199-10.
ComparingSQLPerformanceAfteraSystemChange321CONTENTSxiChapter10:TracingSQLExecution32710-1.
PreparingYourEnvironment32710-2.
TracingaSpecificSQLStatement.
33010.
3.
EnablingTracinginYourOwnSession.
33210-4.
FindingtheTraceFiles.
33210-5.
ExaminingaRawSQLTraceFile.
33410-6.
AnalyzingOracleTraceFiles.
33510-7.
FormattingTraceFileswithTKPROF.
33610-8.
AnalyzingTKPROFOutput33710-9.
AnalyzingTraceFileswithOracleTraceAnalyzer34010-10.
TracingaParallelQuery.
34310-11.
TracingSpecificParallelQueryProcesses.
34510-12.
TracingParallelQueriesinaRACSystem.
34610-13.
ConsolidatingMultipleTraceFiles34710-14.
FindingtheCorrectSessionforTracing.
34810-15.
TracingaSQLSession.
34910-16.
TracingaSessionbyProcessID35110-17.
TracingMultipleSessions.
35210-18.
TracinganInstanceoraDatabase.
35310-19.
GeneratinganEvent10046TraceforaSession35410-20.
GeneratinganEvent10046TraceforanInstance.
35610-21.
SettingaTraceinaRunningSession35610-22.
EnablingTracinginaSessionAfteraLogin.
35710-23.
TracingtheOptimizer'sExecutionPath35810-24.
GeneratingAutomaticOracleErrorTraces.
36110-25.
TracingaBackgroundProcess362CONTENTSxii10-26.
EnablingOracleListenerTracing36310-27.
SettingArchiveTracingforDataGuard.
365Chapter11:AutomatedSQLTuning.
36711-1.
DisplayingAutomaticSQLTuningJobDetails37011-2.
DisplayingAutomaticSQLTuningAdvice.
37211-3.
GeneratingaSQLScripttoImplementAutomaticTuningAdvice37611-4.
ModifyingAutomaticSQLTuningFeatures.
37711-5.
DisablingandEnablingAutomaticSQLTuning38011-6.
ModifyingMaintenanceWindowAttributes38111-7.
CreatingaSQLTuningSetObject38311-8.
ViewingResource-IntensiveSQLintheAWR.
38411-9.
ViewingResource-IntensiveSQLinMemory38611-10.
PopulatingSQLTuningSetfromHigh-ResourceSQLinAWR.
38811-11.
PopulatingaSQLTuningSetfromResource-ConsumingSQLinMemory.
39011-12.
PopulatingSQLTuningSetwithAllSQLinMemory.
39111-13.
DisplayingtheContentsofaSQLTuningSet.
39311-14.
SelectivelyDeletingStatementsfromaSQLTuningSet.
39411-15.
TransportingaSQLTuningSet.
39611-16.
CreatingaTuningTask39811-17.
ManuallyRunningSQLTuningAdvisor40111-18.
GettingSQLTuningAdvicefromtheAutomaticDatabaseDiagnosticMonitor.
.
404Chapter12:ExecutionPlanOptimizationandConsistency.
40912-1.
CreatingandAcceptingaSQLProfile41312-2.
AutomaticallyAcceptingSQLProfiles41712-3.
DisplayingSQLProfileInformation.
41912-4.
DisablingaSQLProfile.
421CONTENTSxiii12-5.
DroppingaSQLProfile42312-6.
MovingaSQLProfile.
42412-7.
AutomaticallyAddingPlanBaselines.
42612-8.
CreatingaPlanBaselineforOneSQLStatement.
42812-9.
CreatingPlanBaselinesforSQLContainedinSQLTuningSet43112-10.
AlteringaPlanBaseline43312-11.
DeterminingIfPlanBaselinesExist.
43612-12.
DisplayingPlanBaselineExecutionPlans.
43712-13.
AddingaNewPlantoPlanBaseline(Evolving)43912-14.
DisablingPlanBaselines.
44212-15.
RemovingPlanBaselineInformation44312-16.
TransportingPlanBaselines.
444Chapter13:ConfiguringtheOptimizer.
44713-1.
ChoosinganOptimizerGoal44713-2.
EnablingAutomaticStatisticsGathering.
44813-3.
SettingPreferencesforStatisticsCollection.
45113-4.
ManuallyGeneratingStatistics45613-5.
LockingStatistics.
45813-6.
HandlingMissingStatistics.
45913-7.
ExportingStatistics46013-8.
RestoringPreviousVersionsofStatistics.
46213-9.
GatheringSystemStatistics.
46313-10.
ValidatingNewStatistics46613-11.
ForcingtheOptimizertoUseanIndex46813-12.
EnablingQueryOptimizerFeatures.
47013-13.
KeepingtheDatabasefromCreatingHistograms.
472CONTENTSxiv13-14.
ImprovingPerformanceWhenNotUsingBindVariables47313-15.
UnderstandingAdaptiveCursorSharing47613-16.
CreatingStatisticsonExpressions.
48213-17.
CreatingStatisticsforRelatedColumns.
48313-18.
AutomaticallyCreatingColumnGroups.
48413-19.
MaintainingStatisticsonPartitionedTables.
48613-20.
ConcurrentStatisticsCollectionforLargeTables.
488Chapter14:ImplementingQueryHints49114-1.
WritingaHint49114-2.
ChangingtheAccessPath.
49314-3.
ChangingtheJoinOrder49714-4.
ChangingtheJoinMethod49814-5.
ChangingtheOptimizerVersion.
50114-6.
ChoosingBetweenaFastResponseandOverallOptimization.
50214-7.
PerformingaDirect-PathInsert50514-8.
PlacingHintsinViews.
50614-9.
CachingQueryResults50914-10.
DirectingaDistributedQuerytoaSpecificDatabase51314-11.
GatheringExtendedQueryExecutionStatistics51714-12.
EnablingQueryRewrite.
51914-13.
ImprovingStarSchemaQueryPerformance.
521Chapter15:ExecutingSQLinParallel52515-1.
EnablingParallelismforaSpecificQuery52615-2.
EnablingParallelismatObjectCreation.
53015-3.
EnablingParallelismforanExistingObject.
53215-4.
ImplementingParallelDML.
533CONTENTSxv15-5.
CreatingTablesinParallel53615-6.
CreatingIndexesinParallel.
53815-7.
RebuildingIndexesinParallel.
53915-8.
MovingPartitionsinParallel54115-9.
SplittingPartitionsinParallel.
54215-10.
EnablingAutomaticDegreeofParallelism.
54315-11.
ExaminingParallelExplainPlans54515-12.
MonitoringParallelOperations.
54815-13.
FindingBottlenecksinParallelProcesses55015-14.
GettingDetailedInformationonParallelSessions552Index.
555xviAbouttheAuthorsSamR.
AlapatiisanOracleACEandanexperiencedOracledatabaseadministrator(OCPOracleDatabase11g).
SamiscurrentlytheseniortechnicaldirectorforMiroConsulting,Inc.
,inWoodbridge,NewJersey,andregularlyconsultswithFortune500companiesintheareasofOracleDatabase,OracleE-Business,andOracleFusionMiddlewaretechnology.
SamhaswrittenseveralbooksonOracledatabasemanagement,includingExpertOracleDatabase11gAdministration,OracleDatabase11g:NewFeaturesforDBAsandDevelopers(withCharlesKim),andRMANRecipesforOracleDatabase11g(withDarlKuhnandArupNanda),allpublishedbyApress.
SamlivesinDallas,Texaswithhiswife,Valerie,andchildrenShannon,NinaandNicholas.
DarlKuhnisaseniordatabaseadministratorworkingforOracle.
Hehandlesallfacetsofdatabaseadministrationfromdesignanddevelopmenttoproductionsupport.
HealsoteachesadvanceddatabasecoursesatRegisUniversityinColorado.
DarldoesvolunteerDBAworkfortheRockyMountainOracleUsersGroup.
HehasagraduatedegreefromColoradoStateUniversityandlivesnearSpanishPeaks,Coloradowithhiswife,Heidi,anddaughters,BrandiandLisa.
BillPadfieldisanOracleCertifiedProfessional,workingforalargetelecommunicationscompanyinDenver,Coloradoasaleaddatabaseadministrator.
Billhelpsadministerandmanagealargedatawarehouseenvironmentconsistingofmorethan75databases.
BillhasbeenanOracleDatabaseadministratorformorethan14years,andhasbeenintheITindustrysince1985.
BillalsoteachesgraduatedatabasecoursesatRegisUniversityandcurrentlyresidesinAurora,Coloradowithhiswife,Oyuna,andson,Evan.
xviiAbouttheTechnicalReviewerSurachartOpunwasborninPhetchabun,Thailand.
Hegraduatedwithabachelor'sdegreeincomputerengineering.
HehasworkedintheInternetserviceproviderbusinessovereightyears.
HehasalotofexperiencewithOracleDatabaseandLinux.
HehasworkedwithOracleDatabaseandOracleRealApplicationsClusteroversixyears.
HeisanOracleCertifiedProfessional10gand11g.
HeisalsoanOracleCertifiedExpertRAC.
HeisinterestedinOracleDatabasetechnologyandspendsalotoftimeonit.
Hisblogishttp://surachartopun.
com.
HehasspentalotoftimesharinghisOracleknowledgeandhelpingpeoplewithOracletechnology.
In2010,hebecameanOracleACEanddevelopedtheOracleUserGroupinThailand,towhichheisacontributor.
xviiiAcknowledgmentsTheauthorsowethankstothegreatpublishingteamatApressforhelpingthemthroughoutthewritingprocess.
JonathanGennick,senioracquisitionseditor,helpedsignificantlyinoutliningthetopics(recipes)forthisbook,andhelpedusproducethebestbookwepossiblycould,bynudgingusalongwithincisivecomments/suggestions/criticisms,allofwhichhavetremendouslyincreasedboththepresentationstyleofthebookaswellasthequalityofthecontents.
Jonathanisthatrareeditorwhoisnotonlytechnicallyproficient,butalsoaconsummateeditorofbooks,inthetraditionalsenseoftheterm.
Thankyou,Jonathan,foryourpatienceandhardworkthroughoutthisproject!
Allthreeofusarebeneficiariesofyoursagaciousadviceandcontinualencouragementoverthepastfewmonths.
Theauthorswouldliketothankthetremendousworkdonebythetechnicaleditorofthebook,SurachartOpun,senioranalystatTrueInternet,whosomehowfoundtimefromhisprolificbloggingandotherworktoperformamarvelousreviewofourdraftchapters.
Surachartnotonlycaughtseveralmistakesincodeandelsewhere,butalsomadenumeroussuggestionstoimprovethepresentationofthevariousrecipes.
Thankyou,Surachart,forallyourpainstakingandcheerfulworkinhelpingusoutwiththebook.
AnitaCastro,coordinatingeditor,hassuperblyguidedusthroughoutthisproject,andhelpedkeepthingsonschedule.
Managingathree-authorprojectisn'tapieceofcakebyanymeans,butAnitasuremakesitseemthatway!
MaryAnnFugatecopyeditedthechapterswithgreatskill,andweappreciatehercontributionstowardimprovingthequalityofthisbook.
PersonalAcknowledgmentsFirstofall,myheartfeltthankstothegreathelpandcooperationfrommytwoco-writers—DarlKuhnandBillPadfield—itsurewasgreatworkingwithyou,DarlandBill—I'veenjoyedeveryminuteofit!
I'dliketoacknowledgethesupportandencouragementofmycompany,MiroConsultingInc.
,Woodbridge,NewJersey,whoseCEO,ScottRosenberg,isnotonlyagreatleaderbutalsoanenthusiasticpromoterofOracletechnologywithourmanyclientsacrosstheUnitedStates.
Miro'spresident,EliotColon,itsvicepresidentoftechnicalservices,WayneFederico,anditsvicepresident,BobKinkade,havealwaysbeensupportiveofmyworkatMiro,andI'velearnedalotfromworkingwitheachofthem.
I'dliketoexpressthegenerosityandhelpofferedbymyfriendsKishoreRachamalla,PraveenKatapally,andSreenyChintaduringmytenureatERCOTinTaylor,Texas,whereIstartedinitialworkonthisandanotherbook.
I'mgratefulforthekindnessandshowofsupportbySamNataros,whosegiftfromtheheartI'llalwayscherish—thankyou,Sam,yourgestureinspiresmeeverysingleday!
Myfamily,ofcourse,hassacrificedthemostinmakingthisbookpossible,andthusI'mgratefultoValerie,Shannon,Nicholas,andNinafortheirhelpandsupportoverthepastfewyearswhileIwasworkingonthisandanotherbook.
Lastbutnotleast,I'dliketoacknowledgemydebttomyotherfamily—mymother,SwarnaKumari,myfather,AppaRao,andmybrothers,HariHaraPrasadandSivaSankaraPrasad,Aruna,Vanaja,Ashwin,Teja,Aparna,andSoumya,fortheirabidingloveandfaithinme.
SamAlapatiACKNOWLEDGMENTSxixThankstofellowco-authorsSamAlapatiandBillPadfield,andalsothankstothenumerousDBAsanddevelopersfromwhomI'velearnedperformancetuningtechniquesovertheyears:DaveJennings,BobSuehrstedt,ScottSchulze,PeteMullineaux,JanetBacon,SueWagner,MohanKoneru,ArupNanda,CharlesKim,BernardLopuz,BarbSannwald,TimGorman,ShawnHeisdorffer,DougDavis,SujitPattanaik,KenRoberts,RogerMurphy,MehranSowdaey,KevinBayer,DanFink,GuidoHandley,MargaretCarson,NehruKaja,TimColbert,GlennBalanoff,BobMason,ShariPlantz-Masters,MikeNims,DeniseDuncan,BradBlake,RaviNarayanaswamy,AbidMalik,AbdulEbadi,KevinHoyt,TrentSherman,SandraMontijo,JimSecor,MaureenFrazzini,SeanBest,StephanHaisley,GeoffStrebel,PatrickGates,KrishHariharan,BuzzyCheadle,MarkBlair,GaryDodge,KarenKappler,MikeHutchinson,LizBrill,EnnioMurroni,MikeO'Neill,BethLoker,MikeEason,GregRoberts,DebbieEarman,TomWheltle,KenToney,GaborGyurovszky,ScottNorris,JoeyCanlas,EricWendelin,GarySmith,MarkLutze,KevinQuinlivan,DaveBourque,RoyBackstrom,LarryCarpenter,JoeMeeks,AshishRay,JohnLilly,DaveWood,LaurieBourgeois,SteveBuckmelter,CaseyCostley,JohnDiVirgilio,JohnGoggin,BrettGuy,SimonIp,PascalLedru,KevinO'Grady,PeterSchow,ToddSherman,JeffShoup,MikeTanaka,ToddWichers,DougCushing,WillThornburg,SteveRoughton,AmbereenPasha,DineshNeelay,KyeBae,ThomChumley,JeffSherard,DonaSmith,ErikJasiak,GarySchut,DonGritzmacher,AaronIsom,KristiJackson,KarolynVowles,AminJiwani,PaulaStill,K.
P.
Muthe,JoePinkerton,ArvinKuhn,DarinChristensen,TerryRoam,DougDrake,MarilynWenzel,DocHeppler,MertLovell,CarlBeasly,BrianBeasly,OdeanBowler,andJimStark.
DarlKuhnI'dliketothankmygraciousco-authors,SamAlapatiandDarlKuhn,foralloftheirhelpandsupport,andfortakingonarookieforthisproject.
Icouldn'thavemadeitwithouttheirhelp.
TherearesomanypeopleIcanthankthathavehelpedmeovertheyearsinmycareer,sopleaseknowthatIappreciateeverysingleindividualwhohasencouragedandhelpedmealong.
Firstofall,I'dliketothankBobRanneyforgivingmetheopportunitytobeaDBA.
Ialsowouldliketothanksomeofmykeymanagersovertheyearsthathavehelpedme,includingBethBowen,LarryWyzgala,JohnZlamal,LindaScheldrup,AmyNeff,andMaureenFrazzini.
Ofcourse,therearemanyDBAs,developers,systemadministrators,andarchitectsthathavehelpedmegreatlyinmycareer.
First,IneedtothanktheDBAsonmycurrentteamwhomaketheeverydaygrindablast.
Thesefolkshavehelpedmesomuchprofessionallyandhavebecomegreatfriendsoverthemanyyearswehaveworkedtogether.
ThisincludesDaveCarter,DebbieFitzgerald,PankajGuleria,PeteSardaczuk,BradStrom,andRebeccaWestern.
Overtheyears,I'velearnedanawfullotfromthefollowingfolks,whohavealwaysbeengenerouswiththeirtimeandhelp,andpatientwithmyquestions.
ThisincludesMarkNold,MickMcMahon,SandraMontijo,JerrySanderson,GlenSanderson,JoseFernandez,MikeHammontre,PatCain,DaveSteep,GaryWhiting,RonFullmer,BeckyEnter,JohnWeber,AvanishGupta,ScottBunker,PaulMayes,BillRead,RodErmish,RickBarry,SunYang,SueWagner,GlennBalanoff,LindaLeeBurau,DeborahLieou-McCall,BobZumpf,KristiSargent,SandyHass,GeorgeHuner,PadKail,CurtisGay,RossBartholomay,CarolRosenow,ScottRichards,SherylGross,LachelleShambe,JohnPiel,RobGrote,RexEllis,ZaneWarton,StevePearson,JimBarclay,JasonHermstad,ShariPlantz-Masters,DeniseDuncan,BobMason,BradBlake,MikeNims,CathieWilson,RobCoates,ShirleyAmend,RobBushlack,CindyPatterson,DebbieChartier,BlairChristensen,MeeraGanesan,andKedarPanda.
BillPadfield

RAKsmart美国VPS上市,活动期间5折抢购仅$30,$1.99/月

RAKsmart机房将于7月1日~7月31日推出“年中大促”活动,多重惊喜供您选择;爆款I3-2120仅30美金秒杀、V4新品上市,活动期间5折抢购、爆款产品持续热卖、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量产品超低价热卖。美国VPS、日本VPS及香港VPS享全场7折优惠;爆款VPS $ 1.99/月限量秒杀,10台/天,售完即止, VPS 7折优惠码:VPS-TP-disRAKsmar...

Buyvm:VPS/块存储补货1Gbps不限流量/$2起/月

BuyVM测评,BuyVM怎么样?BuyVM好不好?BuyVM,2010年成立的国外老牌稳定商家,Frantech Solutions旗下,主要提供基于KVM的VPS服务器,数据中心有拉斯维加斯、纽约、卢森堡,付费可选强大的DDOS防护(月付3美金),特色是1Gbps不限流量,稳定商家,而且卢森堡不限版权。1G或以上内存可以安装Windows 2012 64bit,无需任何费用,所有型号包括免费的...

Megalayer促销:美国圣何塞CN2线路VPS月付48元起/香港VPS月付59元起/香港E3独服月付499元起

Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...

oracle数据库学习为你推荐
sherylsandbergLean In是一个怎样的组织地图应用谁知道什么地图软件好用,求 最好可以看到路上行人bbs.99nets.com做一款即时通讯软件难吗 像hi qq这类的关键字数据库:什么是关键字?www.haole012.com012qq.com真的假的javbibinobibi的中文意思是?bbs2.99nets.com这个"风情东南亚"网站有78kg.cn做网址又用bbs.风情东南亚.cn那么多此一举啊!bbs2.99nets.com让(bbs www)*****.cn进入同一个站ww.66bobo.com有的网址直接输入***.com就行了,不用WWW, 为什么?yinrentangweichentang万艾可正品的作用真的不错吗
电信服务器租用 主机优惠码 google电话 linode日本 bluevm 老鹰主机 百度云100as vultr美国与日本 linkcloud mediafire下载工具 外国空间 宁波服务器 有奖调查 cdn加速原理 傲盾官网 电信主机 512mb 万网空间管理 网通服务器 贵阳电信 更多