Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
adminisztrációs feladatok
ORACLE ORDBMS adminisztrációs feladatok 10. rész 2004 dr. Kovács László
2
Oracle teljesítménynövelés
Biztosítani kell a működéshez szükséges válaszidőt real time DB OLTP OLAP on –line: 2-30 sec A felmérések alapján a gyenge teljesítmény okai: OS 2.5% RDBMS 17.5% Alkalmazás 60% DB Tervezés 20% A helyreállítási költségek: OS 5% RDBMS 15% Alkalmazás 15% DB tervezés 65%
3
Hatékonyság javító lépések
1.Adatmodell de-normalizáció - több értékű mezők bevonása a táblába - kódok helyet teljes érték - részösszegek tárolása - mesterséges kulcsok alkalmazása 2. FOREIGN KEY használata készítsünk index-et az idegen kulcs mezőhöz is a kulcs megszűnése zárolja a hivatkozást
4
Rekord elérési módszerek
ROWID FULL SCAN INDEX SCAN - B-tree - bitmap - CLUSTER HASH JOIN - Nested Loop - Sorted Merge - Hash Join
5
Hatékonyság javító lépések
1. SQL parancsok - szabványos formában adjuk meg a parancsokat, hogy az RDBMS fel tudja ismerni őket. - kétfázisú végrehajtás beágyazott SQL-ben -használjuk a COST alapú optimalizálást, futtassuk az ANALYZE TABLE tnev COMPUTE STATISTIC ANALYZE TABLE tnev ESTIMATE STATISTIC ANALYZE TABLE tnev DELETE STATISTIC ANALYZE TABLE tnev VALIDATE ANALYZE INDEX ANALYZE CLUSTER parancsot
6
Hatékonyság javító lépések
1. SQL parancsok - A join-nál ügyeljünk a táblák megadási sorrendjére: FROM A,B nem ugyanaz mint FROM B.,A (a nagyobb méretű tábla neve szerepeljen előbb) - A tábla alias név használata javasolt - Az AND –nél a legutolsó feltételt értékeli ki elsőként - Az OR –nál a legelső feltételt értékeli ki elsőként - Ha lehet használjunk ROWID-t he lehet használjunk DECODE DECODE (kif, e1, k1, e2,k2,…, kv)
7
Hatékonyság javító lépések
1. SQL parancsok: - Használjunk unique, single-column indexet - Indexet csak a teljes mezőre vonatkozó feltételnél tud használni, ezért a teljes index-kifejezés szerepeljen a szelekciós kifejezésben - A DISTINCT mindig rendezést jelent - A COUNT mindig rendezést jelent - GROUP BY mindig rendezést jelent - A HAVING és GROUP BY tagokat együtt értékeli ki a rendszer
8
Hatékonyság javító lépések
1. optimalizálás kézi szabályozása: SELECT /* direktíva */ .. FROM … ALL_ROWS FIRST_ROW DYNAMIC_SAMPLING REWRITE FULL NO_INDEX(m) INDEX(m) USE_NL USE_HASH USE_MERGE
9
Hatékonyság ellenőrzése
EXPLAIN PLAN [SET STATAMEN_DID =‘id’] [INTO tabla] FOR sql_parancs; Az eredmény a PLAIN_TABLE-be kerül OPERATION OPTIONS OBJECT_NAME COST ROWS ID … ORACLE_HOME/RDBMS/SCRIPTS/UTLXPLS.SQL
10
Hatékonyság ellenőrzése
EXPLAIN PLAN FOR SELECT * FROM t1; COL QUERY FORMAT A04 SELECT OPERATION || ‘ ‘|| OPTIONS || ‘ ON ‘ || OBJECT_NAME ”QUERY”, COST, ROWS, BYTES FROM PLAN_TABLE ORDER BY ID; QUERY COST ROWS SELECT STATEMENT TABLE ACCESS FULL on T
11
Hatékonyság ellenőrzése
SQL TRACE Egy nyomkövetési lista készíthető a DBMS működéséről ALTER SYSTEM ALTER SESSION Túl költséges!! SET STATISTIC_LEVEL = ALL SET SQL_TRACE = TRUE | FALSE SHOW PARAMETERS TRACE ../admin/SID/udump/*.trc
12
Hatékonyság ellenőrzése
select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option$,0),2)) From objauth$ where obj#=:1 group by grantee#,privilege#,nvl(col#,0) order by grantee# call count cpu elapsed disk query current rows Parse Execute Fetch total Misses in library cache during parse: 1 Misses in library cache during execute: 1 Optimizer mode: CHOOSE Rows Row Source Operation 0 SORT GROUP BY (cr=2 pr=0 pw=0 time=18 us) 0 TABLE ACCESS BY INDEX ROWID OBJAUTH$ (cr=2 pr=0 pw=0 time=8 us) 0 INDEX RANGE SCAN I_OBJAUTH1 (cr=2 pr=0 pw=0 time=7 us)(object id 103)
13
Hatékonyság ellenőrzése
Trace lista formátumozott kiírása TKPROF segédprogram
14
Hatékonyság ellenőrzése
ALTER INDEX … REBUILD ALTER SESSION SET OPTIMIZER MODE = RULE | ALL_ROWS | FIRST_ROWS SELECT … FROM … GROUP BY m1, m2 GROUP BY ROLLUP (m1,m2) GROUP BY CUBE (m1,m2) SEQUENCE m m.NEXTVAL m.CURRVAL
15
Replikáció Bizonyos adatokat redundánsan is tárolhat a rendszer hatékonyság: - párhuzamosítás - gyorsabb hozzáférés - kisebb hálózati forgalom karbantartás - önálló adminisztráció - egyedi tárolási paraméterek adatvédelem - adatvesztés ellen jobban védett - önálló állományszintű védelmi lehetőség
16
Replikáció Replikálható objektumok: Tables Indexes Views Packages and Package Bodies Procedures and Functions Triggers Sequences Synonyms Replikációs csoport: logikailag összetartozó objektumok, azonos replikációs paraméterekkel Replikációs csomópont lehet: Master site: minden adat pontos másolata rajta van Snapshot site: csak bizonyos adatok, bizonyos időpontbeli képe van rajta
17
Replikáció replikációs stratégiák - Multimaster minden csomóponton teljes másolat helyezkedik el, az alkalmazásnak elegendő csak egy helyen elvégezni a módosítást - Snapshot teljes adatoknak csak egy időszakosan frissített, szűkített képe van jelen a csomóponton lehet : csak olvasható írható és olvasható a snapshot –on végzett módosítás automatikusan elmegy a master helyekre - Mixed
18
Replikáció snapshot frissítés módjai: fast (napló alapú) complete (teljes) force (megpróbál előbb gyors frissítést tenni)
19
Replikáció Replikáció típusai: Szinkron replikáció: a változások egy master helyen rögtön továbbítódnak a többi helyre. Minden master hely módosítása egy tranzakción belül megy végbe, ezért, ha valahol nem sikerül a módosítás, akkor a többi master helyen is visszagörgetődik a tranzakció. Aszinkron replikáció: a master helyen elvégzett módosítások egy későbbi időben, külön tranzakcióban hajtódnak végre Procedurális replikáció: nagy adatmennyiségek módosítása esetén hasznos. Ekkor csak a módosító eljárás kerül át a többi helyre, az adatok nem mozognak a hálózaton. Minden helyen lefut a módosító eljárás.
20
SQLPlus hatékony, parancs orientált eszköz a gyakorlott felhasználók számára funkciói: SQL és PL/SQL parancsok, parancsállományok készítése információ lekérdezés jelentés generálás különböző adatbázisok közötti műveletek adatbázis adminisztrálás >sqlplus // bejelentkezés sql> EXIT sql> HOST parancs sql> SELECT …
21
SQLPlus Az SQL parancsok végrehajtása történhet: - explicit tranzakció vagy - autocommit mód keretében SET AUTOCOMMIT ON SET AUTOCOMMIT OFF SET AUTOCOMMIT n sql> DECLARE 2 x NUMBER; 3 BEGIN 4 x := 4; 5 END; 6 . sql> / Az utolsó parancsot megőrzi sql> / sql>LIST sql>SAVE filenév sql>GET filenév sql>CLEAR BUFFER
22
SQLPlus A működést számos környezeti változó jelöli ki SET paramnév érték STORE SET paramfile SHOW paramnév SET VERIFY ON|OFF SET DEFINE karakter SET ESCAPE karakter SET TERMOUT ON|OFF SET PAGESIZE n SET LINESIZE n SET ECHO ON|OFF SET FEEDBACK ON|OFF
23
SQLPlus Interaktív lehetőségek: &változó &&változó &n sql> CLEAR BUFFER sql> INPUT 1 SELECT &CSOP_M, 2 MAX(&ERTEK_M) MAXI 3 FROM &TABLA 4 GROUP BY &CSOP_M 5 sql> SAVE STATS sql>SELECT … FROM .. WHERE szam = &s AND szoveg = ‘&s’ AND datum = TO_DATE (‘&s’,’YYYY.MM.DD’) szam2 = &1 … Enter value for csop_m: OSZT old 1: SELECT &CSOP_M, new 1: SELECT OSZT, …
24
SQLPlus Interaktív lehetőségek: DEFINE DEFINE változó DEFINE változó érték UNDEFINE változó PROMPT szöveg PROMPT ‘HELLO’ UNDEFINE m SET VERIFY OFF sql> DEFINE sql>DEFINE m = alma sql> SELECT .. WHERE mszoveg = ‘&m’ sql>DEFINE m = 2 sql> SELECT .. WHERE mszam = &m
25
Interaktív lehetőségek:
ACCEPT változó típus PROMPT szöveg HIDE PAUSE szöveg ACCEPT v CHAR PROMPT ‘Tipus:’ SELECT * FROM tabla WHERE tt = &v … ACCEPT v CHAR PROMPT ‘Tipus:’ HIDE
26
SQLPlus Jelentés készítési lehetőségek: REPHEADER PAGE szöveg REPFOOTER szöveg TTITLE LEFT | CENTER | RIGHT szöveg SKIP n TTITLE OFF BTITLE … COLUMN mező ON | OFF COLUMN mező HEADING szöveg FORMAT formátum WORD_WRAPPED NEWVALUE változó NOPRINT CLEAR SCREEN
27
SQLPlus Jelentés készítési lehetőségek: BREAK ON mező SKIP n PAGE BREAK ON REPORT COMPUTE kifejezés OF mező ON mező SPOOL filenév SPOOL OFF SPOOL OUT CLEAR COLUMNS BREAKS SQL.PNO SQL.LNO SQL.USER SQL.CODE SUM MIN MAX COUNT AVG
28
SQLPlus Kapcsoló változók használata SQLPlus PL/SQL :X X VARIABLE változó típus PRINT változó VARIABLE változó REFCURSOR EXECUTE eljárás(:változó) EXECUTE :változó := függvény(..) :X = :X + 1; OPEN :X FOR SELECT ..
29
SQLPlus -- uj felhasznalo letrehozasa accept nev prompt 'nev:' accept jsz prompt 'jelszo:' hide create user &nev identified by &jsz; Új parancsfile generálása SPOOL file SELECT ‘SELECT …’ FROM … SELECT DECODE (kif,e1,e2,…) … SPOOL OFF @file
30
SQLPlus set verify off set feedback off set heading off set pagesize 0 def uname = &&1 def fname = &&2 spool &fname select ‘set echo on’ from dual; select ‘drop ‘||object_type||’ ‘||owner||’.’||object_name||’;’ from dba_objects; where owner like ‘&uname’; select ‘set echo off’ from dual; spool off set newpage 1
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.