Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
com/category/dbms_resource_manager/
27
ene
09
dbms_resource_manager parte2
1 de 9 11/04/2011 17:50
dbms_resource_manager « Oracle Live http://mogukiller.wordpress.com/category/dbms_resource_manager/
a) PENDING AREA
Como comentamos con anterioridad antes de crear ningun objeto es necesario definir la PENDING
AREA.
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;
END;
2 de 9 11/04/2011 17:50
dbms_resource_manager « Oracle Live http://mogukiller.wordpress.com/category/dbms_resource_manager/
sql> BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP=>’CARGA_Ppa’,
COMMENT=> ‘Usuarios Principales’);
END;
sql> BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP=>’Proceso_Backup’,
COMMENT=> ‘Encargados del Backup’);
END;
sql> BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP=>’DESARROLADOR’,
COMMENT=> ‘Grupos de Desarrolladores’);
END;
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP=>’NOVATOS’,
COMMENT=> ‘Usuarios noveles’);
END;
c) PLANES DE ACTUACION
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN(
PLAN=>’PLAN_NOCTURNO’,
COMMENT=>’Plan fuera de horas de maxima carga’,
CPU_MTH=>’RATIO’);
END;
nota: observad que el proceso de gestion de la CPU se hara por RATIO.
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN(
PLAN=>’PLAN_DIURNO’,
COMMENT=>’Plan en horas de maxima carga’);
END;
3 de 9 11/04/2011 17:50
dbms_resource_manager « Oracle Live http://mogukiller.wordpress.com/category/dbms_resource_manager/
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN(
PLAN=>’PLAN_CARGA’,
COMMENT=>’Plan principal’);
END;
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_NOCTURNO’,
GROUP_OR_SUBPLAN=>’SYS_GROUP’,
COMMENT=>’Recurso CPU para SYS_GROUP’,
CPU_P1=>10);
END;
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_NOCTURNO’,
GROUP_OR_SUBPLAN=>’CARGA_Ppa’,
COMMENT=>’Recurso CPU para CARGA_Ppa’,
CPU_P1=>5);
END;
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_NOCTURNO’,
GROUP_OR_SUBPLAN=>’PROCESO_BACKUP’,
COMMENT=>’Recurso CPU para PROCESO_BACKUP’,
CPU_P1=>2);
END;
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_NOCTURNO’,
GROUP_OR_SUBPLAN=>’OTHER_GROUPS’,
COMMENT=>’Recurso CPU para OTHER_GROUPS’,
CPU_P1=>1);
END;
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_CARGA’,
GROUP_OR_SUBPLAN=>’DESARROLADOR’,
COMMENT=>’Recurso CPU para DESAROLLADOR’,
CPU_P1=>90);
END;
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_CARGA’,
GROUP_OR_SUBPLAN=>’NOVATOS’,
4 de 9 11/04/2011 17:50
dbms_resource_manager « Oracle Live http://mogukiller.wordpress.com/category/dbms_resource_manager/
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_CARGA’,
GROUP_OR_SUBPLAN=>’OTHER_GROUPS’,
COMMENT=>’Recurso CPU para OTHER_GROUPS’,
CPU_P2=>100);
END;
sql> BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_DIURNO’,
GROUP_OR_SUBPLAN=>’SYS_GROUP’,
COMMENT=>’Recurso CPU para SYS_GROUP’,
CPU_P1=>100);
END;
sql> BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_DIURNO’,
GROUP_OR_SUBPLAN=>’PLAN_CARGA’,
COMMENT=>’Recurso CPU para PLAN_CARGA’,
CPU_P2=>100);
END;
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’PLAN_DIURNO’,
GROUP_OR_SUBPLAN=>’OTHER_GROUPS’,
COMMENT=>’Recurso CPU para OTHER_GROUPS’,
CPU_P3=>100);
END;
5 de 9 11/04/2011 17:50
dbms_resource_manager « Oracle Live http://mogukiller.wordpress.com/category/dbms_resource_manager/
26
ene
09
dbms_resource_manager parte 1
GESTION DE RECURSOS
En nuestro trabajo como DBA vamos a tener que gestionar la actividad de multitud de usuarios con
diferentes perfiles de actuacion. Como no es lo mismo el perfil de un desarrollador a un perfil de usuario
novato, vamos a aprender a repartir los recursos de la base de datos atendiendo a estos perfiles.
a) Grupos de usuarios
b) Plan de recursos
c) Directivas de planes de recursos.
Los grupos de usuarios son las diferentes agrupaciones que podemos hacer de las sessiones en nuestra
base de datos. Podemos configurado un plan NIGHT_PLAN que nos configure el grupo de usuarios
MANAGERS a la directiva de utilizacion 10% de la CPU.
PENDIGN AREA
Para poder gestionar recurso es necesaria una PENDING AREA, sera la zona destinada a la compilacion
y validacion de los objetos necesarios para la gestion de recursos.
Con esta opcion movemos los parametros de la Pending Area al Diccionario de la base de datos.
6 de 9 11/04/2011 17:50
dbms_resource_manager « Oracle Live http://mogukiller.wordpress.com/category/dbms_resource_manager/
Nos va a permitir clasificar los usuarios en diferentes grupos, permitiendo asignar recursos de una froma
mas optima.
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(‘DEVELOPERS’,'Grupo de
desarrolladores’);
END;
/
sql>BEGIN
DBMS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP(‘DEVELOPERS’);
END;
/
sql>BEGIN
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
ATTRIBUTE=>’ORACLE_USER’,
VALUE=>’USERNAME’,
CONSUMER_GROUP=>’DEVELOPERS’);
END;
/
sql>BEGIN
DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS(
SESSION_ID=>158,
SESSION_SERIAL=>18321,
CONSUMER_GROUP=>’NOVATOS’);
END;
/
sql>BEGIN
DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER(
USER=>’MOGU’,
7 de 9 11/04/2011 17:50
dbms_resource_manager « Oracle Live http://mogukiller.wordpress.com/category/dbms_resource_manager/
CONSUMER_GROUP=>’DEVELOPERS’);
END;
/
PLAN DE RECURSOS
TIPOS
a) Simple: Unicamente puede gestionar recursos de CPU.
b) Complejos: Consiste en sub-planes.
sql> BEGIN
DBMS_RESOURCE_MANAGER.CREATE_SIMPLE_PLAN(
SIMPLE_PLAN=>’CARGA’,
CONSUMER_GROUP1=>’DEVELOPERS’,
GROUP1_CPU=>50,
CONSUMER_GROUP2=>’NOVATOS’,
GROUP2_CPU=>50);
END;
/
nota: En un plan simple podemos configurar hasta nueve grupos de usuario.
sql> BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN(
PLAN=>’CARGA2′,
COMMENT=>’Carga Compleja’);
END;
/
sql>BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(
PLAN=>’CARGA2′,
GROUP_OR_SUBPLAN=>’DEVELOPERS’,
COMMENT=>’Directivas para CARGA2′,
ACTIVE_SESS_POOL_P1=>’2′,
MAX_IDLE_TIME=>180);
END;
/
8 de 9 11/04/2011 17:50
dbms_resource_manager « Oracle Live http://mogukiller.wordpress.com/category/dbms_resource_manager/
Advisors (1)
ArchiveLog (2)
AWR (2)
Bloques corruptos (1)
dbms_resource_manager (2)
DBMS_SCHEDULER (4)
Export/Import (3)
Flashback (2)
Indices (1)
MultiIdioma (1)
OCA (1)
Capitulo 1 Arquitectura (1)
Recuperacion DB (6)
Recuperacion ficheros no criticos (4)
Redo Log File Member (1)
Temporary files (1)
Recuperar despues de Resetlogs (1)
RMAN (3)
segment shrink (2)
SQL*Loader (1)
TOAD (1)
9 de 9 11/04/2011 17:50