Sunteți pe pagina 1din 3

BestPracticesforUsingTransportableTablespaces(TTS)(DocID1457876.

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?

S-ar putea să vă placă și