Przenoszenie recovery catalogu nowa funkcjonalność 11G

Do wersji 11GR2 aby przenieść schemat zawierający recovery catalog, byliśmy zmuszeni używać narzędzi EXP/IMP lub zestawu narzędzi DATA PUMP EXPDP/IMPDP, będac zdanymi na szereg błędów, które były następstwem eksportu oraz importu schematu.

Przykładowa procedura przenoszenia schematu do innej bazy, lub tworzenia schematu testowego katalogu odtwarzania, wyglądała nastepująco:

expdp system/*** directory=DATA_PUMP_DIR dumpfile=rman_1903.dmp logfile=rman_11903.log

Przenosimy wynikowy plik na docelowy serwer. Następnie używaliśmy narzędzia impdp do importu całego schematu katalogu:

Aby uniknąć błędów typu:

REATE TYPE “RMANSIERRA”.”RC_LBREC_T” OID ‘A490D087B6CA066DE04400144F467CE3’ as object
(
list_order1 NUMBER,
list_order2 NUMBER,
pkey NUMBER,
backup_type VARCHAR2(32),
file_type VARCHAR2(32),
keep VARCHAR2(3),
keep_until DATE,

ORA-39083: Object type TYPE failed to create with error:
ORA-02304: invalid object identifier literal
Failing sql is:
CREATE TYPE “RMANSIERRA”.”RC_LBRECSET_T” OID ‘A490D087B6FF066DE04400144F467CE3’ as table of rc_lbRec_t
ORA-39083: Object type TYPE failed to create with error:
ORA-02304: invalid object identifier literal
Failing sql is:
CREATE TYPE “RMANSIERRA”.”RC_LBRECSETIMPL_T” OID ‘A490D087B703066DE04400144F467CE3’ as object

używamy opcji TRANSFORM

impdp system/*** directory=DATA_PUMP_DIR dumpfile=rman_1903.dmp logfile=rman_1903.log remap_schema=RMAN:RMANSIERRA TRANSFORM=oid:n

Opcja TRANSFORM=OID:n zapobiega kreowaniu nowych typów z literałem zawartym w pliku eksportu, natomiast wymusze generacje nowego “object id”.

Wcześniej należało oczywiście zadbać o prekreowanie odpowiednich przestrzeni tabel.

Jak taka sama procedura wyglądała by w przypadku bazy w wersji 11G ?
Bazuje ona na nowej komendzie RMAN :
“IMPORT CATALOG”
Komenda ta umożliwia import metadanych z kilku schematów do jednego. Bazy, których metadane są importowane muszą mieć unikatową nazwe, co implikuje ograniczenie, że nie można merge’ować metadanych o tej samej bazie z różnych katalogów.

Dodatkowym ograniczeniem jest równośc wersji katalogów źródłowego oraz docelowego. Na szczęście mamy do dyspozycji prosty upgrade poprzez komendę

  • RMAN> UPGRADE CATALOG;

Prosty import z innego katalogu wyglądaby nastepująco:

Podłączamy się do katalogu docelowego do którego importowane są metadane

  • RMAN> CONNECT CATALOG rman_oper@catalog;

Importujemy metadane z katalogu źródłowego

  • RMAN> IMPORT CATALOG rman_oper@src_catalog;

Mamy również mozliwość importu informacji o wybranych bazach

  • RMAN> IMPORT CATALOG rman_oper@src_catalog DBID=142324331,142443242
  • RMAN> IMPORT CATALOG rman_oper@src_catalog DBNAME=BAZA1,BAZA2

Znając tą funkcjonalność możemy wrócić do procedury przenoszenia katalogu do innej bazy/schematu

Tworzymy katalog odtwarzania na bazie docelowej, zgodnie z standardową procedurą tworzenia katalogu. Nie rejestrujemy w nim żadnej bazy

Podłączamy się do czystego katalogu:

  • RMAN> CONNECT CATALOG rman@new_catalog

Importujemy katalog z bazy źródłowej

  • RMAN> IMPORT CATALOG rman@oryg_catalog

Przydatną informacją jest też, jak sprawdzić wersje katalogu:

Select * from rcver;

Jeśli zwrócone zostanie więcej wierszy, oznacza to, że katalog był upgrade’owany a jego aktualną wersje podaje wiersz z najwyższym numerem wersji

This entry was posted in Oracle, Oracle DBA Advanced and tagged , , , . Bookmark the permalink.

Leave a Reply