Professional Documents
Culture Documents
Best Practices For Using Transportable Tablespaces (TTS) (Doc ID 1457876.1)
Best Practices For Using Transportable Tablespaces (TTS) (Doc ID 1457876.1)
Best Practices For Using Transportable Tablespaces (TTS) (Doc ID 1457876.1)
1)
InthisDocument
Purpose
Scope
Details
1.Checkrestrictions/limitations
2.Checkforcorruptionbugsandcommonissues
3.Resolveinvalidobjectsinthesourcedatabase
4.ChecktheTTStablespacesyouwanttoexportareselfcontained.
5.Takeafull"structuralexport"(norows)
6.Makesureusernamesexistinthetargetdatabasebeforeimporting
7.Importthefull"structuralexport"(norows)afteryou'vepluggedinthetablespaces
8.Doadryrun,especiallyforproductiondatabases
9.Keepthesourcedatabaseviableforawhile,ifpossible
10.Payattentionto"cleanup"onthesourceserver
AdditionalResources
References
APPLIESTO:
OracleDatabaseEnterpriseEditionVersion9.2.0.1to12.1.0.1[Release9.2to12.1]
Informationinthisdocumentappliestoanyplatform.
PURPOSE
Thepurposeofthisdocumentistodiscussbestpracticeswhenusingtransportabletablespaces(TTS),especiallywhen
migratingdatabasestoadifferentRDBMSversionand/orOS.
SCOPE
Thesuggestionsinthisnotegenerallyapplytoalldatabases.EBusinessSuite(EBS)databases,however,havespecific
instructionsforusingTTS.ForinformationregardingTTSandEBSdatabases,pleaseseeoneofthesetwonotes:
UsingTransportableDatabasetomigrateOracleEBusinessSuite11iUsingOracleDatabase10.2.0or11.1.0
Document729309.1
UsingTransportableDatabasetomigrateEBusinessSuiteR12UsingOracleDatabase10gR2or11gR1Document
734763.1.
Note:With12c,youcannowusefulltransportableexport/importtomovecompletedatabasesforsourcesthatare
11.2.0.3andupto12ctargets.Ifthisisyourscenario,youmaywanttoconsiderwhetherornotTTSisstillthebest
waytomoveyourentiredatabase.SeeDocument1457743.1UpgradingaDatabaseUsingTransportableTablespaces
(TTS)regardingtheFullTransportableoption.
DETAILS
1.Checkrestrictions/limitations
Itisimportanttoknowupfrontifyoursourceandtargetdatabasesaregoingtobecompatible,andiftherewillbeany
limitationsonthetransportofyourobjects.ThebestplacetocheckforaconsolidatedlistisinDocument1454872.1
TransportableTablespace(TTS)RestrictionsandLimitations:Details,Reference,andVersionWhereApplicable.
2.Checkforcorruptionbugsandcommonissues
Dependingonyourversionoftargetandsourcedatabase,therecouldbeseveralbugsthatcouldaffectthesmooth
transportofobjectsfromonedatabasetoanother.Normally,Oracledoesnotrecommendyouapplyoneoffpatchesfor
issuesyouarenotexperiencing.However,ifyouknowyouhaveobjectsinthetargetdatabasethatcouldhitthescenario
reportedinacorruptionbug,wedorecommendyouapplytheoneoffpatchtoavoidtheissue.Ingeneral,ifthebug
involvestheexport,patchthesourcedatabaseifthebuginvolvestheimport,patchthetargetdatabase.Keepinmind
thattargetdatabasescanlaterbecomesourcedatabasesthemselves.SeeDocument1166564.1"MasterNotefor
TransportableTablespaces(TTS)CommonQuestionsandIssues"forcorruptionbugsandmajorknownissues/errors.
Ifyoufindthereareanumberofpatchesyouneedtoapply,werecommendusingtheMOSPatchPlanner.
3.Resolveinvalidobjectsinthesourcedatabase
Beforetakingtheexportfromthesourcedatabase,makesuretherearenoinvalidobjects.AlthoughSYSownedobjects
arenottransported,invalidSYSownedobjectscanpreventthesuccessoftheexport,dependingontheinvalidobject.The
bestpracticeistomakesureallissuesareresolvedinthesourcedatabasebeforetransportingobjectstoanotherone.
Hereisaqueryyoucanusetofindtheinvalidobjectsinyourdatabase:
colownerfora15
colobject_namefora35
colobject_typefora20
selectowner,object_name,object_typefromdba_objects
wherestatus!='VALID'orderbyowner,object_type,object_name
4.ChecktheTTStablespacesyouwanttoexportareselfcontained.
Youneedtomakesurethatthesetofobjectsyouwanttotransportareselfcontainedwithinthesetoftablespacesyou
arespecifyingthatis,thattherearenoobjectstheydependoninothertablespaces.
UseDBMS_TTS.TRANSPORT_SET_CHECKtocheckforselfcontainmentofobjectsinthetransportableset,
Document1459800.1"HowtoFixTransportSetCheckViolations(DBMS_TTS.TRANSPORT_SET_CHECK)(ORA39908,
ORA39910,ORA39932,ORA39921,etc.),"tellsyouhowtodothis.
5.Takeafull"structuralexport"(norows)
Afullstructuralexportisafullexport(expdporexp)withnodatathatis,itcontainsallthecreatestatementsnecessary
torecreateobjectsthatwon'tbetransportedwithTTS.YouneedthisexportbecausesomeobjectsresideintheSYSTEM
tablespace,suchasviews,triggers,roles,grants,etc.andcannotbeexportedwithTTS.Additionally,ifyouusethe
traditionalexport/import(exp/imp)andnotdatapumpexport/import(expdp/impdp),thereareadditionalobjectsthatare
nottransported.Ifyouareusingtraditionalexp/imp,seeDocument883153.1WhatObjectsAreExportedWith
TransportableTablespaces(TTS)andtheORIGINALExportUtility?Notethattraditionexp/impisnotsupportedfor11gR2
TTSandabove.
6.Makesureusernamesexistinthetargetdatabasebeforeimporting
Beforeimporting,makesuretheusernames(schemaowners)fortheobjectsbeingexportedalreadyexistinthetarget
database.Ifnot,youwillneedtomanuallycreatetheusernamesbeforestartingthetransportabletablespaceimport.
Ifyouprecreateauseranditusesadefaulttablespacethatisnotyetpluggedin,youneedtotemporarilyassignadefault
tablespacethatexistsinthetargetdatabase.Aftertheimportiscomplete,youcanaltertheuserandsetthedefault
tablespacetothedesiredone.
7.Importthefull"structuralexport"(norows)afteryou'vepluggedinthetablespaces
Afterthetablespacesarepluggedin,thetablespacesareinreadonlymode,andyouhaveresetdefaulttablespacesfor
yourusers,runthefullstructuralimport.Thisshoulderroronanyobjectsthatalreadyexist(ignore)andcreateanythat
aremissing,includingroles,grants,triggers,etc.
8.Doadryrun,especiallyforproductiondatabases
Werecommenddoingadryrunespecially(1)ifthisisthefirsttimeyouhavebeenmigratingaspecificRDBMSversionto
anotherspecificRDBMSversion,and(2)ifthisisaproductiondatabase.Dryrunsletyouworkoutunexpectedissuesand
determinetimingsbeforeyouactuallytakethedowntimeonthedatabasebeingmoved,migrated,and/orupgraded.Adry
runwillalsogiveyouanaccurateestimateforyourcompany'schangecontrolprocedures.
9.Keepthesourcedatabaseviableforawhile,ifpossible
Itisagoodideatokeepthesourcedatabaseviable(inreadonlymode)untilyouhavedeterminedallobjectsareinthe
targetdatabase,andtherearenoissuesthatis,thetargetdatabasehasbeenthoroughlycheckedoutandexercised.
10.Payattentionto"cleanup"onthesourceserver
IfyoumovedadatabasetoadifferentserverviaTTS(oranyothermethod),remembercleanuponthesourceserverfor
thingssuchasOSscriptsthatmaybestarting/stoppingthelistener(scriptsin/etc/init.d,/etc/init,forexample),cronjobs,
andsoforth.AliasesandIPnumbersareoftenreusedduringdatabasemovestodifferentserversmorethanonce,
stoppingthescriptsonthesourcedatabaseserverhasbeenknowntotakedownresourcesonthetargetserverifcleanup
hasnotfirstbeendoneonthesourceserver.Ifyouhavematerializedviewsinotherdatabasesthatuseamastertablein
thenewtarget,beawareofwherethedblinksintheremotedatabasesarepointingyoumayormaynotneedtorecreate
thedblinks,accordingly.
AdditionalResources
1.Ifyouhavematerializedviews,youmaybeinterestedinDocument1406586.1HowtoHandleMaterializedViewsWhen
YouUpgradeorCloneaDatabase.
2.OracleDatabaseAdministrator'sGuide11gResease2(11.2)
3.OracleDatabaseAdministrator'sGuide12cRelease1(12.1)TransportingTablespacesBetweenDatabases
4.Document438035.1HowToUseTransportableTablespacesToCopyOLAPAnalyticWorkspaces
REFERENCES
NOTE:1166564.1MasterNoteforTransportableTablespaces(TTS)CommonQuestionsandIssues
NOTE:1406586.1HowtoHandleMaterializedViewsWhenYouUpgradeorCloneaDatabase
NOTE:1454872.1TransportableTablespace(TTS)RestrictionsandLimitations:Details,Reference,andVersionWhere
Applicable
Didn'tfindwhatyouarelookingfor?