Olá como vai ? Tudo bem?
Pergunto: O que é um PROFILE (perfil) ?
Reposta simplificada:
Um mecanismo que o Oracle fornece para controlarmos recursos e também limites por usuários.Um PROFILE é um conjunto de limites de recursos.
View : DBA_PROFILES .
Vamos testar dois parâmetros muito interessantes quando usamos PROFILES:
PASSWORD_LOCK_TIME e FAILED_LOGIN_ATTEMPTS .
Vou mostrar na prática,é mais legal!
Os testes serão no Ubuntu 8.10 com Oracle 10g XE (ainda não saiu o 11g rs) em VmWare Workst.
Vamos ao sqlplus:
Criando um profile:
SQL> create profile plcktime_failogatt limit 2 password_lock_time 5/1440 3 failed_login_attempts 2 ; Profile created.
Criando um usuário para teste:
SQL> create user naum_loga identified by naum_loga 2 profile plcktime_failogatt ; User created.
Concedendo privilégios:
SQL> grant connect,create session to naum_loga; Grant succeeded. SQL>
Verificando na view DBA_USERS:
SQL> select username,account_status,profile 2 from dba_users 3 where username ='NAUM_LOGA'; USERNAME ACCOUNT_STATUS PROFILE ------------------------------ -------------------------------- ------------------------------ NAUM_LOGA OPEN PLCKTIME_FAILOGATT
Com as cobaias criadas agora , então vamos testar?
SQL> disco Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production SQL> conn naum_loga/senha_errada ERROR: ORA-01017: invalid username/password; logon denied SQL> conn naum_loga/senha_errada ERROR: ORA-01017: invalid username/password; logon denied SQL> conn naum_loga/senha_errada ERROR: ORA-28000: the account is locked
Humm. O FAILED_LOGIN_ATTEMPTS funcionou. Mas ,e o parametro PASSWORD_LOCK_TIME ?
SQL> conn sys / as sysdba Enter password: Connected. SQL> select username,account_status from dba_users 2 where username='NAUM_LOGA'; USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- NAUM_LOGA LOCKED(TIMED) SQL>
Viram a palavra “TIMED” na coluna account_status?
Ok.
Vamos calcular o tempo?
SQL> alter session set nls_date_format='dd/mm/rrrr,hh24:mi:ss'; Session altered. SQL> select sysdate from dual; SYSDATE ------------------- 28/02/2009,22:56:49 Agora só nos resta esperar!
Você leitor vai se safar desta hein rs.
(Locutor)
- Cinco minutos depois…
(DBA)
- Fui tomar uma água na cozinha.
Let me see:
SQL> select sysdate from dual; SYSDATE ------------------- 28/02/2009,23:04:02 SQL>
Dá e sobra rs.
SQL> disco Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production SQL> conn naum_loga/naum_loga Connected. SQL> select 'eu estou logado' naum_loga from dual; NAUM_LOGA --------------------------------------------- eu estou logado SQL>
Vamos exterminar nossas cobaias?
SQL> disco Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production SQL> conn sys / as sysdba Enter password: Connected. SQL> drop profile PLCKTIME_FAILOGATT; drop profile PLCKTIME_FAILOGATT * ERROR at line 1: ORA-02382: profile PLCKTIME_FAILOGATT has users assigned, cannot drop without CASCADE
Why?
Ok.I got it.
SQL> drop user naum_loga; User dropped. SQL> drop profile PLCKTIME_FAILOGATT; Profile dropped. SQL> disco Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production SQL>
Boa noite a todos