Ist in der eigenen Oracle Datenbank ein Tablespace "USERS" vorhanden - was
bei vielen Oracle Datenbanken der Fall sein dürfte - dann landen beim
Import der Dumps die Datenbankobjekte auch dort. Dies ist unabhängig
davon, ob man den Oracle Benutzer vorgängig anlegt
und einen anderen Default-Tablespace zuweist oder beim Import über den
AIA entsprechend Einstellungen vornimmt.
Der "alte" Oracle Import lässt es nicht zu, die Tablespace
Einstellungen während des Imports zu ändern. In der Map Hilfe heisst es
entsprechend:
Beim Importieren wendet Oracle die folgende Logik an:
•Wenn die Zieldatenbank
einen Tablespace mit demselben Namen wie die ursprüngliche Datenbank
enthält, wird die Tabelle in diesem Tablespace platziert. Sie können den
Ziel-Tablespace nicht ändern.
•Wenn die Zieldatenbank
keinen Tablespace mit demselben Namen enthält, wird die Tabelle im
Vorgabe-Tablespace (wird während Schema-Erstellung mit dem Wert aus dem
Dialogfeld Dump-Import angegeben) platziert.
Mit dem neuen Datapump ist während des Imports eine neue Zuweisung des Tablespaces -
oder auch mehrerer Tablespaces - möglich. Die CK Dumps lassen sich
jedoch nur mit dem "alten" imp.exe importieren, nicht mit dem neuen
DataPump-Import.
Welche Lösungen gibt es für das Problem?
Oracle-seitig gibt es zwei Möglichkeiten, deren Beschreibung man hier findet:
Nähere Hinweise zu zweiten Varianten findet sich auch bei Oracle:
Hier ist zu beachten - die CK Dumps wurden von einem Oracle
Benutzer mit DBA Rolle erstellt. Für den Import ist daher ebenfalls eine
DBA Rolle erforderlich. Die DBA Rolle beinhaltet das Privileg
"unlimited tablespace". Dem Oracle Benutzer, der den Import
durchführt das Privileg "unlimited tablespace" zu entziehen reicht daher
nicht. Es müsste der DBA Rolle entzogen werden.
Ist keine der beiden Varianten praktikabel, dann bleibt noch, das CK ohne
Dump gemäss der Beschreibung im jeweiligen "Workbook" zu erstellen. Bei
Bedarf kann man sich nach der manuellen Einrichtung einen eigenen
Vorlage-Dump anlegen.
No comments:
Post a Comment