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

HaBangNet(6.95美元/月)美国vps 5TB流量/德国vps 香港双向CN2 GIA VPS

HaBangNet支持支付宝和微信支付,只是价格偏贵,之前国内用户并不多。这次HaBangNet推出三个特价套餐,其中美国机房和德国机房价格也还可以,但是香港机房虽然是双向CN2 GIA线路,但是还是贵的惊人,需要美国和德国机房的可以参考下。HaBangNet是一家成立于2014年的香港IDC商家,中文译名:哈邦网络公司,主营中国香港、新加坡、澳大利亚、荷兰、美国、德国机房的虚拟主机、vps、专用...

阿里云秋季促销活动 轻量云服务器2G5M配置新购年60元

已经有一段时间没有分享阿里云服务商的促销活动,主要原因在于他们以前的促销都仅限新用户,而且我们大部分人都已经有过账户基本上促销活动和我们无缘。即便老用户可选新产品购买,也是比较配置较高的,所以就懒得分享。这不看到有阿里云金秋活动,有不错的促销活动可以允许产品新购。即便我们是老用户,但是比如你没有购买过他们轻量服务器,也是可以享受优惠活动的。这次轻量服务器在金秋活动中力度折扣比较大,2G5M配置年付...

硅云香港CN2+BGP云主机仅188元/年起(香港云服务器专区)

硅云怎么样?硅云是一家专业的云服务商,硅云的主营产品包括域名和服务器,其中香港云服务器、香港云虚拟主机是非常受欢迎的产品。硅云香港可用区接入了中国电信CN2 GIA、中国联通直连、中国移动直连、HGC、NTT、COGENT、PCCW在内的数十家优质的全球顶级运营商,是为数不多的多线香港云服务商之一。目前,硅云香港云服务器,CN2+BGP线路,1核1G香港云主机仅188元/年起,域名无需备案,支持个...

oracle数据库学习为你推荐
网络访问域名访问提示是什么意思敬汉卿姓名被抢注如果有一定影响力的笔名,被某个产品抢注,能否起诉告其侵权?硬盘的工作原理硬盘的工作原理是?(不要给我网址,我用的手机)www.4411b.com难道那www真的4411B坏了,还是4411b梗换com鑫域明了刘祚天DJ这个职业怎么样?比肩工场比肩成局 什么意思同ip网站同IP网站9个越来越多,为什么?同一服务器网站同一服务器上的域名/网址无法访问www.7788dy.com回家的诱惑 哪个网站更新的最快啊www.javmoo.comJAV编程怎么做?
qq空间域名 hkbn 国外idc linkcloud 163网 evssl 云主机51web 警告本网站 空间服务商 铁通流量查询 泉州电信 网通服务器托管 hkt gtt vip域名 江苏双线服务器 创建邮箱 四川电信商城 空间登录首页 iki 更多