Ha egy meglévő töltő MAP forrás tábláját egy másikkal kell helyettesítened az Oracle Data Integratorban (ODI), a következő lépéseket kell követned:
Lépések
Backup készítése:
- Mielőtt bármit módosítanál, készíts biztonsági mentést a meglévő mappingről, hogy bármikor visszaállíthasd az eredeti állapotot, ha szükséges.
Új forrás tábla importálása:
- Importáld az új forrás táblát az ODI Repository-ba. Ezt az ODI Studio Designer moduljában teheted meg.
- Kattints a "Reverse Engineer" gombra az új tábla struktúrájának beolvasásához.
Mapping megnyitása:
- Nyisd meg az ODI Studio-ban a módosítani kívánt mappinget (Mapping, Integration Interface).
Régi forrás tábla eltávolítása:
- A mappingben keresd meg a meglévő forrás táblát.
- Kattints a jobb gombbal a forrás táblára, majd válaszd az "Delete" vagy "Remove" opciót. Ügyelj arra, hogy ne töröld véletlenül a mapping többi részét.
Új forrás tábla hozzáadása:
- Húzd be az új forrás táblát a modellek (Models) panelből a mapping munkaterületére.
- Állítsd be a szükséges kapcsolódási pontokat az új forrás tábla és a többi komponens között.
Mezők párosítása:
- Győződj meg róla, hogy az új forrás tábla mezői helyesen vannak párosítva a mapping célmezőivel.
- Frissítsd a kifejezéseket és transzformációkat, hogy megfeleljenek az új forrás tábla struktúrájának.
Filterek és joinok frissítése:
- Ha a mapping filtereket vagy joinokat tartalmaz, ellenőrizd és frissítsd ezeket az új forrás tábla mezői alapján.
Mapping validálása:
- Validáld a mappinget az ODI Studio-ban, hogy megbizonyosodj róla, hogy nincsenek szintaktikai hibák vagy hiányzó elemek.
- Ezt a "Validate" gombbal teheted meg.
Mapping futtatása teszt környezetben:
- Futtasd a mappinget egy teszt környezetben, hogy ellenőrizd az új forrás tábla adatainak betöltését.
- Vizsgáld meg a betöltött adatokat, és győződj meg róla, hogy minden rendben működik.
Deployment éles környezetben:
- Ha a tesztelés sikeres volt, deployold a módosított mappinget az éles környezetbe.
Mire ügyelj:
Adatok konzisztenciája:
- Győződj meg róla, hogy az új forrás tábla adatstruktúrája és tartalma megfelel az eredeti forrás táblának, hogy elkerüld az adatok inkonzisztenciáját.
Mapping logikája:
- Ellenőrizd, hogy a mapping logikája (pl. transzformációk, joinok, filterek) megfelelően működik az új forrás táblával is.
Teljesítmény:
- Az új forrás tábla használata befolyásolhatja a mapping futási idejét. Vizsgáld meg a teljesítményt, és optimalizáld szükség esetén.
Hibaüzenetek:
- Figyelj a hibaüzenetekre és logokra a mapping futtatása során, hogy időben felismerd és kijavítsd a problémákat.
Kommunikáció:
- Tájékoztasd a csapatodat a változtatásokról, és dokumentáld a módosításokat, hogy mindenki tisztában legyen az új forrás tábla használatával és a lehetséges hatásokkal.
Ezek a lépések és óvintézkedések segítenek abban, hogy sikeresen helyettesítsd a forrás táblát az ODI-ban, és biztosítsd a zökkenőmentes adatbetöltést.
Az Oracle Data Integrator (ODI) Groovy script segítségével automatizálható a forrás tábla cseréje egy mappingben. Itt van egy példa Groovy scriptre, amely elvégzi ezt a feladatot:
Groovy Script Példa
import oracle.odi.domain.mapping.Mapping
import oracle.odi.domain.mapping.physical.PhysicalDesign
import oracle.odi.domain.mapping.physical.PhysicalNode
import oracle.odi.domain.model.OdiModel
import oracle.odi.domain.model.OdiDataStore
import oracle.odi.domain.project.OdiProject
import oracle.odi.domain.project.finder.IOdiProjectFinder
import oracle.odi.domain.mapping.finder.IMappingFinder
import oracle.odi.core.persistence.transaction.support.DefaultTransactionDefinition
import oracle.odi.core.persistence.transaction.ITransactionManager
// ODI Session és Transaction Manager beszerzése
def odiInstance = odiInstance
def txnManager = odiInstance.getTransactionManager()
def txnDef = new DefaultTransactionDefinition()
def transaction = txnManager.getTransaction(txnDef)
try {
// Mapping neve
def mappingName = "MappingName" // A cserélendő mapping neve
def projectCode = "ProjectCode" // A projekt kódja, amelyben a mapping található
// Régi és új forrás tábla nevek
def oldSourceTableName = "OldSourceTable"
def newSourceTableName = "NewSourceTable"
def modelCode = "ModelCode" // A modell kódja, amelyben a táblák találhatók
// OdiProject és OdiModel keresése
def odiProject = ((IOdiProjectFinder) odiInstance.getTransactionalEntityManager().getFinder(OdiProject.class)).findByCode(projectCode)
def odiModel = ((oracle.odi.domain.model.finder.IOdiModelFinder) odiInstance.getTransactionalEntityManager().getFinder(OdiModel.class)).findByCode(modelCode)
// Mapping keresése
def mapping = ((IMappingFinder) odiInstance.getTransactionalEntityManager().getFinder(Mapping.class)).findByProjectAndName(odiProject, mappingName)
// PhysicalDesign beszerzése
def physicalDesign = mapping.getPhysicalDesign(0)
// Régi forrás tábla keresése és eltávolítása
def oldSourceTableNode = physicalDesign.getPhysicalNodes().find { it.getComponent().getName().equalsIgnoreCase(oldSourceTableName) }
if (oldSourceTableNode) {
physicalDesign.removePhysicalNode(oldSourceTableNode)
}
// Új forrás tábla beszerzése
def newSourceTable = ((oracle.odi.domain.model.finder.IOdiDataStoreFinder) odiInstance.getTransactionalEntityManager().getFinder(OdiDataStore.class)).findByName(newSourceTableName, odiModel)
// Új forrás tábla hozzáadása a PhysicalDesign-hoz
def newSourceTableNode = new PhysicalNode(physicalDesign, newSourceTable)
physicalDesign.addPhysicalNode(newSourceTableNode)
// Mapping mentése
odiInstance.getTransactionalEntityManager().persist(mapping)
// Transaction commit
txnManager.commit(transaction)
println "Forrás tábla cseréje sikeresen megtörtént a mappingben: ${mappingName}"
} catch (Exception e) {
txnManager.rollback(transaction)
e.printStackTrace()
println "Hiba történt a forrás tábla cseréje során: ${e.message}"
}
Lépések a script használatához:
ODI Studio előkészítése: Győződj meg róla, hogy az ODI Studio-ban létre van hozva a szükséges projekt, modellek és mappingek.
Script beállítása: Azonosítsd a
mappingName
,projectCode
,oldSourceTableName
,newSourceTableName
ésmodelCode
változókat a saját környezetednek megfelelően. Ezeket a script elején kell beállítanod.Script futtatása: Futtasd a scriptet az ODI Studio-ban. Ezt megteheted az ODI Studio Groovy Console ablakában vagy egy testreszabott ODI Package-ben.
Mire ügyelj a használat során:
- Biztonsági mentés: Mindig készíts biztonsági mentést a mappingekről és az adatokról a script futtatása előtt.
- Validálás: Futtasd a scriptet először egy teszt környezetben, hogy ellenőrizd a működését, mielőtt éles környezetben használnád.
- Logika és összefüggések: Ügyelj arra, hogy a script megfelelően kezelje az esetleges összefüggéseket és transzformációkat az új forrás tábla alapján.
Ez a script segít automatizálni a forrás tábla cseréjét egy ODI mappingben, csökkentve a manuális beavatkozás szükségességét és a hibalehetőségeket.
Megjegyzések
Megjegyzés küldése