Serwer to Oracle Database 11g Enterprise Edition 11.1.0.7.0 - wersja 64-bitowa
Czy istnieje prosty i szybki sposób na zmianę identyfikatorów SID testowych baz danych na serwerze?
Usuwanie i ponowne tworzenie bazy danych jest dla mnie opcją. Ale szukam czegoś, co wymaga mniej czasu.
Inna opcja przypisywania nazw w klientach tnsnames.ora jest podatna na błędy, ponieważ nie są one administrowane centralnie.
W porównaniu z czasem na upuszczenie i utworzenie bazy danych na SQL-Server, ilość czasu potrzebna do utworzenia nowej bazy danych Oracle jest nadmiernie większa. Dalej na SQL-Server możesz zmienić nazwę instancji SQL-Server. [Zwykle zmieniasz nazwę serwera, na którym działa SQL-Server i masz problemy, dopóki nie zmienisz nazwy serwera].
oracle
oracle-11g
linux
bernd_k
źródło
źródło
Odpowiedzi:
Ponieważ 9i narzędzie dbnewid (nid) może być użyte do zmiany nazwy bazy danych (i DBID, jeśli jest to wymagane). Jeśli zmieniana jest tylko nazwa bazy danych, resetlogs nie jest wymagany:
1 baza danych uruchamiania w trybie montowania
2 uruchom nid, aby zmienić nazwę bazy danych:
3 zamknij i uruchom bazę danych w trybie montowania:
4 zmiana
db_name
w pliku spfile (lub w pliku pfile podczas edycji pliku):5 ponownie utwórz plik hasła:
6 uruchom bazę danych
7 kroków zmiany nazwy posta:
źródło
Musisz ponownie utworzyć plik kontrolny
W tym poście Kaunain Ahmed opisano niezbędne kroki:
Istnieją inne narzędzia wymienione w wątku.
Oto post AskTom, który bardziej szczegółowo odwołuje się do procesu. Chociaż jest to 10 g, powinno nadal działać.
źródło
Tak, możesz i to też jest dość łatwe.
W Oracle ORACLE_SID to tylko nazwa wystąpienia Oracle i nie ma wiele wspólnego z nazwą DBNAME. Baza danych o nazwie PROD może być obsługiwana przy użyciu instancji o dowolnej prawidłowej nazwie. Nie ma bezpośredniego połączenia między SID a DBNAME. To połączenie jest nawiązywane przy użyciu parametrów.
Plik parametrów jest identyfikowany jako init $ {ORACLE_SID} .ora lub spfile $ {ORACLE_SID} .ora W pliku parametrów jest parametr nazwa_db. W tym miejscu nawiązywane jest połączenie między instancją Oracle a bazą danych.
Nie musisz więc ponownie tworzyć pliku kontrolnego, nie musisz używać nid, po prostu upewnij się, że plik parametrów ma prawidłową nazwę, sprowadź starą instancję Oracle i uruchom nową instancję Oracle po ustawieniu ORACLE_SID do nowej nazwy wystąpienia Oracle. Plik parametrów i plik haseł można znaleźć za pomocą $ {ORACLE_SID} jako części ich nazwy.
Ponowne utworzenie pliku sterującego jest potrzebne tylko wtedy, gdy DBNAME musi się zmienić. nid jest potrzebny po operacji klonowania, w której należy zmienić DBID, aby zapobiec wypadkom, które mogłyby uszkodzić kopie zapasowe źródłowej bazy danych.
źródło