december 13, 2021

a Geek Diary

a következő példa az Oracle database műveleteket írja le a legalapvetőbb szinten. Ez egy Oracle adatbázis-konfigurációt ábrázol, amelyben a felhasználó és a kapcsolódó kiszolgáló folyamat különálló számítógépeken van, hálózaton keresztül csatlakoztatva.

 az SQL lekérdezés végrehajtása az oracle adatbázisban

1. Egy példány elindult egy csomóponton, ahol az Oracle Database telepítve van, gyakran gazdagépnek vagy adatbázis-kiszolgálónak hívják.

2. A felhasználó elindít egy alkalmazást, amely létrehoz egy felhasználói folyamatot. Az alkalmazás megpróbál kapcsolatot létesíteni a kiszolgálóval. (A kapcsolat lehet helyi, kliens/szerver vagy háromszintű kapcsolat egy középső rétegből.)

3. A kiszolgáló olyan figyelőt futtat, amely rendelkezik a megfelelő Oracle Net Services kezelővel. A figyelő felismeri az alkalmazás csatlakozási kérelmét, és létrehoz egy dedikált szerverfolyamatot a felhasználói folyamat nevében.

4. A felhasználó egy DML típusú SQL utasítást futtat, és végrehajtja a tranzakciót. Például a felhasználó megváltoztatja egy ügyfél címét egy táblában, és végrehajtja a módosítást.

5. A kiszolgálói folyamat megkapja az utasítást, és ellenőrzi a megosztott készletet (egy SGA-összetevőt) minden olyan megosztott SQL-területen, amely azonos SQL-utasítást tartalmaz. Ha megosztott SQL-területet talál, a kiszolgálói folyamat ellenőrzi a felhasználó hozzáférési jogosultságait a felhasználó által kért adatokhoz, és a meglévő megosztott SQL-területet használja az utasítás feldolgozásához. Ha egy megosztott SQL-terület nem található, egy új megosztott SQL-terület van lefoglalva az utasítás számára, hogy elemezhető és feldolgozható legyen.

6. A kiszolgálói folyamat lekéri a szükséges adatértékeket, akár a tényleges adatfájlból (táblázatból), akár az adatbázis puffer gyorsítótárában tárolt értékekből.

7. A szerver folyamat módosítja az adatokat az SGA-ban. Mivel a tranzakció elkötelezett, a Log Writer folyamat (LGWR) azonnal rögzíti a tranzakciót a redo log fájlban. A Database Writer process (Dbwn) módosított blokkokat ír véglegesen a lemezre, ha ez hatékony.

8. Ha a tranzakció sikeres, a kiszolgálói folyamat üzenetet küld a hálózaton keresztül az alkalmazásnak. Ha nem sikerül, hibaüzenet kerül továbbításra.

9. Az egész eljárás során a többi háttérfolyamat fut, figyelve a beavatkozást igénylő feltételeket. Ezenkívül az adatbázis-kiszolgáló kezeli más felhasználók tranzakcióit, és megakadályozza az azonos adatokat kérő tranzakciók közötti vitát.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.