Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przeniesienie bazy Oracle 10 - jak ?
Forum PHP.pl > Forum > Bazy danych > Oracle
Gandi
Witam

Mam server Win2003 z Oracle 10i, z którego codziennie kopiowane sa wszytskie pliki bazy z katalogu ORADATA\baza.
Postawilem drugi server jednak po przegraniu plikow bazy do katalogu oradata\baza nie da sie podmontowac bazy.
W innych bazach danych typu Firebird czy MySQL mozna bylo przenisc baze poprzez zwykle skopiowanie plikow.
Ale to jest ORACLE i to nie dziala najwidoczniej smile.gif

Jakie musze jeszcze przegrac pliki i w jaki sposob 'zaimportowac' Oracle'owi baze poprzez takie zwykle przegranie
plikow aby on wstal ? I czy sie tak wogole da ? Nie chce uzywac opcji robienia back'upow z Oracle, chce uzyc
juz skopiowanych plikow. Zajmuja w sumie 15 giga.

Z gory dzieki za odpowiedz.
Blackhole
Czy plik kontrolny wskazuje poprawnie na te pliki danych? Podaj swoją konfigurację.
dareczek25
Wydaje mi sie ze na drugim serwerze powinienes zalozyc instancje o tej samej nazwie i w tym samym miejscu w strukturze katalogow i wtedy bedziesz mogl podmienic pliki (choc reki sobie obciac nie dam:))
kgs86
Podczepie się pod temat, bo mam taki sam problem z którym niemoge sobie poradzić.
Potrzebuje rozwiązania dającego możliwośc na przeniesienie całej bazy danych Oracle XE na inny serwer - zarówna na windowsa jak i na linuxa. 
Próbowałem przenosić pliki z folderu oradata ale baza wtedy nie chiała sie uruchomić, była informacja o tym ze baza jest w trakcje zamykania (uprawnienia zostały poprawnie zmienione).
Próbowałem równiez zrobić kopie zapasową, i ją odtworzyć na nowym komputerze, występował identyczny błąd jak powyżej.
Starałem się równiez skrypty z bazy danych wyeksportować, ale i tutaj pojawił się problem - podczas importu pojawiał się błąd:

Kod
ORA-20001: GET_BLOCK Error. ORA-20001: Execution of the statement was unsuccessful. ORA-20001: Unable to import script. ORA-20001: Application ID and current security group ID are not consistent. <pre>declare l_name varchar2(255); begin l_name := 'F9488002028195200/baza_danych'; wwv_flow_api.import_script( p_name =&gt; l_name, p_varchar2_table=&gt; wwv_flow_api.g_varchar2_table, p_flow_id =&gt; 4500, p_pathid =&gt


Ostanim sposobem jaki mi przyszedł do głowy było napisanie skrypta recznie i uruchomienie go w konsoli. Chciałego go stworzyć za pomocą PL/SQL aby wszystkie struktury tabel były w jednym pliku, jednak przy wpisywaniu po prostu poleceń po kolej "create table" występował błąd (program w takiej formie tylko jedno polecenie naraz moze czytać). Wieć próbowałem zrobić to na blokach na zasadzie:

Begin
Create table...
...
end;
begin....

Tutaj błąd występował mówiący o niemożności występowania komendy "create" za słowem begin....

Prosiłbym o jakąś pomoć, jak mozna przenieść baze danych. Z góry dziękuje za pomoc.
redman2
Cytat(Gandi @ 29.09.2008, 08:48:16 ) *
Witam

Mam server Win2003 z Oracle 10i, z którego codziennie kopiowane sa wszytskie pliki bazy z katalogu ORADATA\baza.
Postawilem drugi server jednak po przegraniu plikow bazy do katalogu oradata\baza nie da sie podmontowac bazy.
W innych bazach danych typu Firebird czy MySQL mozna bylo przenisc baze poprzez zwykle skopiowanie plikow.
Ale to jest ORACLE i to nie dziala najwidoczniej smile.gif

Jakie musze jeszcze przegrac pliki i w jaki sposob 'zaimportowac' Oracle'owi baze poprzez takie zwykle przegranie
plikow aby on wstal ? I czy sie tak wogole da ? Nie chce uzywac opcji robienia back'upow z Oracle, chce uzyc
juz skopiowanych plikow. Zajmuja w sumie 15 giga.

Z gory dzieki za odpowiedz.


Musialbys takze przegrac pliki kontrolne i redo log.
I tak, podejrzewam, bedziesz musial zrobic DATABASE RECOVER

Robisz, tzw cold backup, ktory troszke utrudnia sprawe. Mam nadzieje, ze zamknales baze przed kopiowaniem plikow ? Jezeli nie, to masz problem.

Najlepsza i najlatwiejsza metoda przetransportowania starej bazy na nowa instancje jest wyeksportowanie jej poprzez Data pump, a nie robienie cold-back'ow, ktore powinny miec zastosowanie tylko do trj samej instacji, z ktorej zostaly wyekspotrowane.

A najlepszym konsensusem, w Twoim przypadku, byloby zastosowanie tzw trasportu przestrzeni tabel. Robisz to tak:

1. ALTER TABLESPACE twoja_przestrzenie_tabel READ ONLY
2. exp user/pass tablespaces=twoje_przestrzenie_tabel transportable_tablespace=y
3. Kopiujesz wszystkie pliki z poziomu OS

i analogicznie przy imporcie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.