IT blok - Michal Šika

kutilovo živobytí

Oracle – základní pojmy

V tomto článku si popíšeme základní pojmy, které potřebujeme znát, pokud chceme něco dělat s Oracle databázemi.

Co je Oracle?

Oracle je firma (hoodně velká). Oracle je ale také databázový server, který velmi strukturovaně spravuje data. Poskytuje uživatelům ukládání a zpracování jejich dat. V multiuživatelském prostředí může více uživatelů přistupovat ke stejným datům. Proto je Oracle databázový server velice výkonný.
Navíc je zabezpečený proti neautorizovaným přístupům a poskytuje účinné řešení pro zotavení po pádu.

Co je Oracle Databáze?

Oracle databáze je soubor dat uvnitř databázového serveru.

Co je Oracle instance?

Každá běžící Oracle databáze je přičleněná k Oracle instanci. Když na databázovém serveru spustíme databázi (bez ohledu na typ počítače a OS), Oracle si alokuje část paměti (SGA) a nastartuje jeden nebo více Oracle procesů.
Tato kombinace SGA a Oracle procesů je nazývaná Oracle instance.

Co je Parameter File?

Parameter file (soubor parametrů) je soubor, který obsahuje seznam inicializačních parametrů a jejich hodnot. Parametry v souboru reflektují danou instalaci Oracle serveru. Oracle podporuje následující dva typy parametrických souborů:

  • Server Parameter Files – to je binární verze.
  • Initialization Paremeter Files – to je textová verze.

Co je Server Parameter File?

Je to binární soubor, který představuje úložiště nastavení počátečních hodnot. Server Parameter File je umístěn na počítači v instalačních adresářích Oracle serveru.
Parametry umístěné v tomto souboru jsou trvalé, pokud jsou provedeny nějaké změny, zatímco instance běží, projeví se až po restartu instance.

Co je Initialization Paremeter File?

Je to textový soubor, který obsahuje seznam inicializačních parametrů. Soubor může být editován i ve znakové sadě klienta (třeba windows-1250, UTF-8 apod.).
Příklad inicializačního souboru je poskytován v instalaci pro jakýkoliv operační systém. Vzorový soubor je dostatečný pro první použití, ale bývá administrátory většinou modifikován, aby bylo docíleno nastavení pro nejlepší výkon. Jakékoliv změny se projeví po restartu instance.

Co je System Global Area (SGA)?

Je to oblast v paměti serveru/počítače, obsahující data sdílená mezi všemi databázovými uživateli, jako je vyrovnávací paměť a sdílené SQL příkazy.
SGA je v paměti alokována jakmile je Oracle instance nastartována, a jakékoliv změny v hodnotách se projeví až při dalším spuštění.

Co je Program Global Area (PGA)?

Je to vyrovnávací paměť, která je alokovaná pro každou databázovou session (sezení), a která obsahuje specifické informace jako data SQL příkazů nebo vyrovnávací pamět používanou na třídění.
Její hodnota určuje celkovou paměť alokovanou všemi sezeními a změny se projeví po dalším spuštění instance.

Co je uživatelský účet?

Každý uživatelský účet v Oracle databázi je definovaný uživatelským jménem a uživatelskými atributy.

To znamená následující:

  • heslo pro přihlášení do databáze
  • oprávnění a role
  • defaultní tablespace pro databázové objekty
  • defaultní temp tablespace

Vztah mezi uživatelským účtem s schématem

Mezi účtem a schematem je prostý vztah. Pokud vytvoříte uživatele, vytvoříte také schéma pro tohoto uživatele.
Schéma je vlastně logický „kontejner“ pro databázové objekty, jako jsou tabulky, pohledy (view), rtiggery apod., které uživatel vytváří.

Jméno schématu je shodné se jménem uživatelského jména a může být použito pro jednoznačné řazení objektů vlastněných uživatelem.

Co je Uživatelská role?

Jedná se o skupinu oprávnění. Uživatelům jsou oprávnění přiřazena pomocí uživatelských rolí.
Můžete vytvořit roli (create role), udělit jí oprávnění (grant privileges) a potom ji přiřadit nějakému uživateli (grant role).

Co je Databázové schéma?

Schéma je „kontejner“ logicky strukturovaných dat nebo objektů. Schéma je vlastněno databázovým uživatelem a má totéž jméno jako tento uživatel. Každý uživatel vlastní jedno schéma.
Objekty schématu mohou být vytvářeny a měněny pomocí SQL a zahrnují:

  • tabulky
  • pohledy (view)
  • další typy datových objektů

Co je Databázová tabulka?

Databázová tabulka je základní logickou jednotou pro uložení dat v Oracle databázi. Data jsou ukládána v řádcích a sloupcích (rows a columns).

Správce definuje tabulku pomocí jména (např. „zamestnanci“) a nastaví sloupce. Každému sloupci také přiřají jeho jméno (např. zamestnanci_id, prijmeni, prace_id), dále datový typ (což je VARCHAR2, DATE nebo NUMBER) a šířku (width). Šířka může být předurčena datovým typem (třeba u DATE).
Pokud má sloupec datový typ NUMBER, definuje se na místo šířky přesnost a měřítko (precision a scale).
Řádka je souhrnem informací ve sloupcích odpovídající samostatnému záznamu.

Co je Tabulka Index?

Index je výběrová tabulka přidružená k databázové tabulce, obsahující SQL příkazy pro rychlejší přístup k určitým datům.
Index vlastně pomáhá najít potřebné informace rychleji, než kdybychom dotaz pokládali přímo nad tabulkou. Indexy je možné používat bez přepisování jakýchkoliv dotazů. Výsledky jsou shodné, ale získáme je mnohem rychleji.

Co je Oracle Tablespace?

Oracle Tablespace je velké logické úložiště v Oracle databázi. Je spravována a používána Oracle serverem k ukládání datových objektů, jako jsou tabulky a indexy.

Každý tablespace v Oracle databázi se skládá z jednoho nebo více souborů zvaných datafiles, které odpovídají fyzické struktuře operačního systému, na kterém Oracle běží.

Co je Oracle Data File?

Oracle Data File je velké fyzické úložiště v souborovém systému OS. Jeden nebo více datových souborů je organizováno společně pro poskytování fyzického úložiště jednomu tablespace.

Co je Static Data Dictionary?

Tabulka Data Dictionary není přímo přístupná, ale k informacím uvnitř ní je možné se dostat pomocí pohledů (data dictionary view). Po výpis dostupných pohledů data dictionary, zadejte dotaz k view DICTIONARY. Spousta tabulek Data Dictionary má tři pohledy:

  • ALL_ pohled zobrazí všechny informace přístupné aktuálnímu uživateli. Zahrnuje informace o aktuálním schématu a také informace o objektech z jiných schémat, pokud k nim má uživatel přístup.
  • DBA_ pohled zobrazí všechny platné informace pro celou databázi. Tyto views jsou určené pouze pro administrátory.
  • USER_ pohled zobrazí všechny informace pro schéma aktuálního uživatele. Nejsou potřeba žádná speciální oprávnění.

Co je Dynamic Performance View?

Oracle obsahuje sadu výchozích pohledů, udržovaných databázovým serverem a přístupných pod účtem SYS. Tyto pohledy jsou nazývány Dynamic Performance Views a jejich obsah se primárně váže k výkonnosti.
Ačkoliv tyto views vypadají jako opravdové databázové tabulky, ve skutečnosti jimi nejsou. Tyto views poskytují data o vnitřní diskové struktuře a paměťové struktuře.
Je nad nimi možné provádět pouze selecty.

Co je Recycle Bin?

Recycle Bin je logické úložiště pro podržení smazaných tabulek. Tabulky v recycle bin mohou být obnoveny zpět do databáze pomocí Flashback Drop. Je to podobné odpadkovému koši ve Windows.
Recycle Bin je možné zapnout nebo vypnout pomocí recyclebin=on/off v souboru parametrů.

Co je SQL*Plus?

SQL*Plus je interaktivní řádkový nástroj, který je instalovaný v každém Oracle DB serveru nebo Oracle Clientu.
Uživatelské rozhraní je buď příkazová řádka nebo Windows GUI a také iSQL*Plus webové uživatelské rozhraní.

Co je Transport Network Substrate (TNS)?

Transport Network Substrate (TNS) je základní technologie, postavená na Oracle Net vrstvě, a která pracuje na jakémkoliv standardním síťovém protokolu (např. TCP).

Co je Open Database Communication (ODBC)?

Open Database Communication (ODBC) je standardní API vyvinuté Microsoftem pro Windows aplikace pro komunikaci s databázovými systémy.

Oracle nabízí ODBC ovladače pro přístup Windows aplikací k Oracle serveru pomocí ODBC (pokud uživatel nechce instalovat Oracle clienta).

Michal Šika