ORACLE ORDBMS
This presentation is the property of its rightful owner.
Sponsored Links
1 / 30

ORACLE ORDBMS PowerPoint PPT Presentation


  • 58 Views
  • Uploaded on
  • Presentation posted in: General

ORACLE ORDBMS. adminisztrációs feladatok 10. rész. 2004. dr. Kovács László. Oracle teljesítménynövelés. Biztosítani kell a működéshez szükséges válaszidőt. real time DBOLTPOLAP. on –line: 2-30 sec. A felmérések alapján a gyenge teljesítmény okai: OS2.5% RDBMS17.5%

Download Presentation

ORACLE ORDBMS

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Oracle ordbms

ORACLE ORDBMS

adminisztrációs feladatok

10. rész

2004

dr. Kovács László


Oracle ordbms

Oracle teljesítménynövelés

Biztosítani kell a működéshez szükséges válaszidőt

real time DBOLTPOLAP

on –line: 2-30 sec

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%


Oracle ordbms

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


Oracle ordbms

Rekord elérési módszerek

ROWID

FULL SCAN

INDEX SCAN- B-tree

- bitmap

- CLUSTER

HASH

JOIN- Nested Loop

- Sorted Merge

- Hash Join


Oracle ordbms

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


Oracle ordbms

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)


Oracle ordbms

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


Oracle ordbms

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


Oracle ordbms

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


Oracle ordbms

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 778 752314

TABLE ACCESS FULL on T1 778 752314


Oracle ordbms

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


Oracle ordbms

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 1 0.00 0.00 0 0 0 0

Execute 9 0.00 0.00 0 0 0 0

Fetch 20 0.00 0.00 0 29 0 11

------- ------ -------- ---------- ---------- ---------- ---------- ----------

total 30 0.00 0.00 0 29 0 11

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)


Oracle ordbms

Hatékonyság ellenőrzése

Trace lista formátumozott kiírása

TKPROF segédprogram


Oracle ordbms

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


Oracle ordbms

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


Oracle ordbms

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


Oracle ordbms

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


Oracle ordbms

Replikáció

snapshot frissítés módjai:

fast (napló alapú)

complete (teljes)

force (megpróbál

előbb gyors frissítést

tenni)


Oracle ordbms

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.


Oracle ordbms

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 …

sql>@pfile


Oracle ordbms

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> DECLARE2 x NUMBER;3 BEGIN4 x := 4;5END;6 .sql> /

Az utolsó parancsot megőrzi

sql> /

sql>LIST

sql>SAVE filenév

sql>GET filenév

sql>CLEAR BUFFER


Oracle ordbms

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


Oracle ordbms

SQLPlus

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

Interaktív lehetőségek:

&változó

&&változó

&n

sql>SELECT … FROM ..

WHERE szam = &s AND

szoveg = ‘&s’ AND

datum = TO_DATE

(‘&s’,’YYYY.MM.DD’)

szam2 = &1

sql>@STATS

Enter value for csop_m: OSZT

old   1: SELECT   &CSOP_M,

new   1: SELECT   OSZT,


Oracle ordbms

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


Oracle ordbms

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 …


Oracle ordbms

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


Oracle ordbms

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


Oracle ordbms

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 ..


Oracle ordbms

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


Oracle ordbms

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


  • Login