Polecenie RMAN SET NEWNAME za pomocą języka SQL

  • Andrew Politic
  • 0
  • 1214
  • 283

W przypadku konieczności odtworzenia bazy danych ta sama struktura katalogów nie zawsze jest dostępna. Jeśli masz bazę danych zawierającą tysiące plików danych, konfigurowanie poleceń set newname dla wszystkich plików danych może być bardzo żmudne. Za pomocą sqlplus możemy wyodrębnić potrzebne informacje do pliku, który można następnie łatwo zmodyfikować i wykonać jako skrypt RMAN w celu wykonania zadania.

Nowe polecenie Oracle 11g - „USTAW NEWNAME DLA BAZY DANYCH”

Począwszy od 11.2 możemy użyć USTAW NOWĄ NAZWĘ DLA BAZY DANYCH klauzula, aby uniknąć używania SET NEWNAME dla pojedynczych plików danych. na przykład:

SQL> USTAW NEWNAME FOR DATABASE TO '/ oradata1 /% b';

Przykłady

Przykład 1

Przywracasz lub kopiujesz docelową bazę danych do nowego hosta przy użyciu RMAN. Pliki danych nie są plikami OMF i chcesz, aby były OMF. Użycie opcji „ustaw nową nazwę pliku danych na NOWY” spowoduje wygenerowanie nowej nazwy pliku OMF dla przywróconego pliku danych. Pozwoli to uniknąć ręcznego wprowadzania lub edycji vi / notatnika podobnych wyników. Korzystając z tego wyjścia, pliki danych zostaną przywrócone do DB_CREATE_FILE_DEST. Jeśli ten parametr nie jest ustawiony, musisz dodać poprawną ścieżkę, ponieważ w '/ path / NEW' skieruje pliki do nowej lokalizacji i nada nazwę pliku OMF.

sqlplus / nolog connect system / manager ustaw echo poza stronami 0 feed off sqlp # spool /path/setnewnamedf.lst wybierz 'ustaw nową nazwę dla pliku danych' || plik # || ' do nowego;' from v $ datafile; - wybierz 'ustaw nową nazwę dla pliku danych' || plik # || ' do / nowa ścieżka / NOWA; ' from v $ datafile; szpulować

Powyżej znajdują się 2 instrukcje wyboru z nieco innym wynikiem.

Wybierz wyjście nr 1:

ustaw nową nazwę pliku danych 1 na NOWY; ustaw nową nazwę dla pliku danych 2 na NOWA; ustaw nową nazwę pliku danych 3 na NOWY; ustaw nową nazwę pliku danych 4 na NOWY; ustaw nową nazwę pliku danych 5 na NOWY;

Wybierz wyjście nr 2:

ustaw nową nazwę dla pliku danych 1 na / nowaścieżka / NOWA; ustaw nową nazwę dla pliku danych 2 na / nowaścieżka / NOWA; ustaw nową nazwę pliku danych 3 na / nowaścieżka / NOWA; ustaw nową nazwę dla pliku danych 4 na / nowaścieżka / NOWA; ustaw nową nazwę dla pliku danych 5 na / nowaścieżka / NOWA;

Przykład 2

W tym scenariuszu nie używasz nazewnictwa OMF dla swoich plików i chcesz nadal kontrolować nazwy plików danych. Aby wygenerować polecenia set newname wskazujące na wolumin ASM, wykonaj poniższe polecenie sql. Utworzy plik, który po prostu dodasz polecenie przywracania, aby ukończyć skrypt i wykonać w RMAN wewnątrz bloku uruchamiania.

sqlplus / nolog connect system / menedżer ustaw echo poza stronami 0 feed off sqlp # spool /path/setnewnamedf.lst wybierz 'ustaw nową nazwę dla pliku danych' || plik # || ' do "+ DG"; ' from v $ datafile; szpulować

Wybierz wyjście # 3:

ustaw nową nazwę pliku danych 1 na „+ DG”; ustaw nową nazwę dla pliku danych 2 na „+ DG”; ustaw nową nazwę pliku danych 3 na „+ DG”; ustaw nową nazwę dla pliku danych 4 na „+ DG”; ustaw nową nazwę pliku danych 5 na „+ DG”;

W przypadku następującego zapytania zachowujesz tę samą ścieżkę i nazwę, co w pierwotnym celu. Używając globalnego wyszukiwania i zamiany vi możesz zmienić ścieżkę do nowego katalogu za pomocą% s. Jest to bardzo przydatne, gdy istnieje 1000 plików do zaktualizowania. Jeśli używasz wielu katalogów, możesz podzielić dane wyjściowe, aby zmienić ścieżkę w całym pliku, a następnie scal pliki lub znajdź szybszą metodę. Oto przykładowe dane wyjściowe przed i po wyszukiwaniu i zamianie.

set echo off pages 0 feed off sqlp # spool setnewnamedf.lst wybierz 'ustaw nową nazwę dla pliku danych' || plik # || ' to "|| nazwa ||"; ' from v $ datafile; szpulować

Wybierz wyjście nr 4: Przed zmianą:

ustaw nową nazwę dla pliku danych 1 na '/u01/64bit/app/oracle/oradata/V102REP1/system01.dbf'; ustaw nową nazwę dla pliku danych 2 na '/u01/64bit/app/oracle/oradata/V102REP1/undotbs01.dbf'; ustaw nową nazwę pliku danych 3 na „/u01/64bit/app/oracle/oradata/V102REP1/sysaux01.dbf”; ustaw nową nazwę dla pliku danych 4 na '/u01/64bit/app/oracle/oradata/V102REP1/users01.dbf'; ustaw nową nazwę pliku danych 5 na „/u01/64bit/app/oracle/oradata/V102REP1/fujitsu_1.dbf”;

Polecenie zmiany powyższej ścieżki:

:% s / \ / dir1 \ / dir2 / \ / newdir1 \ / newdir2 / g:% s / \ / u01 \ / 64bit \ / app \ / oracle \ / oradata \ / V102REP1 / \ / newpath / g

Po wykonaniu wyszukiwania i zamianie pozostaje nam:

ustaw nową nazwę dla pliku danych 1 na „/newpath/system01.dbf”; ustaw nową nazwę dla pliku danych 2 na „/newpath/undotbs01.dbf”; ustaw nową nazwę dla pliku danych 3 na „/newpath/sysaux01.dbf”; ustaw nową nazwę dla pliku danych 4 na „/newpath/users01.dbf”; ustaw nową nazwę dla pliku danych 5 na '/newpath/fujitsu_1.dbf';

Korzystając z tych metod lub czegoś podobnego w przypadku innych edytorów, możesz szybko skonfigurować przywracanie lub zduplikowanie skryptu do użycia na nowym hoście i strukturze katalogów bez względu na liczbę plików.




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux