Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Niesamowite pytania do rozmowy kwalifikacyjnej z 24 równoległymi menedżerami

Oto niesamowite 24 pytania do wywiadu współbieżnego z menedżerami zadawane w większości rozmów kwalifikacyjnych w celu przetestowania umiejętności pracy współbieżnego menedżera

Pytanie 1: Jakie są rodzaje współbieżnych menedżerów?

Odpowiedź Istnieje kilka typów współbieżnych menedżerów. Ważne:
Menedżer wewnętrzny
Menedżer standardowy.
Menedżer rozwiązywania konfliktów
Monitory wewnętrzne
Menedżer usług
Menedżer transakcji
Zdefiniowany przez menedżera niestandardowego

Więcej informacji pod poniższym linkiem

Oracle Concurrent Manager

Pytanie 2: Co to jest wewnętrzny menedżer współbieżny?

Odpowiedź :Odpowiada za kontrolowanie wszystkich innych współbieżnych menedżerów. Jego głównym zadaniem jest upewnienie się, że wszyscy inni współbieżni menedżerowie działają. Kontroluje innych menedżerów poprzez żądania kierowane do menedżera usług. Uruchamia, zatrzymuje i ponownie uruchamia menedżera usług dla wszystkich węzłów.

Pytanie 3: Co to jest menedżer rozwiązywania konfliktów (CRM)?

Odpowiedź: Zajmuje się rozwiązywaniem niezgodności programu i sprawdza, czy żądanie w kolejce może zostać uruchomione równolegle z uruchomionym żądaniem. Jeśli program zostanie zidentyfikowany jako uruchamiany samodzielnie, uniemożliwia to równoczesnym menedżerom uruchamianie innych programów w tej samej domenie konfliktu.

Pytanie 4: Co to jest menedżer standardowy?

Odpowiedź :Standard Manager jest głównym menedżerem współbieżnym. Jest zawsze uruchomiony i może zająć się przetwarzaniem dowolnego równoczesnego żądania. Jeśli w ogóle żaden inny menedżer nie jest przypisany do programu, ten program zostanie wybrany przez standardowego menedżera.

Pytanie 5:
Co wydarzyło się za kulisami po przesłaniu równoczesnego wniosku?

Odpowiedź

(1) Po złożeniu przez użytkownika równoczesnego żądania tabela FND_CONCURRENT_REQUESTS jest automatycznie aktualizowana szczegółami żądania. Tabela jest również aktualizowana o informacje o harmonogramie równoczesnego żądania, niezależnie od tego, czy jest ono zaplanowane natychmiast, czy zaplanowane na określony czas.

(2 Jeśli żądanie jest niezgodne/zdefiniowane ograniczenia, Gdy nadejdzie czas uruchomienia żądania, jego status jest ustawiony na Oczekujące/Oczekujące. Teraz menedżer rozwiązywania konfliktów zajmuje się żądaniem i dowiaduje się, jakie są niezgodności i ustawia stan w toku normalne, gdy niezgodności zostaną usunięte.

(3) Jeśli nie ma niezgodności, gdy nadejdzie czas uruchomienia żądania, jego stan zostanie ustawiony na Oczekujące/Normalne

(4) WSZYSCY standardowi współbieżni menedżerowie i menedżerowie specjalni nieprzerwanie odpytują tabelę FND_CONCURRENT_REQUESTS. Zadaniem współbieżnego menedżera jest wykonywanie jednoczesnych żądań, które są w fazie/statusie Oczekujące/Normalne i są kwalifikowane do działania zgodnie z jego regułami specjalizacji.

(5) Współbieżne procesy menedżera
– Działaj niezależnie
– Wybierz tylko żądania, które:(a) są zgodne z regułami specjalizacji menedżera, (b) są oczekujące/normalne, (c) mają żądany czas rozpoczęcia <=data systemowa

(6) Po przetworzeniu żądania tabela FND_CONCURRENT_REQUESTS jest aktualizowana o status.

Pytanie 6: Użytkownicy biznesowi tworzą incydent, którego realizacja współbieżnych żądań zajmuje dużo czasu. Jakie będzie twoje podejście do debugowania?

Odpowiedź

1) Najpierw znajdź status równoczesnego żądania. Może to być zaplanowane później lub może być w trybie oczekiwania/wstrzymania lub wszyscy współbieżni menedżerowie są zajęci obsługą innych żądań. Jeśli jest w stanie oczekiwania/wstrzymania, musimy znaleźć działający niekompatybilny program i poinformować użytkownika. Wiele razy użytkownicy planują uruchomienie żądania w późniejszym czasie.

2) Znajdź stronę bazy danych współbieżnego żądania i sprawdź, czy czeka na blokady. Zabijemy blokującą sesję oracle, aby zakończyć zadanie

3) Możemy uruchomić śledzenie identyfikatora żądania, aby znaleźć działający sql, a następnie wygenerować dla niego plan wyjaśniania. Możesz zobaczyć, czy sid utknął na konkretnym sql. Jeśli jest to konkretny sql, dobrze jest sprawdzić statystyki danej tabeli. Możemy poszukać możliwości dostrojenia tego zapytania

4) Możemy sprawdzić parametry, z jakimi żądanie jest uruchamiane. (Na przykład, gdy użytkownik przyszedł i powiedział, że żądanie nie drukuje danych wyjściowych. Po sprawdzeniu możliwych rzeczy zdano sobie sprawę, że zaplanował żądanie z kopiami wydruku =0.)

Pytanie 7: Co się stanie, gdy wewnętrzny współbieżny menedżer nagle umrze? Czy wszyscy menedżerowie są również zabijani zaraz po tym?

Odpowiedź

Nie WSZYSCY standardowi menedżerowie nadal działają i wykonują żądanie. jeśli menedżer wewnętrzny umrze, poniżej żądania kontroli kolejki nie są wykonywane

a) Uruchamia wszystkie inne procesy.
b) Wykonuje „żądania kontroli” przesłane przez administratora.
c) Aktywuj/dezaktywuj/przerwij menedżera współbieżnego
d) Zakończ żądanie współbieżne
e ) Monitoruje procesy, uruchamiając ponownie wszystkie, które nie powiodły się.
f) Ustawia docelową liczbę procesów dla każdej usługi na podstawie bieżącej zmiany roboczej.

Pytanie 8: Czy wewnętrzny menedżer sam uruchamia lub planuje jakieś żądanie?

Odpowiedź

Nie, menedżer wewnętrzny nie uruchamia ani nie planuje żadnych żądań. Nie ma to nic wspólnego z planowaniem żądań ani decydowaniem, który menedżer uruchomi dane żądanie. Jego funkcją jest tylko uruchamianie żądań „kontroli kolejki”

a) Uruchamia wszystkie inne procesy.
b) Wykonuje „żądania kontroli” przesłane przez administratora.
c) Aktywuj/dezaktywuj/przerwij menedżera współbieżnego
d) Zakończ żądanie współbieżne
e ) Monitoruje procesy, uruchamiając ponownie wszystkie, które nie powiodły się.
f) Ustawia docelową liczbę procesów dla każdej usługi na podstawie bieżącej zmiany roboczej.

Pytanie 9: Jak równolegle przetwarzać więcej jednoczesnych żądań?

Odpowiedź

Możemy zwiększyć docelowe procesy współbieżnego menedżera w celu zwiększenia równoległości. Można to zrobić za pomocą formularza definiowania równoczesnego menedżera lub poprzez bezpośrednią aktualizację z sqlplus

Pytanie 10: Jeśli menedżer wewnętrzny przestanie działać, czy muszę zabić wszystkich menedżerów przed ponownym uruchomieniem menedżera wewnętrznego?

Odpowiedź
Nie, jeśli menedżer wewnętrzny upadnie, nie musisz zabijać wszystkich menedżerów. Możesz po prostu uruchomić menedżera wewnętrznego za pomocą startmgr.

Pytanie 11 :Jakie problemy napotkałeś podczas zamykania aplikacji?

Odpowiedź

Podczas zamykania aplikacji ogólnie współbieżny menedżer nie zostanie wyłączony, ponieważ niektóre inne żądania mogą być uruchomione. Zobaczymy, jakie są jednocześnie uruchomione żądania, wykonując zapytania fnd_concurrent_requests, fnd_concurrent_program_vl, v$session, v$process i v$sqltext.

Jeśli to żądanie wykonuje tylko jakąś instrukcję select, zabijemy te żądania, w przeciwnym razie sprawdzimy, ile czasu zajmie wykonanie, odpytując poprzednie uruchomienia tego żądania, a następnie zdecydujemy, co zrobić.

Pytanie 12: Co to są monitory wewnętrzne?

Odpowiedź: Monitory wewnętrzne są używane specjalnie w PCP, aby umożliwić przełączanie awaryjne ICM do innych dostępnych węzłów warstwy środkowej.
a) Umieść monitor wewnętrzny na dowolnym węźle, w którym ICM może się uruchomić w przypadku awarii.
b) Monitory wewnętrzne są domyślnie umieszczane na każdym zarejestrowanym węźle.
c) Jeśli ICM ulegnie awarii, Monitor wewnętrzny spróbuje uruchomić nowy ICM na węźle lokalnym.
d) Jeśli uruchomionych zostanie wiele ICM, tylko pierwszy pozostanie aktywny. Pozostali z wdziękiem wyjdą.

Pytanie 13: Czy mogę usunąć równoczesnego menedżera?
Odpowiedź:

Tak, możesz usunąć dowolnego współbieżnego menedżera. Aby usunąć, zapytaj menedżera w zdefiniowanym formularzu współbieżnego menedżera, a następnie usuń wiersz.

Nie zaleca się usuwania predefiniowanych menedżerów współbieżnych i nigdy nie należy tego robić. Usunięcie może spowodować niestabilność systemu.

Pytanie 14: Skąd możesz wiedzieć, który plik śledzenia jest tworzony dla konkretnego żądania?

Odpowiedź

Możesz dowiedzieć się tego samego za pomocą skryptu podanego poniżej. Ślad będzie zlokalizowany w lokalizacji udump serwera bazy danych.


prompt
accept request prompt ‘Please enter the concurrent request id for the appropriate concurrent program:’
prompt
column traceid format a8
column tracename format a80
column user_concurrent_program_name format a40
column execname format a15
column enable_trace format a12
set lines 80
set pages 22
set head off
SELECT ‘Request id: ‘||request_id, ‘Trace id: ‘||oracle_Process_id, ‘Trace flag: ‘||req.enable_trace, ‘Trace Name: ‘||dest.value||’ ‘||lower(dbnm.value)||’ora’||oracle_process_id||’.trc’, ‘Prog. Name: ‘||prog.user_concurrent_program_name, ‘File name: ‘||execname.execution_file_name||execname.subroutine_name , ‘Status :’||decode(phase_code, ‘R’, ‘Running’)||’ ‘||’-‘||decode(status_code, ‘R’, ‘Normal’), “SID Serial: “||ses.sid||” , “||ses.serial#, “Module : “||ses.module
from fnd_concurrent_requests req,
v$session ses, v$process proc,
v$parameter dest, v$parameter dbnm,
fnd_concurrent_programs_v1 prog,
fnd_executables execname
where req.request_id = &request
and req.oracle_process_id=proc.spid(+)
and proc.addr = ses.paddr(+)
and dest.name=’user_dump_dest’
and dbnm.name=’db_name’
and req.concurrent_program_id =
prog.concurrent_program_id
and req.program_application_id =
prog.application_id
and prog.application_id =
execname.application_id
and
prog.executable_id=execname.executable_id;

30 najbardziej użytecznych zapytań współbieżnych menedżera

Pytanie 15: Wyjaśnij, jak działa równoległe przetwarzanie współbieżne (PCP)?

Odpowiedź
W przypadku równoległego przetwarzania współbieżnego, wszystkim menedżerom przypisywany jest węzeł podstawowy i dodatkowy. Menedżery są domyślnie uruchamiane w węźle podstawowym. W przypadku awarii węzła lub awarii instancji Oracle, wszyscy współbieżni menedżerowie w tym węźle są przełączani do swoich węzłów drugorzędnych. Gdy węzeł podstawowy jest ponownie dostępny, współbieżni menedżerowie z węzłów drugorzędnych są migrowani z powrotem do węzła podstawowego. Podczas procesu migracji menedżer może być rozłożony zarówno na węzły podstawowe, jak i dodatkowe.

W przypadku równoległego przetwarzania współbieżnego może się zdarzyć, że w węźle, w którym skonfigurowano równoległe przetwarzanie współbieżne, instancja Oracle może działać lub nie. Węzeł, na którym nie działa Oracle, menedżerowie współbieżni łączą się przez sieć Net8 z węzłem, na którym działa Oracle.
Wewnętrzny menedżer współbieżny może działać na dowolnym węźle i może aktywować i dezaktywować menedżerów współbieżnych na wszystkich węzłach. Ponieważ wewnętrzny menedżer współbieżny musi być aktywny przez cały czas, wymaga wysokiej odporności na awarie. Aby zapewnić tę odporność na błędy, równoległe przetwarzanie współbieżne wykorzystuje wewnętrzne procesy monitorowania. Zadaniem procesu monitorowania wewnętrznego jest ciągłe monitorowanie wewnętrznego menedżera i uruchamianie go, gdy zawiedzie. W pojedynczym węźle może być aktywny tylko jeden proces monitorowania wewnętrznego. Podczas konfigurowania systemu decydujesz, które węzły mają wewnętrzny proces monitorowania. Można również przypisać każdemu wewnętrznemu procesowi monitorowania węzeł podstawowy i dodatkowy, aby zapewnić ochronę w razie awarii. Wewnętrzne procesy monitorowania, takie jak współbieżni menedżerowie, mogą być przypisane do zmian roboczych i są aktywowane i dezaktywowane przez wewnętrznego współbieżnego menedżera.

Równoległe przetwarzanie współbieżne

Pytanie 16: Jakie są okoliczności, w których musisz odbić współbieżnego menedżera?

Odpowiedź:Może zaistnieć wiele sytuacji, w których konieczne będzie odrzucenie współbieżnego menedżera

a) Kiedy modyfikujesz definicję drukarek
b) Kiedy modyfikujesz zmienne środowiskowe. Załóżmy, że zmieniłeś zmienną APPLTMP i APPLPTMP.
c) Gdy wszystkie żądania są w toku i zawieszają się i nie ma żadnego przetwarzania
d) Aplikacja łaty wymaga odbicia CM
e) Mamy wiele globalnych zawieszeń w systemie z powodu blokad przez kilku równoczesnych menedżerów i innych procesów

Pytanie 17: Jakie są powody, dla których współbieżny menedżer zawiesza się?

Odpowiedź:

Współbieżny menedżer zawiesza się z wielu powodów. Oto kilka z nich:
– Długotrwałe zadania
– Wewnętrzny menedżer został aktywowany przez kogoś innego niż właściciel systemu aplikacji
– System plików systemu operacyjnego jest pełny
– Nie można utworzyć pliku dziennika
– Zamknąłeś wewnętrznego menedżera, ale w rzeczywistości ma w nim numer
– Baza danych zawiesza się, być może dlatego, że pliki dziennika archiwum zostały zapełnione
– Zbyt wiele żądań oczekujących/oczekujących

Pytanie 18: Jak możemy włączyć/wyłączyć Menedżera rozwiązywania konfliktów?

Odpowiedź: Można to zrobić za pomocą opcji profilu „Równoczesny:Użyj ICM”. Ustaw go na „Y”, aby włączyć menedżera rozwiązywania konfliktów. Aby go wyłączyć, ustaw opcję profilu na „N”.

Pytanie 19: Co to są menedżerowie transakcji?

Odpowiedź: Menedżerowie transakcji zapewniają synchroniczne przetwarzanie zadań poprzez ciągłe monitorowanie potoku DBMS pod kątem żądań przychodzących z aplikacji po stronie klienta. Zadaniem menedżera transakcji jest natychmiastowe przetworzenie tego zadania i wysłanie informacji z powrotem do klienta za pomocą potoku.

a) Menedżerowie transakcji zapewniają synchroniczne przetwarzanie zadań
b) Klient składa prośbę do określonego menedżera transakcji o uruchomienie programu i czeka na wyniki tego programu
c) Programy zespołów produktowych są połączone bezpośrednio z pliki wykonywalne menedżera transakcji
d) PO, CRP, INV, AR i OE wszyscy menedżerowie transakcji statków

Pytanie 20: Jak działa mechanizm przeglądania logów i plików wyjściowych z przeglądarki?

Odpowiedź

Sekwencja zdarzeń jest następująca:
1. Użytkownik w sesji aplikacji żąda wyświetlenia pliku wylogowania lub wylogowania.
2. Przeglądarka odbiera żądanie i uruchamia program CGI FNDWRR.exe
3. FNDWRR.exe loguje się do bazy danych i wysyła zapytanie do FND_CONCURRENT_REQUESTS, aby wykryć, w którym węźle są przechowywane pliki dla tego żądania.
4. FNDWRR.exe tworzy nazwę usługi dla serwera plików w tym węźle. I wykonuje wywołanie tns w celu skontaktowania się z odbiornikiem dla tej nazwy usługi.
5. Odbiornik odpowiada, tworząc lokalny plik wykonywalny FNDFS, zgodnie z definicją w pliku listener.ora. Teraz FNDFS i FNDWRR.exe mogą teraz komunikować się bezpośrednio za pomocą wywołań RPC.
6. FNDWRR.exe żąda od FNDFS przesłania pliku wybranego przez użytkownika.
7. FNDFS przesyła zawartość pliku do katalogu plików tymczasowych w węźle serwera WWW.
8. Serwer sieciowy wyświetla użytkownikowi zawartość pliku.

Pytanie 21: Dlaczego menedżer współbieżny umieszcza współbieżny program w kolejce? Dlaczego menedżer po prostu nie pozwala uruchomić programu?
Odpowiedź: Ponieważ w dowolnym momencie współbieżny menedżer może uruchamiać nie więcej niż powiedzmy 10 programów jednocześnie. Ta liczba 10 jest oczywiście konfigurowalna. Najpierw menedżer umieszcza przesłany program w kolejce, a następnie sprawdza, czy jest wolne miejsce (tzn. aktualnie uruchomionych jest mniej niż 10 programów). Jeśli gniazdo zostanie znalezione jako dostępne, menedżer współbieżny uruchamia program lub utrzymuje współbieżny program w kolejce ze statusem Oczekiwanie.

Pytanie 22: Co zrobić, jeśli żądanie jest nieaktywne/brak menedżera

Odpowiedź: To dość podchwytliwe pytania
a) Upewnij się, że jest co najmniej jeden aktywny menedżer z regułami specjalizacji, które zezwalają na program.
b) Jeśli potwierdziłeś poprzedni punkt, problem może być przestarzały Widok żądania pracownika
– Widok jest używany wewnętrznie do mapowania żądań do menedżerów
– Widok jest ponownie generowany po utworzeniu menedżerów lub zmianie reguł specjalizacji
c) Możesz ręcznie ponownie wygenerować widok
FNDLIBR FND FNDCPBWV aplikacje/aplikacje SYSADMIN „Administrator systemu” SYSADMIN

Pytanie 23: Co to są menedżerowie usług?

Odpowiedź: Menedżerowie usług pojawiają się w węzłach średniego poziomu systemu z obsługą GSM, aby działać jako agent ICM. Gdy ICM zauważy, że potrzebuje menedżera usług do wykonania jakiejś funkcji, takiej jak uruchomienie współbieżnego procesu menedżera, w węźle warstwy środkowej, wykona wywołania zdalnego sterowania procedurami (RPC) do odbiornika Apps w tym węźle, aby uruchomić Kierownik serwisu. Po uruchomieniu i zainicjowaniu menedżera usług, ICM komunikuje się bezpośrednio z SM przez RPC, przekazując mu informacje potrzebne do zarządzania usługami w tym węźle. SM jest odradzane z nasłuchiwania APPS TNS. Odbiornik APPS TNS musi być uruchomiony na każdym węźle warstwy środkowej w systemie i uruchomiony przez użytkownika, który uruchamia ICM (np. applmgr). Odbiornik TNS tworzy Menedżera usług, aby działał jako agent ICM dla węzła lokalnego
Service Manager jest uruchamiany przez ICM na żądanie w razie potrzeby. Jeśli w węźle nie są potrzebne żadne działania związane z zarządzaniem, Menedżer usług nie zostanie uruchomiony przez ICM, dopóki nie będzie to konieczne. Gdy ICM wyjdzie, menedżerowie usług również wyjdą.

Pytanie 24: Co robi ICM Process Monitor?

Odpowiedź: Sam ICM i każdy proces generowany przez ICM ma wpis w FND_CONCURRENT_PROCESSES i przechowuje unikatową blokadę DBMS.
Unikalna blokada ICM ma format FNDCPLK_ICM. Ta blokada sesji bazy danych to metoda, dzięki której ICM zapewnia w każdym cyklu PMON, że procesy menedżera i usługi są nadal aktywne. Jeśli ICM może uzyskać blokadę sesji DBMS procesu, ICM rozpocznie nowy proces dla tego menedżera lub usługi.

To jest powód, dla którego często widzisz wpisy, takie jak znaleziony martwy proces, rozpoczynający nowy proces w plikach dziennika ICM.

Powiązane artykuły dla współbieżnego menedżera

Izolowanie programów współbieżnych po uaktualnieniu do oddzielnej kolejki menedżera w wersji R12.2 :Jak wyizolować współbieżne żądane przez aktualizację do oddzielnego menedżera współbieżnego, aby nie miało to wpływu na zwykłe współbieżne przetwarzanie
jak wysyłać dane wyjściowe współbieżnego programu przez email :Opcja dostarczania dla danych wyjściowych Programu współbieżnego w wersji Oracle EBS R12.
zestaw żądań w aplikacjach oracle :Zestaw żądań umożliwia regularne przesyłanie tego samego zestawu żądań przy użyciu pojedynczej transakcji.
CP Analyzer:CP Analyzer przegląda konfiguracje CP i porównuje je z najlepszymi praktykami Oracle.
Współbieżne:Faza i status żądania :Wszystkie informacje o fazie i statusie współbieżnego żądania. Znaczenie jest określane dla każdej kombinacji.
ORA-01427 :Sprawdź to dla rozwiązania na ORA-01427:jednowierszowe podzapytanie zwraca więcej niż jeden wiersz błędu, jak go rozwiązać, gdy ma to miejsce za pomocą Concurrent Manager
Priorytet dla współbieżnego programu:Ten post ma szczegółowy opis wzmianka o zmianie priorytetu dla równoczesnego programu lub użytkownika lub prośba o rozwiązanie krytycznych problemów z bieżącym raportem użytkownika

Polecane  kursy

Oto niektóre z zalecanych kursów, które możesz kupić, jeśli chcesz pójść o krok dalej

Poniżej podano linki do niektórych kursów


Oracle DBA 11g/12c — Administracja bazami danych dla Junior DBA :Ten kurs jest dobry dla osób, które zaczynają jako Junior DBA lub aspirują do zostania Oracle DBA. Zapewni to dobre zrozumienie zadań tworzenia kopii zapasowych i odzyskiwania oraz ogólnych zadań administracyjnych
Baza danych Oracle:Administracja Oracle 12C R2 RAC :Ten kurs obejmuje instalację i administrację Oracle RAC. Dobry kurs dla Oracle DBA, który chce podnieść swoje umiejętności w zakresie Oracle RAC
Oracle Data Guard:Administrowanie bazą danych dla Oracle 12C R2 :Ten kurs obejmuje instalację i administrację Oracle Dataguard. Dobry kurs dla Oracle DBA, który chce podnieść swoje umiejętności w zakresie Oracle Dataguard

Polecane książki
OCA/OCP Baza danych Oracle 12c Przewodnik po egzaminach All-in-One (Egzaminy 1Z0-061, 1Z0-062 i 1Z0-063)
Podręcznik Oracle Database 12c DBA (dla prasy Oracle)
Oracle DBA All-in-one Scripts — przewodnik, który musi posiadać każdy DBA:Skrypty Oracle dba kolekcja używana codziennie przez doświadczonych administratorów baz danych. Musisz mieć skrypty dbające o codzienne czynności!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak zamienić akcentowaną literę w kolumnie varchar2 w oracle

  2. Wyszukiwanie bez rozróżniania wielkości liter w Oracle

  3. Uciekanie znaków kontrolnych w Oracle XDB

  4. Dlaczego otrzymuję wyjątek OutOfRange w funkcji GetOrdinal tego pola CLOB?

  5. Napraw błąd „ORA-01790:wyrażenie musi mieć ten sam typ danych co odpowiadające wyrażenie”