Metadata Oracle - Oracle metadata
![]() | tento článek ne uvést žádný Zdroje.Červenec 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Oracle Database poskytuje informace o všech tabulky, pohledy, sloupce, a postupy v databázi. Tato informace o informacích je známá jako metadata. Je uložen na dvou místech: tabulky datového slovníku (přístupné prostřednictvím integrovaných pohledů) a registr metadat.
jiný systémy pro správu relačních databází podporovat a ANSI - volá se standardní ekvivalent informační schéma.
Zobrazení metadat
Celkový počet těchto zobrazení závisí na verzi Oracle, ale pohybuje se v rozsahu 1000.
Hlavní integrovaná zobrazení přistupující k Oracle RDBMS tabulek datového slovníku je málo a jsou následující:
- ALL_OBJECTS - seznam všech objektů v aktuální databázi, které jsou aktuálnímu uživateli přístupné;
- ALL_TABLES - seznam všech tabulek v aktuální databázi, které jsou aktuálnímu uživateli přístupné;
- ALL_VIEWS - seznam všech pohledů v aktuální databázi, které jsou aktuálnímu uživateli přístupné;
- ALL_TAB_COLUMNS - seznam všech sloupců v databázi, které jsou přístupné aktuálnímu uživateli;
- ALL_ARGUMENTS - vypíše argumenty funkcí a procedur, které jsou aktuálnímu uživateli přístupné;
- ALL_ERRORS - vypíše popisy chyb na všechny uložené objekty (pohledy, procedury, funkce, balíčky a těla balíků), které jsou přístupné aktuálnímu uživateli;
- ALL_OBJECT_SIZE - zahrnuto pro zpětnou kompatibilitu s Oracle verze 5;
- ALL_PROCEDURES - (od Oracle 9 a dále) uvádí všechny funkce a postupy (spolu s přidruženými vlastnostmi), které jsou aktuálnímu uživateli přístupné;
- ALL_SOURCE - popisuje textový (tj. PL / SQL) zdroj uložených objektů přístupný aktuálnímu uživateli;
- ALL_TRIGGERS - seznam všech spouštěčů přístupných aktuálnímu uživateli.
Kromě toho existují ekvivalentní pohledy s předponou „USER_“, které zobrazují pouze objekty vlastněné aktuálním uživatelem (tj. Omezenější zobrazení metadat) a předponou „DBA_“, které zobrazují všechny objekty v databázi (tj. Neomezené globální zobrazení metadat pro instance databáze). Přístup k zobrazení metadat „DBA_“ přirozeně vyžaduje specifická oprávnění.
Příklad 1: Hledání tabulek
Najděte všechny tabulky, které mají v názvu tabulky PATTERN
VYBRAT Majitel TAK JAKO Schema_Name, Název_tabulky Z All_Tables KDE Název_tabulky JAKO '%VZOR%' OBJEDNAT PODLE Majitel, Název_tabulky;
Příklad 2: Hledání sloupců
Najděte všechny tabulky, které mají alespoň jeden sloupec, který odpovídá konkrétní PATTERN v názvu sloupce
VYBRAT Majitel TAK JAKO Schema_Name, Název_tabulky, Název_sloupce Z All_Tab_Columns KDE Název_sloupce JAKO '%VZOR%' OBJEDNAT PODLE 1,2,3;
Příklad 3: počítání řádků sloupců
Odhadněte celkový počet řádků ve všech tabulkách obsahujících název sloupce, který odpovídá PATTERN (to je SQL * Plus konkrétní scénář)
SLOUPEC DUMMY NOPRINT VYPOČÍTAT SOUČET Z NUM_ROWS NA DUMMY PŘESTÁVKA NA DUMMY VYBRAT NULA DUMMY, T.TABLE_NAME, C.COLUMN_NAME, T.NUM_ROWS Z ALL_TABLES T, ALL_TAB_COLUMNS C KDE T.TABLE_NAME = C.TABLE_NAME A C.COLUMN_NAME JAKO '%VZOR%' A T.MAJITEL = C.MAJITEL OBJEDNAT PODLE T.TABLE_NAME;
Všimněte si, že NUM_ROWS zaznamenává počet řádků, které byly v tabulce, když (a pokud) byla naposledy analyzována. To se s největší pravděpodobností odchýlí od skutečného počtu řádků aktuálně v tabulce.
Příklad 4: Hledání sloupců pohledu
Najít sloupce zobrazení
VYBRAT TABLE_NAME, název_sloupce, dekódovat(C.DATOVÝ TYP, 'VARCHAR2', C.DATOVÝ TYP || '(' || C.DATA_LENGTH || ')', 'ČÍSLO', DEKÓDOVAT(C.data_precision, NULA, C.DATOVÝ TYP, 0, C.DATOVÝ TYP, C.DATOVÝ TYP || '(' || C.data_precision || DEKÓDOVAT(C.data_scale, NULA, ')', 0, ')' , ', ' || C.data_scale || ')')), C.DATOVÝ TYP) datový typ Z cols C, obj Ó KDE C.TABLE_NAME = Ó.název_objektu A Ó.typ_objektu = 'POHLED' A C.název_tabulky JAKO '%VZOR%' OBJEDNAT PODLE C.název_tabulky, C.id_sloupce;
Varování: Toto je neúplné s ohledem na více datových typů včetně char, varchar a timestamp a používá extrémně staré, zastaralé pohledy slovníku, zpět na Oracle 5.
Použití podtržítka v názvech tabulek a sloupců
Podtržítko je speciální SQL vzor odpovídá jednomu znaku a měl by být ukončen, pokud ve skutečnosti hledáte znak podtržítka v klauzuli LIKE dotazu.
Stačí přidat následující po příkazu LIKE:
Uniknout '_'
A pak každé doslovné podtržítko by mělo být dvojitým podtržítkem: __
Příklad
LIKE '% __ G' ESCAPE '_'
Oracle Metadata Registry
Produkt Oracle Správce metadat Oracle Enterprise (EMM) je ISO / IEC 11179 kompatibilní registr metadat. Ukládá spravovaná metadata v konzistentním formátu, pro který lze použít publikování metadat. V lednu 2006 byl EMM k dispozici pouze prostřednictvím konzultačních služeb Oracle.