• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Oracle dwie sesje jednego użytkownika.

Object Storage Arubacloud
0 głosów
686 wizyt
pytanie zadane 3 stycznia 2021 w SQL, bazy danych przez CSSoup Mądrala (6,460 p.)
edycja 3 stycznia 2021 przez CSSoup
Mógłby mi ktoś wytłumaczyć o co dokładniej chodzi w sesjach przy temacie transakcji? Szukałem już w necie odpowiedzi na ten temat, ale średnio zgadzają się z moim materiałem ze studiów.

Powiedzmy, że mam wykonać zadanie polegające na:

1. Najpierw uruchamiam 2 sesje jednego użytkownika

2. W pierwszej sesji przykładowo usuwam z jednej tabeli jakieś dane

3.  W drugiej sesji je wstawiam

4. Zatwierdzam dane w pierwszej

5. W drugiej sesji natomiast zatwierdzam zmiany  i wykonuje jakiś SELECT

6.  A tutaj z kolei wykonuje SELECT w pierwszej sesji

Ktoś coś? :)

1 odpowiedź

+2 głosów
odpowiedź 9 stycznia 2021 przez Catalonya1992 Mądrala (5,440 p.)
wybrane 9 stycznia 2021 przez CSSoup
 
Najlepsza
Sesja to połączenie użytkownika z bazą danych. Jeden użytkownik może mieć otwartych wiele połączeń - wystarczy, że otworzysz kilka okienek w sql developerze :) Dopóki baza danych nie utworzy sesji dla użytkownika nie połączysz się z bazą danych. I to tyle, co musisz wiedzieć.

Transakcja z kolei to zbiór operacji(instrukcji SQL, np. UPDATE/DELETE/INSERT/SELECT), które wykonujemy w całości albo wcale. Oznacza to, że jeśli w ramach jednej transakcji zapiszesz 2 polecenia update to jeśli któreś z nich nie będzie mogło się wykonać to żadne z nich się nie wykona, np. UPDATE 1 może się wykonać, ale UPDATE2 z jakiegoś powodu nie może to zmiany naniesione przez UPDATE 1 "solidarnie" zostaną wycofane. Standardowym przykładem transakcji jest operacja przelewu bankowego: albo zmniejszymy saldo konta z którego wysyłamy pieniądze i jednocześnie zwiększymy saldo konta do którego przelewamy pieniądze albo nie wykonujemy żadnej operacji :)

Jeśli chodzi o Twoje zadanie to chodzi o to by w praktyce przekonać się, że sesje użytkowników w bazie danych są niezależne(można to modyfikować przy pomocy poziomów izolacji - isolation level). Dopóki nie zatwierdzisz zmian wykonanych w pierwszej sesji(COMMIT) to nie będę one widoczne dla żadnych innych sesji. SELECT pozwoli Ci upewnić się, że rzeczywiście tak jest.

Nie wiem na kiedy potrzebujesz więcej i dokładniej na ten temat, ale mogę nagrać o tym odcinek na swoim kanale YT: https://www.youtube.com/nieinformatyk
komentarz 9 stycznia 2021 przez CSSoup Mądrala (6,460 p.)
No i wszystko jasne. Co do filmiku spoko pomysł, zwiększy się przy okazji populacja zadowolonych studentów ;)

Podobne pytania

0 głosów
2 odpowiedzi 175 wizyt
pytanie zadane 14 stycznia 2023 w SQL, bazy danych przez haitoke Nowicjusz (240 p.)
0 głosów
0 odpowiedzi 154 wizyt
0 głosów
2 odpowiedzi 404 wizyt

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...