Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

ORACLE ORDBMS adminisztrációs feladatok 10. rész dr. Kovács László 2004.

Hasonló előadás


Az előadások a következő témára: "ORACLE ORDBMS adminisztrációs feladatok 10. rész dr. Kovács László 2004."— Előadás másolata:

1 ORACLE ORDBMS adminisztrációs feladatok 10. rész dr. Kovács László 2004

2 Oracle teljesítménynövelés A felmérések alapján a gyenge teljesítmény okai: OS2.5% RDBMS17.5% Alkalmazás60% DB Tervezés20% A helyreállítási költségek: OS5% RDBMS15% Alkalmazás15% DB tervezés65% Biztosítani kell a működéshez szükséges válaszidőt real time DBOLTPOLAP on –line: 2-30 sec

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 1. optimalizálás kézi szabályozása: SELECT /* direktíva */.. FROM … Hatékonyság javító lépések 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 ORACLE_HOME/RDBMS/SCRIPTS/UTLXPLS.SQL - OPERATION - OPTIONS - OBJECT_NAME - COST - ROWS - ID - …

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 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 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) Hatékonyság ellenőrzése

13 Trace lista formátumozott kiírása TKPROF segédprogram

14 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 ALTER INDEX … REBUILD Hatékonyság ellenőrzése

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 Az utolsó parancsot megőrzi sql> / sql>LIST sql>SAVE filenév sql>GET filenév sql>CLEAR BUFFER sql> DECLARE 2 x NUMBER; 3 BEGIN 4 x := 4; 5 END; 6. sql> /

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 Enter value for csop_m: OSZT old 1: SELECT &CSOP_M, new 1: SELECT OSZT, … sql>SELECT … FROM.. WHERE szam = &s AND szoveg = ‘&s’ AND datum = TO_DATE (‘&s’,’YYYY.MM.DD’) szam2 = &1 …

24 SQLPlus Interaktív lehetőségek: DEFINE DEFINE változó DEFINE változó érték UNDEFINE változó PROMPT szöveg sql> DEFINE sql>DEFINE m = alma sql> SELECT.. WHERE mszoveg = ‘&m’ sql>DEFINE m = 2 sql> SELECT.. WHERE mszam = &m PROMPT ‘HELLO’ UNDEFINE m SET VERIFY OFF

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 SELECT * FROM tabla WHERE tt = &v …

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 SUM MIN MAX COUNT AVG SQL.PNO SQL.LNO SQL.USER SQL.CODE

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(..) OPEN :X FOR SELECT.. :X = :X + 1;

29 SQLPlus Új parancsfile generálása -- uj felhasznalo letrehozasa accept nev prompt 'nev:' accept jsz prompt 'jelszo:' hide create user &nev identified by &jsz; SPOOL file SELECT ‘SELECT …’ FROM … SELECT DECODE (kif,e1,e2,…) … SPOOL

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


Letölteni ppt "ORACLE ORDBMS adminisztrációs feladatok 10. rész dr. Kovács László 2004."

Hasonló előadás


Google Hirdetések