Professional Documents
Culture Documents
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?