Problém? Vytíženost prostředků (CPU, RAM, ) Jak nastavit systém tak, aby byli všichni spokojeni / mohli pracovat?

Podobné dokumenty
RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Administrace Oracle - Správa zdrojů

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Administrace Oracle Práva a role, audit. Kukhar Maria

Pokro ilá administrace Oracle

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

End User Experience Monitoring Měření kvality IT služeb , Brno Jiří Vozňák. information technology

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06

Text úlohy. Systémový katalog (DICTIONARY):

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Implementace dávkových operací

User-Managed Backup RMAN (od v. 8.1)

Virtual private database. Antonín Steinhauser

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Petr Vlk KPCS CZ. WUG Days října 2016

Když konvenční disky nestačí tempu vašich aplikací

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

Administrace Oracle. Práva a role, audit

Bezpečnost dat v prostředí SAP. Leoš Černý KPMG Česká republika

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Přidělování CPU Mgr. Josef Horálek

M Administrace Microsoft SQL Server Popis: Absolvent kurzu bude umět: Požadavky pro absolvování kurzu: Kurz určen pro: Literatura:

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Novell Identity Management. Jaromír Látal Datron, a.s.

Zálohování a obnova databáze. Kryštof Měkuta

použití spouštění database program units spouštění external executables Na základě Time-based scheduling Event-based scheduling Dependency scheduling

Zabezpečení Oracle databáze

Vítáme Vás 1 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

Hlas. Robert Elbl COPYRIGHT 2011 ALCATEL-LUCENT ENTERPRISE. ALL RIGHTS RESERVED.

Virtual Private Database (VPD) Jaroslav Kotrč

Introduction to Navision 4.00 Jaromír Skorkovský, MS., PhD.

Project Life-Cycle Data Management

Sísyfos Systém evidence činností

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Verzování a publikace dat na webu za pomoci PostgreSQL

Výměna Databázového serveru MS SQL

Vladimír

Optimalizace dotazů a databázové transakce v Oracle

Shibboleth v systému DSpace

Supplier Web Uživatelská příručka. Supplier Web. Copyright Telefónica O2 Czech Republic, a.s. All rights reserved. 1/10

Administrace Oracle. Jan Šaršon. Audit databáze

Tipy technické podpory 2015

Postup instalace služby ČSOB BusinessBanking 24 pro Oracle

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

MySQL sežere vaše data

Návod k aktivaci

Databáze II. 1. přednáška. Helena Palovská

Windows Server 2003 Active Directory GPO Zásady zabezpečení

Přihlašování do ISCRŘ přes JIP

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

Von Neumannovo schéma

Operační systémy. Přednáška 3: Plánování procesů a vláken

Měřící systém se vzdáleným přístupem. Databáze

Virtualizace storage infrastruktury

Registrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Model podnikových procesu. Model objektu. Model funkcí. Akce. Proces Objekt (trída) Událost Atribut. Akce. Akce. Funkce

TaskPool 2.9 Příručka správce

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Brno. 30. května 2014

3 zdroje dat. Relační databáze EIS OLAP

Microsoft Office 365. SharePoint Online novinky a administrace

4. lekce Přístup k databázi z vyššího programovacího jazyka

Návod k aktivaci

OTEVŘENÉ BANKOVNICTVÍ INFORMACE K NOVÝM SLUŽBÁM

Nařízení eidas Co? Proč? A Kdy?

Lukáš Kubis. MSP pro VŠB-TU Ostrava

Manuál internetového obchodu ContiTrade Services s.r.o. (verze k )

4IT218 Databáze. 4IT218 Databáze

Zátěžové testy aplikací

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Přednáška. Implementace procesů/vláken. Plánování vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Safety novinky. Roadshow 2017

Novinky v PostgreSQL 9.4. Tomáš Vondra, 2ndQuadrant

Uživatelská příručka ISKP14+ pro Integrované nástroje: Žádost o podporu strategie ITI/IPRÚ

WCF. IW5 - Programování v.net a C# WCF

SharePoint 2010 produktové portfolio a licencování

H.P.L. Systems s.r.o. Jičínská PRAHA 3, CZ Obsah

V této krátké příručce, Vám představíme základní možnosti obsluhy Arval Active Linku nainstalovaném ve Vašem voze.

Instalace Active Directory

Bolesti a přínosy. Ing. J. Skorkovský, CSc. pro ESF MU

Databáze I. 5. přednáška. Helena Palovská

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

Rezervační systém Tvorba WWW stránek

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

TUZEKS E-SHOP S PRACOVNÍMI ODĚVY

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Základní popis

Michal Verner, DAQUAS

Integrace prostředí pomocí TDI v praxi

Tvorba aplikací v Oracle Application Express

GPS Loc. Uživatelský manuál. webové rozhraní. pro online přístup do systému GPS Loc přes webové uživatelské rozhraní app.gpsloc.eu

Multichannel Entry Point. Technologický pohled na nové přístupy k autentizaci v přímých bankovních kanálech

Deklarativní IO shrnutí minulé přednášky

Zabezpečení infrastruktury

Operátory ROLLUP a CUBE

WWW. Petr Jarolímek, DiS. Školní rok:

Marian Kamenický. Syntea software group a.s. marian.kamenicky. MFFUK Praha 2012/13

Export zboží pro vyhledávače

Transkript:

Martin Chytil

Velkoobchod zákazníci nakupují v e-shopu obchodníci zpracovávají objednávky skladníci vydávají zboží na základě objednávek manažer provádí analýzu prodejů za poslední kvartál vývojáři vyvíjí novou verzi e-shopu Problém? Vytíženost prostředků (CPU, RAM, ) Jak nastavit systém tak, aby byli všichni spokojeni / mohli pracovat?

Množina omezení ke přidělení zdrojů DBMS Uživatel s přiřazeným profilem nemůže omezení překročit Uživatel bez explicitně přiřazeného profilu má profil DEFAULT neomezené množství zdrojů ALTER SYSTEM SET RESOURCE_LIMIT = TRUE;

Omezení na hesla Omezení na zdroje CREATE PROFILE profile LIMIT { resource_parameters password_parameters }... ;

počet chybných přihlášení platnost hesla zámek hesla Příklad: CREATE PROFILE app_user LIMIT FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LIFE_TIME 60 PASSWORD_REUSE_TIME 60 PASSWORD_REUSE_MAX 5 PASSWORD_VERIFY_FUNCTION verify_function PASSWORD_LOCK_TIME 1/24 PASSWORD_GRACE_TIME 10;

Sessions CPU Time limit session / call IDLE limit Prostor v SGA COMPOSITE LIMIT Service units

Příklad: CREATE PROFILE app_user2 LIMIT SESSIONS_PER_USER UNLIMITED CPU_PER_SESSION UNLIMITED CPU_PER_CALL 3000 CONNECT_TIME 45 LOGICAL_READS_PER_SESSION DEFAULT LOGICAL_READS_PER_CALL 1000 PRIVATE_SGA 15K ;

Při zakládání uživatele: CREATE USER PROFILE profile_name, Při změně nastavení uživatele: ALTER USER user PROFILE profile_name;

Nadměrný overhead Neefektivní plánování Nevhodné přidělování zdrojů DB specifické zdroje

Sessions Session pools Runaway sessions Idle sessions CPU Time Paralelismus Dlouhé transakce Specifická schémata pro RM Balík DBMS_RESOURCE_MANAGER

Kolekce sessions Základní skupiny SYS_GROUP DEFAULT_CONSUMER_GROUP OTHER_GROUPS Round robin scheduling Další skupiny BATCH, INTERACTIVE, LOW, ORA$...,

Konkrétní plány přidělení zdrojů Typy Jednoduché plány Komplexní plány Podplány

Přiřazení zdrojů konkrétnímu plánu Alokační metody CPU Active session pool Degree of parallelism Automatic consumer group switching Canceling SQL and terminating sessions Execution time limit Undo pool Idle time limit

Jednoduché plány pro jednoduché operace Pouze CPU Max. 8 consumer groups CPU pouze na úrovni 2 Level 1 SYS_GROUP Level 3 OTHER_GROUPS BEGIN DBMS_RESOURCE_MANAGER.CREATE_SIMPLE_PLAN( SIMPLE_PLAN => 'SIMPLE_PLAN1', CONSUMER_GROUP1 => 'MYGROUP1', GROUP1_PERCENT => 80, CONSUMER_GROUP2 => 'MYGROUP2', GROUP2_PERCENT => 20 ); END;

Vytvoření Pending Area BEGIN DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA(); END; Vytvoření consumer groups BEGIN DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP ( CONSUMER_GROUP => 'OLTP', COMMENT => 'OLTP applications'); END;

Vytvoření Resource plan BEGIN DBMS_RESOURCE_MANAGER.CREATE_PLAN( PLAN => 'DAYTIME', COMMENT => 'More resources for OLTP applications'); END;

Vytvoření Resource plan directives BEGIN DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE ( PLAN => 'DAYTIME', GROUP_OR_SUBPLAN => 'OLTP', COMMENT => 'OLTP group', MGMT_P1 => 75); END; BEGIN DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE ( PLAN => 'DAYTIME', GROUP_OR_SUBPLAN => 'REPORTING', COMMENT => 'Reporting group', MGMT_P1 => 15, PARALLEL_DEGREE_LIMIT_P1 => 8, ACTIVE_SESS_POOL_P1 => 4); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE ( PLAN => 'DAYTIME', GROUP_OR_SUBPLAN => 'OTHER_GROUPS', COMMENT => 'This one is required', MGMT_P1 => 10); END;

Validace Pending Area BEGIN DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA(); END; Potvrzení Pending Area BEGIN DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA(); END; Vyčištění Pending Area BEGIN DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA(); END;

Mapovací pravidla pro přidělení session do správné Consumer group Initial resource consumer group Při loginu Dynamické přepínání consumer group Při změně runtime session atributu

Vytvoření mapovacího pravidla ORACLE_USER (login) SERVICE_NAME (login) MODULE_NAME (runtime) SERVICE_MODULE (runtime) BEGIN DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (DBMS_RESOURCE_MANAGER.ORACLE_USER, 'SCOTT', 'DEV_GROUP'); END;

Priorita vyhodnocení mapovacího pravidla BEGIN DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING_PRI( EXPLICIT => 1, SERVICE_MODULE_ACTION => 2, SERVICE_MODULE => 3, MODULE_NAME_ACTION => 4, MODULE_NAME => 5, SERVICE_NAME => 6, ORACLE_USER => 7, CLIENT_PROGRAM => 8, CLIENT_OS_USER => 9, CLIENT_MACHINE => 10); END; BEGIN DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (DBMS_RESOURCE_MANAGER.MODULE_NAME, 'BACKUP', 'LOW_PRIORITY'); END;

Manuální přepínání BEGIN DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS ('17', '12345', 'HIGH_PRIORITY'); END; BEGIN DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER ('SCOTT', 'LOW_GROUP'); END;

Automatické přepínání Na základě mapovacích pravidel Na základě zdrojů BEGIN DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE ( PLAN => 'DAYTIME', GROUP_OR_SUBPLAN => 'OLTP', COMMENT => 'OLTP group', MGMT_P1 => 75, SWITCH_GROUP => 'LOW_GROUP', SWITCH_TIME => 5); END;

ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = mydb_plan ; ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = ; Automatická aktivace plánovačem

BEGIN DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA(); DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'bugdb_plan', COMMENT => 'Resource plan/method for bug users sessions'); DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'maildb_plan', COMMENT => 'Resource plan/method for mail users sessions'); DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'mydb_plan', COMMENT => 'Resource plan/method for bug and mail users sessions'); DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Online_group', COMMENT => 'Resource consumer group/method for online bug users sessions'); DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Batch_group', COMMENT => 'Resource consumer group/method for batch job bug users sessions'); DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Bug_Maint_group', COMMENT => 'Resource consumer group/method for users sessions for bug db maint'); DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Users_group', COMMENT => 'Resource consumer group/method for mail users sessions'); DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Postman_group', COMMENT => 'Resource consumer group/method for mail postman'); DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Mail_Maint_group', COMMENT => 'Resource consumer group/method for users sessions for mail db maint'); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan', GROUP_OR_SUBPLAN => 'Online_group', COMMENT => 'online bug users sessions at level 1', MGMT_P1 => 80, MGMT_P2=> 0); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan', GROUP_OR_SUBPLAN => 'Batch_group', COMMENT => 'batch bug users sessions at level 1', MGMT_P1 => 20, MGMT_P2 => 0, PARALLEL_DEGREE_LIMIT_P1 => 8);

DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan', GROUP_OR_SUBPLAN => 'Bug_Maint_group', COMMENT => 'bug maintenance users sessions at level 2', MGMT_P1 => 0, MGMT_P2 => 100); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan', GROUP_OR_SUBPLAN => 'OTHER_GROUPS', COMMENT => 'all other users sessions at level 3', MGMT_P1 => 0, MGMT_P2 => 0, MGMT_P3 => 100); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan', GROUP_OR_SUBPLAN => 'Postman_group', COMMENT => 'mail postman at level 1', MGMT_P1 => 40, MGMT_P2 => 0); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan', GROUP_OR_SUBPLAN => 'Users_group', COMMENT => 'mail users sessions at level 2', MGMT_P1 => 0, MGMT_P2 => 80); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan', GROUP_OR_SUBPLAN => 'Mail_Maint_group', COMMENT => 'mail maintenance users sessions at level 2', MGMT_P1 => 0, MGMT_P2 => 20); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan', GROUP_OR_SUBPLAN => 'OTHER_GROUPS', COMMENT => 'all other users sessions at level 3', MGMT_P1 => 0, MGMT_P2 => 0, MGMT_P3 => 100); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'mydb_plan', GROUP_OR_SUBPLAN => 'maildb_plan', COMMENT=> 'all mail users sessions at level 1', MGMT_P1 => 30); DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'mydb_plan', GROUP_OR_SUBPLAN => 'bugdb_plan', COMMENT => 'all bug users sessions at level 1', MGMT_P1 => 70); DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA(); DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA(); END;