Los factores más importantes que puede limitar son:
| Recurso | Descripción |
| SESSION_PER_USER | El número de sesiones concurrentes que un usuario puede tener en una instancia. |
| CPU_PER_SESSION | El tiempo de CPU, en centenas de segundos, que una sesión puede utilizar. |
| CONNECT_TIME | El número de minutos que una sesión puede permanecer activa. |
| IDLE_TIME | El número de minutos que una sesión puede permanecer sin que sea utilizada de manera activa. |
| LOGICAL_READS_PER_SESSION | El número de bloques de datos que se pueden leer en una sesión. |
| LOGICAL_READS_PER_CALL | El número de bloques de datos que se pueden leer en una operación. |
| PRIVATE_SGA | La cantidad de espacio privado que una sesión puede reservar en la zona de SQL compartido de la SGA. |
| COMPOSITE_LIMIT | El 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:
Por defecto Oracle crea los siguientes tablespace:
Para modificar un tablespace cambiamos el create por el alter mientras que para borrarlo basta con hacer drop tablespace nombre_tablespace;