Gestión de seguridad en Oracle I

Valoración del artículo:
Conceptos básicos para la gestión de seguridad de una base de datos en Oracle.
Publicado: 08/1/09
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Un administrador de Oracle puede controlar dos tipos de seguridad;

  • La seguridad del sistema: Se refiere a mecanismos que controlan el acceso y el uso de la base de datos. Lo que llamamos permisos del sistema.
  • Seguridad de los datos: Son los mecanismos que controlan el acceso y uso de la base de datos a nivel del objectos (tablas, vistas, usuario, etc). Son lo que llamamos los permisos a nivel de objetos.

Seguridad del sistema

En lo referente a la seguridad del sistema es bastante importante saber que el administrador puede crear perfiles para limitar los recursos de la base de datos.

Los factores más importantes que puede limitar son:


RecursoDescripción
SESSION_PER_USEREl número de sesiones concurrentes que un usuario puede tener en una instancia.
CPU_PER_SESSIONEl tiempo de CPU, en centenas de segundos, que una sesión puede utilizar.
CONNECT_TIMEEl número de minutos que una sesión puede permanecer activa.
IDLE_TIMEEl número de minutos que una sesión puede permanecer sin que sea utilizada de manera activa.
LOGICAL_READS_PER_SESSIONEl número de bloques de datos que se pueden leer en una sesión.
LOGICAL_READS_PER_CALLEl número de bloques de datos que se pueden leer en una operación.
PRIVATE_SGALa cantidad de espacio privado que una sesión puede reservar en la zona de SQL compartido de la SGA.
COMPOSITE_LIMITEl número de total de recursos por sesión, en unidades de servicio. Esto resulta de un calculo ponderado de CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION y PRIVATE_SGA, cuyos pesos se pueden variar con el comando ALTER RESOURCE COST.

La sintaxis para la creación de un perfil con varias limitaciones seria:

create profile nombre_perfil limit
    {Entero [K|M] | unlimited | default};

Donde unlimited significa que no hay limite sobre un recurso particular y default significa que coge el limite del perfil DEFAULT

Para activar los perfiles el administrador debe ejecutar la siguiente orden:

alter system set resource_limit=true;

Para borrar un perfil tenemos que ejecutar la siguiente orden:

drop profile nombre_perfil [cascade];

Es importante saber si este perfil esta asignado a algún usuario ya que, si es así, tendremos que poner "cascade", para que lo elimine de esos usuarios también.

Otro factor importante en la seguridad a nivel de sistema es la gestión de tablespaces. Un tablespace es un espacio de la base de datos que contiene tablas o como su definición oficial nos dice, es una unidad lógica de almacenamiento de datos compuesta por uno o más archivos. En Oracle antes de introducir los datos en la base de datos tenemos que crear un tablespace para que nos deje trabajar.
Es importante tener un tablespace para cada tipo de datos es decir, un tablespace para cada aplicación.

La sintaxis de la creación de un tablespace es la siguiente:

create tablespace nombre_tablespace
   datafile 'nombre_Archivo' [size entero [K|M]] [reuse]
   [autoextend {off|on clausulas}]
   [,'nombre_archivo' [size entero [K|M]] [reuse]
   [autoextend {off|on clausulas}] ] ...
   [ default storage {
    initial tamaño
    next tamaño
    minextents tamaño
   maxextents tamaño
   pctincrease valor }] [online|offline];

Donde:

  • datafile: especifica el archivo/s de datos que constara el tablespace
  • size: especifica el tamaño del tablesapce
  • reuse: si el archivo ya existe lo reutiliza y sino lo crea.
  • Dafault storage: define el almacenamiento por defecto para todos los objectos que se creen en ese tablespace
  • initial: indica la extensión inicial del tablespace
  • next: indica la extensión siguiente
  • minextents: reserva extensiones adicionales a la extensión inicial y nos permite asignar gran cantidad de espacio cuando se crea un objeto. El valor por defecto es 1
  • maxextents: es el número máximo de extensiones que se le asigna a un objecto
  • pctincrease: factor de crecimiento para la extensión. Valor por defecto 50
  • offline|online: nos indica si el tablespace esta operativo o no, después de su creación

Por defecto Oracle crea los siguientes tablespace:

  • system: donde Oracle almacena toda la información para su propia gestión
  • users: espacio de tablas donde se almacena la información personal de los usuarios
  • temporary o temp: donde Oracle almacena las tablas temporales
  • tools: espacio para hacer pruebas sobre la base de datos
  • RBS: donde Oracle guarda la información al deshacer algún cambio.

Para modificar un tablespace cambiamos el create por el alter mientras que para borrarlo basta con hacer drop tablespace nombre_tablespace;

Comentarios
Fue enviado 1 comentario al artículo
1 comentario no revisado
0 comentarios revisados

Manuales relacionados
Categorias relacionadas
El autor
Últimas noticias
Alojados en el grupo