Który plik parametrów SPFILE ma wpływ na wydawanie polecenia ALTER SYSTEM

  • Ronald Ferguson
  • 0
  • 2057
  • 482

Pytanie: Utrzymujesz kilka plików SPFILE:

$ ls -l spfile * -rw-r ----- 1 sme dba 2560 20 marca 08:20 spfile.ora -rw-r ----- 1 sme dba 2560 20 marca 08:20 spfileRel14.ora

Który jest modyfikowany po uruchomieniu polecenia SQL „ALTER SYSTEM” w celu trwałej zmiany wartości parametrów w pliku spfile?

Administratorzy baz danych muszą zachować ostrożność podczas używania komendy ALTER SYSTEM, ponieważ trwale modyfikuje ona plik parametrów SPFILE. Muszą wiedzieć, który plik parametrów zostanie zmodyfikowany.

Który plik parametrów SPFILE ma wpływ na wydawanie polecenia ALTER SYSTEM?

Określ, który plik SPFILE był używany podczas uruchamiania, jeśli był używany:

1. W przypadku STARTUP instancja ma 3 możliwości pobrania wartości parametrów instancji:

  • przeczytaj initSID.ora odnoszący się do pliku spfile, do którego odwołuje się nowy parametr SPFILE = spfile.ora (CASE 1)
  • odczyt spfileSID.ora zawierający wszystkie parametry instancji (CASE 2)
  • przeczytaj initSID.ora zawierający wszystkie parametry instancji (CASE 3)

2. Gdy wykonujesz polecenie ALTER SYSTEM w celu zmodyfikowania wartości parametrów spfile, wpływ SPFILE jest zawsze tym plikiem spfile używanym podczas uruchamiania.

3. Który z nich był używany podczas uruchamiania?

Istnieją 3 miejsca, w których można pobrać te informacje:

  1. plik alert.log
  2. PARAMETR V $
  3. Widok V $ SPPARAMETR

4. Istnieją 3 możliwe przypadki:

Przypadek 1

1. Jeśli w alertSID.log file, wyświetlana jest nazwa używanego pliku spfile, a następnie wyraźnie widać, że instancja została uruchomiona z initSID.ora wywołującym plik spfile.

Uruchamianie ORACLE RDBMS Wersja: 9.0.0.0.0. Parametry systemu z wartościami innymi niż domyślne: procesy = 150 timed_statistics = TRUE shared_pool_size = 67108864 large_pool_size = 1048576 java_pool_size = 20971520 spfile = spfile.ora

2. The PARAMETR V $ view wyświetla pełną nazwę używanego pliku spfile:

SQL> wybierz nazwę, wartość z parametru v $ gdzie nazwa = "spfile"; NAZWA WARTOŚĆ ---------------- -------------------------------- ----------------- spfile /export/home1/ora900/dbs/spfile.ora

3. W tym przykładzie, gdy używasz polecenia SQL „ALTER SYSTEM” do zmiany wartości parametru, modyfikacja jest dokonywana w pliku spfile.ora, a nie w pliku spfileSID.ora.

Przykład:

$ cp spfile.ora spfileRel14.ora
SQL> zmień zestaw systemowy sort_area_size = 65000 scope = spfile; System zmieniony.
$ więcej spfileRel14.ora… * .sort_area_size = 524288… 
$ więcej spfile.ora… * .sort_area_size = 65000… 

Przypadek 2

Jeśli w pliku alert.log nie wspomniano o parametrze SPFILE, polecenie ALTER SYSTEM zmieniłoby domyślnie plik spfileRel14.ora, jeśli jest używane podczas uruchamiania.

Plik PARAMETR V $ view wyświetla nazwę używanego pliku spfile. Wartość może być:
- spfile @ .ora dla spfileSID.ora
- spfile.ora dla spfile.ora

SQL> wybierz nazwę, wartość z parametru v $ gdzie nazwa = "spfile"; NAZWA WARTOŚĆ ---------------- -------------------------------- ----------------- spfile? /dbs/[email protected]

Możesz sprawdzić, czy plik spfileRel14.ora był używany podczas uruchamiania - w widoku V $ SPPARAMETER niektóre parametry mają JEST SPECYFICZNE kolumna
wartość ustawiona na TRUE i dlatego kolumna VALUE nie jest pusta:

SQL> wybierz nazwę, wartość, określono 2 z v $ spparameter, gdzie nazwa taka jak „cofnij%” NAZWA WARTOŚĆ ISSPEC --------------------------- --- ------------------------------ ------ undo_management MANUAL TRUE undo_tablespace RBS TRUE undo_suppress_errors FALSE undo_retention FALSE
SQL> zmień zestaw systemowy procesy = 100 scope = spfile; System zmieniony.
$ więcej spfileRel14.ora… * .processes = 100… 

Poprzedni plik spfile.ora pokazany powyżej wyświetla następujące informacje:

$ więcej spfile.ora… Processs = 150… 

Przypadek 3

Jeśli w pliku alert.log nie wspomniano o parametrze SPFILE, to polecenie ALTER SYSTEM spowoduje wyświetlenie błędu, jeśli podczas uruchamiania nie użyto pliku spfile.

SQL> alter system set open_cursors = 500 scope = spfile; zmień zestaw systemowy open_cursors = 500 scope = spfile * ERROR w linii 1: ORA-32001: zażądano zapisu do SPFILE, ale nie określono SPFILE podczas uruchamiania

Plik PARAMETR V $ view wyświetla wartość NULL dla nazwy pliku spf:

SQL> wybierz nazwę, wartość z parametru v $ gdzie nazwa = "spfile"; NAZWA WARTOŚĆ ---------------- -------------------------------- ----------------- spfile 

Możesz sprawdzić, czy żaden plik spfile nie został użyty podczas uruchamiania: w widoku V $ SPPARAMETER nie ma parametrów, dla których ISSPECIFIED ma wartość TRUE, ani też kolumna VALUE nie jest pusta. Na przykład:

W initRel12.ora nie zastosowano parametru SPFILE:

Uruchomiono instancję SQL> startup pfile = initRel12.ora ORACLE. Całkowity globalny obszar systemu 143433028 bajtów Stały rozmiar 286020 bajtów Zmienna wielkość 100663296 bajtów Bufory bazy danych 41943040 bajtów Bufory ponownego wykonania 540672 bajtów Zainstalowana baza danych. Baza danych otwarta.
SQL> wybierz * z v $ spparameter, gdzie WARTOŚĆ NIE jest NULL; nie wybrano wierszy
SQL> wybierz * z v $ spparameter, gdzie ISSPECIFIED = 'TRUE'; nie wybrano wierszy
Jak zmodyfikować spfile w Oracle Database




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