Jak zaimportować dane do innego tablespace

oracle Oracle nie oferuje parametru do zmiany tablespace podczas importowania danych. Domyślnie importowane obiekty tworzone są w tablespace takim samym z jakiego zostały wyeksportowane nawet mimo tego, że użytkownik ma ustawiony inny domyślny tablespace. Aby zaimportować do innego robimy:

Użytkownik z którego eksportujemy dane (uprawnienia w zasadzie dowolne oprócz tego, że nie może to być DBA):

-- USER SQL
CREATE USER "NIKT1" 
PROFILE "DEFAULT" 
IDENTIFIED BY "hasło" 
DEFAULT TABLESPACE "HART1" 
TEMPORARY TABLESPACE "TEMP" 
ACCOUNT UNLOCK

-- ROLES
GRANT "RESOURCE" TO NIKT1 ;
GRANT "CONNECT" TO NIKT1 ;

-- SYSTEM PRIVILEGES
GRANT CREATE SESSION TO NIKT1;

Eksport danych:

exp NIKT/hasło file=nikt.dmp log=niktexp.log full=n owner=NIKT1

Użytkownik do którego będziemy importować (ważne jest żeby miał tylko te 2 uprawnienia + unlimited quota na tablespace do którego chcemy ładować dane):

CREATE USER "NIKT2" 
PROFILE "DEFAULT" 
IDENTIFIED BY "hasło" 
DEFAULT TABLESPACE "HART2" 
QUOTA UNLIMITED ON "HART2" 
ACCOUNT UNLOCK;

-- ROLES
GRANT "CONNECT" TO NIKT2 ;

-- SYSTEM PRIVILEGES
GRANT CREATE TABLE TO "NIKT2"

Import Danych:

imp NIKT2/hasło file=nikt.dmp log=niktimp.log full=n fromuser=NIKT1 touser=NIKT2

2 thoughts on “Jak zaimportować dane do innego tablespace

  1. A nie łatwiej stworzyć najpierw przestrzeń z wykonanego dmp a następnie po prostu wczytać import? Pobranie skryptu tworzącego przestrzeń z importu jest bardzo proste: strings /sciezka/do/pliku/baza.dmp | grep „CREATE TABLESPACE” >> spaces.sql Następnie edytujemy ten plik, zmieniamy ścieżkę do pliku na taką jaka się nam podoba, wykonujemy skrypt i puszczamy import.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Releated

Oracle Listener

Oracle Listener jest komponentem odpowiedzialnym za komunikację pomiędzy serwerem baz danych a klientami. Nasłuchuje standardowo na porcie TCP 1521. Proces użytkownika komunikuje się z listenerem, który uruchamia proces serwera (jeżeli TCP to OS przydziela mu wolny port przez algorytm mapowania portów) następnie adres portu zostaje przesłany do procesu użytkownika . Dalsza komunikacja przebiega już tym […]

Oracle Standard Edition One 11G standby

Rezerwowa baza standby jest fizyczną lub logiczną kopia bazy podstawowej i działa na zasadzie rekonstruowania wyrażeń SQL ze zarchiwizowanego dziennika powtórzeń i aplikowania ich do wybranych tabel. Przeważnie utrzymywana jest ona na osobnym komputerze i w przypadku awarii bazy podstawowej, rezerwowa bazy przechodzi z trybu standby w tryb read write i przejmuje obowiązki głównej bazy. […]