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

火数云 55元/月BGP限时三折,独立服务器及站群限时8折,新乡、安徽、香港、美国

火数云怎么样?火数云主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、专属服务器托管、带宽租用等产品和服务。火数云提供洛阳、新乡、安徽、香港、美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松快捷运用云计算!多年云计算领域服务经...

如何低价香港服务器购买?有没有便宜的香港服务器推荐?

如何低价香港服务器购买?想要做一个个人博客,想用香港服务器,避免繁琐备案,性能不需要多高,只是记录一些日常而已,也没啥视频之类的东西,想问问各位大佬有没有低价的香港服务器推荐?香港距大陆近,相比美国服务器最大的优势在于延迟低,ping值低,但是带宽紧张,普遍都是1M,一般戏称其为“毛细血管”。同时价格普遍高,优质稳定的一般价格不菲。大厂云梯队阿里云、腾讯云两家都有香港服务器,要注意的是尽量不要选择...

Hosteons:新上1Gbps带宽KVM主机$21/年起,AMD Ryzen CPU+NVMe高性能主机$24/年起_韩国便宜服务器

我们在去年12月分享过Hosteons新上AMD Ryzen9 3900X CPU及DDR4内存、NVMe硬盘的高性能VPS产品的消息,目前商家再次发布了产品更新信息,暂停新开100M带宽KVM套餐,新订单转而升级为新的Budget KVM VPS(SSD)系列,带宽为1Gbps端口,且配置大幅升级,目前100M带宽仅保留OpenVZ架构产品可新订购,所有原有主机不变,用户一直续费一直可用。Bud...

oracle数据库学习为你推荐
硬盘工作原理硬盘是如何工作的硬盘工作原理数据存储的原理是什么地陷裂口地陷前期会有什么征兆吗?www.haole012.com012.qq.com是真的吗www.789.com.cn有什么网站可以玩游戏的.baqizi.cc讲讲曾子杀猪的主要内容!haole012.com说在:012qq.com这个网站能免费挂QQ,是真的吗?haole012.com012.com网站真的可以挂Q升级吗?sodu.tw今天sodu.org为什么打不开了?朴容熙给我介绍几个韩国 ulzzang 最好是像柳惠珠那样的 不要出道的...
汉邦高科域名申请 主机优惠码 美国主机代购 抢票工具 国外网站代理服务器 150邮箱 ftp免费空间 新世界服务器 空间租赁 架设邮件服务器 网购分享 摩尔庄园注册 hdsky 谷歌搜索打不开 什么是dns phpwind论坛 跟踪路由 云主机 远程主机强迫关闭了一个现有的连接 新浪轻博客 更多