Diferència entre revisions de la pàgina «M2 - Bases de dades / Continguts UF3: Perfils»

De wikiserver
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb «Aquest material s'ha elaborat a partir de la pàgina [https://orlandoolguin.wordpress.com/2009/09/20/manejo-de-perfiles/] ==Introducción== La forma en que funciona...».)
 
(Asignando el perfil a un usuario)
 
(Hi ha 7 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
Aquest material s'ha elaborat a partir de la pàgina [https://orlandoolguin.wordpress.com/2009/09/20/manejo-de-perfiles/]
+
Aquest material s'ha elaborat a partir de la pàgina de [https://orlandoolguin.wordpress.com/2009/09/20/manejo-de-perfiles/ Orlando Olguin]
  
 
==Introducción==
 
==Introducción==
Línia 9: Línia 9:
 
SQL> show parameter resource_limit
 
SQL> show parameter resource_limit
  
NAME                                 TYPE        VALUE
+
NAME                   TYPE        VALUE
------------------------------------ ----------- ------------------------------
+
-------------------   --------   -------
resource_limit                       boolean    TRUE
+
resource_limit         boolean    TRUE
 +
 
 +
Per activar/desactivar la limitació de recursos:
 +
 
 +
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE [SCOPE = BOTH]
 +
 
 +
La clàusula SCOPE = BOTH fa que la modificació sigui persistent en cas de es reinicií la base de dades.
 
</pre>
 
</pre>
  
 
==Creación, borrado y alteración de perfiles==
 
==Creación, borrado y alteración de perfiles==
  
Para '''crear''' un perfil, se requiere tener el privilegio CREATE PROFILE asignado en el usuario que lo quiere crear, y se usa el siguiente comando:
+
Para '''crear''' un perfil, se requiere tener el privilegio ''CREATE PROFILE'' asignado en el usuario que lo quiere crear, y se usa el siguiente comando:
 
+
<pre>
 
create profile nombre_perfil limit
 
create profile nombre_perfil limit
 
       nombre_limite_1 [valor entero | unlimited | default ]
 
       nombre_limite_1 [valor entero | unlimited | default ]
Línia 23: Línia 29:
 
       ...
 
       ...
 
       nombre_limite_n [valor entero | unlimited | default ];
 
       nombre_limite_n [valor entero | unlimited | default ];
 
+
</pre>
Por default, cada perfil creado tiene todos los límites posibles del mismo de acuerdo a la versión de la base de datos. Existe un perfil llamado default el cual, regirá a todos los usuarios de la base de datos, mientras no sea creado uno nuevo y asignado a un usuario en especial. En el perfil creado, los límites que no sean asignados con un valor predefinido, tendrán el valor del perfil default de la base de datos, como se ve en el siguiente ejemplo:
+
Por defecto, cada perfil creado tiene todos los límites posibles del mismo de acuerdo a la versión de la base de datos. Existe un perfil llamado default el cual, regirá a todos los usuarios de la base de datos, mientras no sea creado uno nuevo y asignado a un usuario en especial. En el perfil creado, los límites que no sean asignados con un valor predefinido, tendrán el valor del perfil default de la base de datos, como se ve en el siguiente ejemplo:
 
+
<pre>
 
SQL> create profile lim_prueba limit connect_time 45;
 
SQL> create profile lim_prueba limit connect_time 45;
  
Línia 54: Línia 60:
 
LIM_PRUEBA          SESSIONS_PER_USER        KERNEL  DEFAULT
 
LIM_PRUEBA          SESSIONS_PER_USER        KERNEL  DEFAULT
 
16 rows selected.
 
16 rows selected.
 +
</pre>
  
Este perfil, lo podemos modificar si nuestro usuario tiene el privilegio ALTER PROFILE. Gracias a éste, podemos asignar o desasignar valores a los distintos límites del perfil.
+
Este perfil, lo podemos '''modificar''' si nuestro usuario tiene el privilegio ''ALTER PROFILE''. Gracias a éste, podemos asignar o desasignar valores a los distintos límites del perfil.
 
+
<pre>
 
SQL> alter profile lim_prueba limit password_life_time 30;
 
SQL> alter profile lim_prueba limit password_life_time 30;
 
Profile altered.
 
Profile altered.
Línia 85: Línia 92:
  
 
16 rows selected.
 
16 rows selected.
 
+
</pre>
Nota. Si se desea regresar un valor al default, se tendrá que poner dicho valor en vez de un número propiamente.
+
'''Nota.''' Si se desea regresar un valor al default, se tendrá que poner dicho valor en vez de un número propiamente.
  
 
Para borrar un perfil, nada más tenemos que aplicar el comando drop como en muchos tipos de objetos en Oracle.
 
Para borrar un perfil, nada más tenemos que aplicar el comando drop como en muchos tipos de objetos en Oracle.
 
+
<pre>
 
SQL> drop profile lim_prueba;
 
SQL> drop profile lim_prueba;
 
Profile dropped.
 
Profile dropped.
Línia 97: Línia 104:
 
   4  order by resource_name;
 
   4  order by resource_name;
 
no rows selected
 
no rows selected
 +
</pre>
 +
Ok, entonces ya sabemos crear un perfil y que le podemos asignar un límite con algún valor que nos sea de utilidad. Ahora, ¿cuáles son los límites que podemos asignar a un perfil? A continuación, muestro una lista de los valores y lo que afectan.
  
Ok, entonces ya sabemos crear un perfil y que le podemos asignar un límite con algún valor que nos sea de utilidad. Ahora, ¿cuáles son los límites que podemos asignar a un perfil? A continuación, muestro una lista de los valores y lo que afectan.
+
==Límites aplicables a perfiles==
Límites aplicables a perfiles
 
  
 
COMPOSITE_LIMIT
 
COMPOSITE_LIMIT
Línia 148: Línia 156:
 
PASSWORD_VERIFY_FUNCTION
 
PASSWORD_VERIFY_FUNCTION
 
En este parámetro, se puede especificar un script para validar el password. Por ejemplo, que tenga una determinada cantidad de caracteres, que tenga letras y números, etcétera.
 
En este parámetro, se puede especificar un script para validar el password. Por ejemplo, que tenga una determinada cantidad de caracteres, que tenga letras y números, etcétera.
Asignando el perfil a un usuario
+
 
 +
 
 +
==Asignando el perfil a un usuario==
  
 
Cuando ya tenemos creado nuestro perfil, podemos asignarlo a los distintos usuarios por medio de un alter user, o al momento de crearlos con create user.
 
Cuando ya tenemos creado nuestro perfil, podemos asignarlo a los distintos usuarios por medio de un alter user, o al momento de crearlos con create user.
 
+
<pre>
 
alter user nombre_usuario profile nombre_perfil;
 
alter user nombre_usuario profile nombre_perfil;
  
Línia 159: Línia 169:
 
temporary tablespace nombre_tbs
 
temporary tablespace nombre_tbs
 
profile              nombre_perfil;
 
profile              nombre_perfil;
 
+
</pre>
 
por ejemplo,
 
por ejemplo,
 
+
<pre>
 
SQL> alter user curso profile lim_prueba;
 
SQL> alter user curso profile lim_prueba;
  
Línia 189: Línia 199:
 
-------------------- ------------------------- ------------------------- --------------------
 
-------------------- ------------------------- ------------------------- --------------------
 
USR_PRUEBA          DATOS                    TEMP                      LIM_PRUEBA
 
USR_PRUEBA          DATOS                    TEMP                      LIM_PRUEBA
 
+
</pre>
 
de esta forma, ya el usuario curso y el usuario usr_prueba, tienen asignado el perfil lim_prueba.
 
de esta forma, ya el usuario curso y el usuario usr_prueba, tienen asignado el perfil lim_prueba.
  
 
Para quitar la desasignación del perfil, se tendrá que asignar el perfil default al usuario. Por ejemplo:
 
Para quitar la desasignación del perfil, se tendrá que asignar el perfil default al usuario. Por ejemplo:
 
+
<pre>
 
SQL> alter user curso profile default;
 
SQL> alter user curso profile default;
 
User altered.
 
User altered.
 +
 
SQL> select username, default_tablespace, temporary_tablespace, profile
 
SQL> select username, default_tablespace, temporary_tablespace, profile
 
   2  from  dba_users
 
   2  from  dba_users
 
   3  where  username = 'CURSO';
 
   3  where  username = 'CURSO';
 +
 
USERNAME            DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE      PROFILE
 
USERNAME            DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE      PROFILE
 
-------------------- ------------------------- ------------------------- --------------------
 
-------------------- ------------------------- ------------------------- --------------------
 
CURSO                DATOS                    TEMP                      DEFAULT
 
CURSO                DATOS                    TEMP                      DEFAULT
 +
</pre>
  
Viendo el perfil en acción
+
==Viendo el perfil en acción==
  
 
Ahora vamos a probar un perfil como el que mostramos en este post a manera de ejemplo. Tendrá un tiempo de inactividad de 1 minuto y un límite de intentos fallidos de 3:
 
Ahora vamos a probar un perfil como el que mostramos en este post a manera de ejemplo. Tendrá un tiempo de inactividad de 1 minuto y un límite de intentos fallidos de 3:
 
+
<pre>
 
SQL> create profile lim_prueba limit
 
SQL> create profile lim_prueba limit
 
   2      idle_time            1
 
   2      idle_time            1
 
   3      failed_login_attempts 3;
 
   3      failed_login_attempts 3;
 
Profile created.
 
Profile created.
 +
 
SQL> select *
 
SQL> select *
 
   2  from  dba_profiles
 
   2  from  dba_profiles
 
   3  where  profile = 'LIM_PRUEBA'
 
   3  where  profile = 'LIM_PRUEBA'
 
   4  order by resource_name;
 
   4  order by resource_name;
 +
 
PROFILE              RESOURCE_NAME            RESOURCE LIMIT
 
PROFILE              RESOURCE_NAME            RESOURCE LIMIT
 
-------------------- ------------------------- -------- ---------------
 
-------------------- ------------------------- -------- ---------------
Línia 233: Línia 248:
 
LIM_PRUEBA          PRIVATE_SGA              KERNEL  DEFAULT
 
LIM_PRUEBA          PRIVATE_SGA              KERNEL  DEFAULT
 
LIM_PRUEBA          SESSIONS_PER_USER        KERNEL  DEFAULT
 
LIM_PRUEBA          SESSIONS_PER_USER        KERNEL  DEFAULT
 +
 
SQL> create user usr_prueba
 
SQL> create user usr_prueba
 
   2  identified by pwdprueba
 
   2  identified by pwdprueba
Línia 239: Línia 255:
 
   5  profile lim_prueba;
 
   5  profile lim_prueba;
 
User created.
 
User created.
 +
 
SQL> select username, default_tablespace, temporary_tablespace, profile
 
SQL> select username, default_tablespace, temporary_tablespace, profile
 
   2  from  dba_users
 
   2  from  dba_users
 
   3  where  username = 'USR_PRUEBA';
 
   3  where  username = 'USR_PRUEBA';
 +
 
USERNAME            DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE      PROFILE
 
USERNAME            DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE      PROFILE
 
-------------------- ------------------------- ------------------------- --------------------
 
-------------------- ------------------------- ------------------------- --------------------
 
USR_PRUEBA          DATOS                    TEMP                      LIM_PRUEBA
 
USR_PRUEBA          DATOS                    TEMP                      LIM_PRUEBA
 +
 
SQL> grant connect to usr_prueba;
 
SQL> grant connect to usr_prueba;
 
Grant succeeded.
 
Grant succeeded.
E:\Oracle\Product\10.2.0\BIN>sqlplus usr_prueba/intento1
+
 
SQL*Plus: Release 10.2.0.4.0 - Production on Sßb Sep 19 19:56:46 2009
+
Intentamos iniciar sesión equivocandonos en el password 3 veces i la cuenta se bloquerá.
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
+
 
ERROR:
+
ORA-28000: the account is locked
ORA-01017: invalid username/password; logon denied
+
 
Enter user-name: usr_prueba/intento2
+
</pre>
ERROR:
 
ORA-01017: invalid username/password; logon denied
 
Enter user-name: usr_prueba/intento3
 
ERROR:
 
ORA-01017: invalid username/password; logon denied
 
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
 

Revisió de 12:24, 4 feb 2019

Aquest material s'ha elaborat a partir de la pàgina de Orlando Olguin

Introducción

La forma en que funciona un perfil, es que al mismo, se le asignan valores que serán los límites para modelar el comportamiento del usuario o esquema al que será asignado. Un límite, puede ser la cantidad de segundos que el usuario estará sin realizar actividades en la base de datos antes de ser desconectado. Otro límite, puede ser la cantidad de intentos fallidos de conexión por contraseña incorrecta. Estos límites, los detallo más adelante. Los profiles existen desde la versión 7 de la base de datos, prácticamente con la misma estructura.

Para que los perfiles funcionen, el parámetro de la base de datos resource_limit, deberá tener el valor a true.

SQL> show parameter resource_limit

NAME                   TYPE        VALUE
-------------------    --------    -------
resource_limit         boolean     TRUE

Per activar/desactivar la limitació de recursos:

ALTER SYSTEM SET RESOURCE_LIMIT=TRUE [SCOPE = BOTH]

La clàusula SCOPE = BOTH fa que la modificació sigui persistent en cas de es reinicií la base de dades.

Creación, borrado y alteración de perfiles

Para crear un perfil, se requiere tener el privilegio CREATE PROFILE asignado en el usuario que lo quiere crear, y se usa el siguiente comando:

create profile nombre_perfil limit
       nombre_limite_1 [valor entero | unlimited | default ]
       nombre_limite_2 [valor entero | unlimited | default ]
       ...
       nombre_limite_n [valor entero | unlimited | default ];

Por defecto, cada perfil creado tiene todos los límites posibles del mismo de acuerdo a la versión de la base de datos. Existe un perfil llamado default el cual, regirá a todos los usuarios de la base de datos, mientras no sea creado uno nuevo y asignado a un usuario en especial. En el perfil creado, los límites que no sean asignados con un valor predefinido, tendrán el valor del perfil default de la base de datos, como se ve en el siguiente ejemplo:

SQL> create profile lim_prueba limit connect_time 45;

Profile created.

SQL> select *
  2  from   dba_profiles
  3  where  profile = 'LIM_PRUEBA'
  4  order by resource_name;

PROFILE              RESOURCE_NAME             RESOURCE LIMIT
-------------------- ------------------------- -------- ---------------
LIM_PRUEBA           COMPOSITE_LIMIT           KERNEL   DEFAULT
LIM_PRUEBA           CONNECT_TIME              KERNEL   45
LIM_PRUEBA           CPU_PER_CALL              KERNEL   DEFAULT
LIM_PRUEBA           CPU_PER_SESSION           KERNEL   DEFAULT
LIM_PRUEBA           FAILED_LOGIN_ATTEMPTS     PASSWORD DEFAULT
LIM_PRUEBA           IDLE_TIME                 KERNEL   DEFAULT
LIM_PRUEBA           LOGICAL_READS_PER_CALL    KERNEL   DEFAULT
LIM_PRUEBA           LOGICAL_READS_PER_SESSION KERNEL   DEFAULT
LIM_PRUEBA           PASSWORD_GRACE_TIME       PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_LIFE_TIME        PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_LOCK_TIME        PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_REUSE_MAX        PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_REUSE_TIME       PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_VERIFY_FUNCTION  PASSWORD DEFAULT
LIM_PRUEBA           PRIVATE_SGA               KERNEL   DEFAULT
LIM_PRUEBA           SESSIONS_PER_USER         KERNEL   DEFAULT
16 rows selected.

Este perfil, lo podemos modificar si nuestro usuario tiene el privilegio ALTER PROFILE. Gracias a éste, podemos asignar o desasignar valores a los distintos límites del perfil.

SQL> alter profile lim_prueba limit password_life_time 30;
Profile altered.

SQL> select *
  2  from   dba_profiles
  3  where  profile = 'LIM_PRUEBA'
  4  order by resource_name;

PROFILE              RESOURCE_NAME             RESOURCE LIMIT
-------------------- ------------------------- -------- ---------------
LIM_PRUEBA           COMPOSITE_LIMIT           KERNEL   DEFAULT
LIM_PRUEBA           CONNECT_TIME              KERNEL   45
LIM_PRUEBA           CPU_PER_CALL              KERNEL   DEFAULT
LIM_PRUEBA           CPU_PER_SESSION           KERNEL   DEFAULT
LIM_PRUEBA           FAILED_LOGIN_ATTEMPTS     PASSWORD DEFAULT
LIM_PRUEBA           IDLE_TIME                 KERNEL   DEFAULT
LIM_PRUEBA           LOGICAL_READS_PER_CALL    KERNEL   DEFAULT
LIM_PRUEBA           LOGICAL_READS_PER_SESSION KERNEL   DEFAULT
LIM_PRUEBA           PASSWORD_GRACE_TIME       PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_LIFE_TIME        PASSWORD 30
LIM_PRUEBA           PASSWORD_LOCK_TIME        PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_REUSE_MAX        PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_REUSE_TIME       PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_VERIFY_FUNCTION  PASSWORD DEFAULT
LIM_PRUEBA           PRIVATE_SGA               KERNEL   DEFAULT
LIM_PRUEBA           SESSIONS_PER_USER         KERNEL   DEFAULT

16 rows selected.

Nota. Si se desea regresar un valor al default, se tendrá que poner dicho valor en vez de un número propiamente.

Para borrar un perfil, nada más tenemos que aplicar el comando drop como en muchos tipos de objetos en Oracle.

SQL> drop profile lim_prueba;
Profile dropped.
SQL> select *
  2  from   dba_profiles
  3  where  profile = 'LIM_PRUEBA'
  4  order by resource_name;
no rows selected

Ok, entonces ya sabemos crear un perfil y que le podemos asignar un límite con algún valor que nos sea de utilidad. Ahora, ¿cuáles son los límites que podemos asignar a un perfil? A continuación, muestro una lista de los valores y lo que afectan.

Límites aplicables a perfiles

COMPOSITE_LIMIT Suma del máximo de CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION y PRIVATE_SGA. Si este limite es excedido, Oracle aborta la sesión y regresa un error.

CONNECT_TIME Tiempo permitido de conexión por sesión en minutos.

CPU_PER_CALL Máximo tiempo de CPU por llamada en centésimas de segundo.

CPU_PER_SESSION Máximo tiempo de CPU por sesión en centésimas de segundo.

IDLE_TIME Tiempo máximo permitido sin actividad por el usuario antes de ser desconectado. Se expresa en minutos.

LOGICAL_READS_PER_CALL Máximo número de bloques de base de datos leídos por llamada.

LOGICAL_READS_PER_SESSION Máximo numero de bloques de base de datos leídos por sesión.

PRIVATE_SGA Máxima cantidad de bytes de espacio privado reservado en la SGA. Se puede expresar en el formato enteroK para kilobytes o enteroM para megabytes.

SESSIONS_PER_USER Máximo número de sesiones concurrentes permitidas por usuario.

FAILED_LOGIN_ATTEMPTS Número de intentos fallidos de conexión de un usuario, antes de que Oracle ponga la cuenta bloqueada.

PASSWORD_GRACE_TIME Número de días de gracia para realizar un cambio de password de nuestra cuenta. Si en el periodo de tiempo delimitado no fue cambiado el password, el password expira.

PASSWORD_LIFE_TIME Número de días de vida de un password.

PASSWORD_LOCK_TIME Número de días que permanecerá bloqueado un usuario después de rebasar el límite FAILED_LOGIN_ATTEMPTS.

PASSWORD_REUSE_MAX Número de veces que debe cambiar una contraseña antes de poder ser re-usada la original.

PASSWORD_REUSE_TIME Número de días que tienen que pasar para poder re-usar un password.

PASSWORD_VERIFY_FUNCTION En este parámetro, se puede especificar un script para validar el password. Por ejemplo, que tenga una determinada cantidad de caracteres, que tenga letras y números, etcétera.


Asignando el perfil a un usuario

Cuando ya tenemos creado nuestro perfil, podemos asignarlo a los distintos usuarios por medio de un alter user, o al momento de crearlos con create user.

alter user nombre_usuario profile nombre_perfil;

create user nombre_usuario
identified by        password_usuario
default tablespace   nombre_tbs
temporary tablespace nombre_tbs
profile              nombre_perfil;

por ejemplo,

SQL> alter user curso profile lim_prueba;

User altered.

SQL> select username, default_tablespace, temporary_tablespace, profile
  2  from   dba_users
  3  where  username = 'CURSO';

USERNAME             DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE      PROFILE
-------------------- ------------------------- ------------------------- --------------------
CURSO                DATOS                     TEMP                      LIM_PRUEBA

SQL> create user usr_prueba
  2  identified by pwdprueba
  3  default tablespace datos
  4  temporary tablespace temp
  5  profile lim_prueba;

User created.

SQL> select username, default_tablespace, temporary_tablespace, profile
  2  from   dba_users
  3  where  username = 'USR_PRUEBA';

USERNAME             DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE      PROFILE
-------------------- ------------------------- ------------------------- --------------------
USR_PRUEBA           DATOS                     TEMP                      LIM_PRUEBA

de esta forma, ya el usuario curso y el usuario usr_prueba, tienen asignado el perfil lim_prueba.

Para quitar la desasignación del perfil, se tendrá que asignar el perfil default al usuario. Por ejemplo:

SQL> alter user curso profile default;
User altered.

SQL> select username, default_tablespace, temporary_tablespace, profile
  2  from   dba_users
  3  where  username = 'CURSO';

USERNAME             DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE      PROFILE
-------------------- ------------------------- ------------------------- --------------------
CURSO                DATOS                     TEMP                      DEFAULT

Viendo el perfil en acción

Ahora vamos a probar un perfil como el que mostramos en este post a manera de ejemplo. Tendrá un tiempo de inactividad de 1 minuto y un límite de intentos fallidos de 3:

SQL> create profile lim_prueba limit
  2       idle_time             1
  3      failed_login_attempts 3;
Profile created.

SQL> select *
  2  from   dba_profiles
  3  where  profile = 'LIM_PRUEBA'
  4  order by resource_name;

PROFILE              RESOURCE_NAME             RESOURCE LIMIT
-------------------- ------------------------- -------- ---------------
LIM_PRUEBA           COMPOSITE_LIMIT           KERNEL   DEFAULT
LIM_PRUEBA           CONNECT_TIME              KERNEL   DEFAULT
LIM_PRUEBA           CPU_PER_CALL              KERNEL   DEFAULT
LIM_PRUEBA           CPU_PER_SESSION           KERNEL   DEFAULT
LIM_PRUEBA           FAILED_LOGIN_ATTEMPTS     PASSWORD 3
LIM_PRUEBA           IDLE_TIME                 KERNEL   1
LIM_PRUEBA           LOGICAL_READS_PER_CALL    KERNEL   DEFAULT
LIM_PRUEBA           LOGICAL_READS_PER_SESSION KERNEL   DEFAULT
LIM_PRUEBA           PASSWORD_GRACE_TIME       PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_LIFE_TIME        PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_LOCK_TIME        PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_REUSE_MAX        PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_REUSE_TIME       PASSWORD DEFAULT
LIM_PRUEBA           PASSWORD_VERIFY_FUNCTION  PASSWORD DEFAULT
LIM_PRUEBA           PRIVATE_SGA               KERNEL   DEFAULT
LIM_PRUEBA           SESSIONS_PER_USER         KERNEL   DEFAULT

SQL> create user usr_prueba
  2  identified by pwdprueba
  3  default tablespace datos
  4  temporary tablespace temp
  5  profile lim_prueba;
User created.

SQL> select username, default_tablespace, temporary_tablespace, profile
  2  from   dba_users
  3  where  username = 'USR_PRUEBA';

USERNAME             DEFAULT_TABLESPACE        TEMPORARY_TABLESPACE      PROFILE
-------------------- ------------------------- ------------------------- --------------------
USR_PRUEBA           DATOS                     TEMP                      LIM_PRUEBA

SQL> grant connect to usr_prueba;
Grant succeeded.

Intentamos iniciar sesión equivocandonos en el password 3 veces i la cuenta se bloquerá.

ORA-28000: the account is locked