Administración y Optimización de Bases de Datos Oracle

Programación. Gestión de privilegios. Roles. Recursos. Perfiles. Usuarios

  • Enviado por: DAVID ARANDA
  • Idioma: castellano
  • País: Paraguay Paraguay
  • 9 páginas
publicidad

Administración y Optimización de Bases de Datos Oracle
Gestión de privilegios y recursos

Conceptos de gestión de privilegios y recursos

Concepto

Significado

Privilegio

Permiso para realizar una acción, asignable a un usuario o un rol

Rol

Conjunto de privilegios, asignables a un usuario o un rol

Usuario

Colección de objetos y privilegios identificado con un nombre y password

Perfil

Conjunto de restricciones relativas al uso de recursos, y asignable a usuarios. Un usuario sólo puede tener un perfil

Recurso

Uso susceptible de ser restringido, asignable a un perfil

Roles Predefinidos por Oracle (select * from dba_roles;)

CONNECT

RESOURCE

DBA

EXP_FULL_DATABASE

IMP_FULL_DATABASE

DELETE_CATALOG_ROLE

EXECUTE_CATALOG_ROLE

SELECT_CATALOG_ROLE

Recursos en Oracle (select * from user_resource_limits;)

COMPOSITE_LIMIT

SESSIONS_PER_USER

CPU_PER_SESSION

CPU_PER_CALL

LOGICAL_READS_PER_SESSION

LOGICAL_READS_PER_CALL

IDLE_TIME

CONNECT_TIME

PRIVATE_SGA

Limites en uso del espacio en disco (select * from dba_ts_quotas;)

ALTER USER SCOTT QUOTA UNLIMITED ON USER_DATA;

ALTER USER SCOTT QUOTA 5M ON TEMPORARY_DATA;

ALTER USER SCOTT QUOTA 0 ON SYSTEM;

Para la gestión de

se utilizan los comandos

Privilegios

GRANT (conceder un privilegio a un usuario o a un rol)
REVOKE (denegar un privilegio a un usuario o a un rol)

Roles

CREATE ROLE (crear)
ALTER ROLE (modificar)
DROP ROLE (borrar)
SET ROLE (activar, desactivar)
GRANT (conceder un permiso o un rol a un rol)
REVOKE (denegar un permiso o un rol a un rol)

Usuarios

CREATE USER (crear)
ALTER USER (modificar)
DROP USER (borrar)
GRANT (conceder un permiso o un rol a un usuario)
REVOKE (denegar un permiso o un rol a un usuario)

Perfiles y Recursos

CREATE PROFILE (crear)
ALTER PROFILE (modificar)
DROP PROFILE (borrar)
ALTER USER ... PROFILE (asignar a un usuario)
CREATE USER ... PROFILE (asignar a un usuario)

Activación de perfiles

Estado de la Base de Datos

Acción

Base de Datos Parada

RESOURCE_LIMIT = TRUE en c:\orant\database\initorcl.ora

Base de Datos Arrancada

ALTER SYSTEM SET RESOURCE_LIMIT = TRUE;

Vistas más relevantes

Significado

Usuarios

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Roles

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Roles asignados a roles o usuarios

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Privilegios asignados a roles o usuarios

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Permisos sobre tablas asignados a roles o usuarios

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Roles asignados a roles

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Privilegios de cada rol

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Límites de recursos

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Perfiles y sus límites de recursos asociados

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Límites de recursos en cuanto a restricciones en claves

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Límites de recursos en cuanto a espacio máximo en tablespaces

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Principio del formulario

Final del formulario

Ejemplos de gestión de privilegios y recursos

Crear un perfil que que sólo permita 2 conexiones concurrentes y asignar ese perfil al usuario SCOTT

SYSTEM>create profile solodos limit sessions_per_user 2;
SYSTEM>alter user scott profile solodos;

Crear un rol llamado conectarse que incluya los roles connect y resource, y asignar ese rol a scott

SYSTEM>create role conectarse;
SYSTEM>grant connect, resource to conectarse;
SYSTEM>grant conectarse to scott;

Convertir a scott en DBA

SYSTEM>grant dba to scott;

Crear un usuario especificando que la password debe ser cambiada en la primera conexión

SYSTEM>create user prueba1 identified by prueba1 password expire;

Cambiar el espacio reservado en disco para SCOTT

SYSTEM>alter user scott quota unlimited on user_data;
SYSTEM>alter user scott quota 5M on temporary_data;
SYSTEM>alter user scott quota 0 on system;
SYSTEM>select * from dba_ts_quotas;

Crear un usuario llamado PRUEBA1 y darle únicamente el permiso para conectarse (hacer log on)

SYSTEM>create user prueba1 identified by prueba1;
SYSTEM>grant create session to prueba1;

Dar al usuario PRUEBA1 permiso para crear tablas

SYSTEM>grant create table to prueba1;
SYSTEM>alter user prueba1 default tablespace system quota 10M on system;
SYSTEM>connect prueba1/prueba1
PRUEBA1>create table tabla1(campo1 number);
PRUEBA1>connect system/manager

Desde SCOTT, dar al usuario PRUEBA1 el permiso de consultar la tabla EMP

SYSTEM>connect scott/tiger
SCOTT>grant select on emp to prueba1;
PRUEBA1>select * from scott.emp;
PRUEBA1>connect system/manager

Desde SCOTT, dar al usuario PRUEBA1 el permiso de insertar en la tabla EMP

SYSTEM>connect scott/tiger
SCOTT>grant insert on emp to prueba1;
PRUEBA1>insert into scott.emp values ('john',999,'development');
PRUEBA1>connect system/manager

Desde SYSTEM, dar al usuario PRUEBA1 el permiso de consultar la tabla EMP de SCOTT

SYSTEM>connect scott/tiger
SCOTT>grant select on emp to system with grant option;
PRUEBA1>connect system/manager
SYSTEM>grant select on scott.emp to prueba1;
SYSTEM>connect prueba1/prueba1
PRUEBA1>select * from scott.emp;
PRUEBA1>connect system/manager

Desde SYSTEM, dar al usuario PRUEBA1 el permiso de crear otros usuarios

SYSTEM>grant create user to prueba1;
SYSTEM>connect prueba1/prueba1
PRUEBA1>create user prueba2 identified by prueba2;
drop user prueba2;
PRUEBA1>connect system/manager

Desde SYSTEM, dar al usuario PRUEBA1 el permiso de crear otros usuarios (por ejemplo, PRUEBA2) de forma que estos, a su vez, puedan crear otros usuarios (por ejemplo, PRUEBA3)

SYSTEM>grant create user to prueba1 with admin option;
SYSTEM>grant create session to prueba1 with admin option;
SYSTEM>connect prueba1/prueba1
PRUEBA1>create user prueba2 identified by prueba2;
PRUEBA1>grant create user to prueba2 with admin option;
PRUEBA1>grant create session to prueba2 with admin option;
PRUEBA1>connect prueba2/prueba2
PRUEBA2>create user prueba3 identified by prueba3;
PRUEBA2>grant create session to prueba3;
PRUEBA2>connect prueba3/prueba3
PRUEBA3>connect system/manager

Privilegios sobre objetos

ALTER

EXECUTE

INDEX

INSERT

READ

REFERENCES

SELECT

UPDATE

ALL ó ALL PRIVILEGES

Privilegios del sistema

ALTER ANY CLUSTER

ALTER ANY INDEX

ALTER ANY PROCEDURE

ALTER ANY ROLE

ALTER ANY SEQUENCE

ALTER ANY SNAPSHOT

ALTER ANY TABLE

ALTER ANY TYPE

ALTER ANY TRIGGER

ALTER DATABASE

ALTER PROFILE

ALTER RESOURCE COST

ALTER ROLLBACK SEGMENT

ALTER SESSION

ALTER SYSTEM

ALTER TABLESPACE

ALTER USER

ANALYZE ANY

AUDIT ANY

AUDIT SYSTEM

BACKUP ANY TABLE

BECOME USER

COMMENT ANY TABLE

CREATE ANY CLUSTER

CREATE ANY DIRECTORY

CREATE ANY INDEX

CREATE ANY LIBRARY

CREATE ANY PROCEDURE

CREATE ANY SEQUENCE

CREATE ANY SNAPSHOT

CREATE ANY SYNONYM

CREATE ANY TABLE

CREATE ANY TRIGGER

CREATE ANY TYPE

CREATE ANY VIEW

CREATE CLUSTER

CREATE DATABASE LINK

CREATE ANY LIBRARY

CREATE PROCEDURE

CREATE PROFILE

CREATE PUBLIC DATABASE LINK

CREATE PUBLIC SYNONYM

CREATE ROLE

CREATE ROLLBACK SEGMENT

CREATE SEQUENCE

CREATE SESSION

CREATE SNAPSHOT

CREATE SYNONYM

CREATE TABLE

CREATE TABLESPACE

CREATE TRIGGER

CREATE TYPE

CREATE USER

CREATE VIEW

DELETE ANY TABLE

DROP ANY CLUSTER

DROP ANY DIRECTORY

DROP ANY INDEX

DROP ANY LIBRARY

DROP ANY PROCEDURE

DROP ANY ROLE

DROP ANY SEQUENCE

DROP ANY SNAPSHOT

DROP ANY SYNONYM

DROP ANY TABLE

DROP ANY TRIGGER

DROP ANY TYPE

DROP ANY VIEW

DROP LIBRARY

DROP PROFILE

DROP PUBLIC DATABASE LINK

DROP PUBLIC SYNONYM

DROP ROLLBACK SEGMENT

DROP TABLESPACE

DROP USER

EXECUTE ANY PROCEDURE

EXECUTE ANY TYPE

FORCE ANY TRANSACTION

FORCE TRANSACTION

GRANT ANY PRIVILEGE

GRANT ANY ROLE

INSERT ANY TABLE

LOCK ANY TABLE

MANAGE TABLESPACE

RESTRICTED SESSION

SELECT ANY SEQUENCE

SELECT ANY TABLE

SYSDBA

SYSOPER

UNLIMITED TABLESPACE

UPDATE ANY TABLE