Pesquisar este blog

sábado, 1 de agosto de 2009

Trabalhando com Usuários no ORACLE

1. Como o DBA pode listar quais usuários existem no banco ?

select * from dba_users
order by username;

2. Como o DBA pode listar o status das contas (Aberta, Bloqueada ou Expirada) dos usuários que foram cadastrados no nos últimos 30 dias ?

select username, account_status, lock_date, expiry_date, created
from dba_users
where created > to_date(sysdate-30)
order by username;

3. Como criar um profile para os analistas de sistemas com direito a cinco sessões no banco, auto desconexão em 30 minutos de inatividade e bloqueio de senha em três tentativas ?

create profile analista limit
sessions_per_user 5
idle_time 30
failed_login_attempts 3;


4. Como criar um novo usuário com senha expirada e quota ilimitada na tablespace users ?

create user agilar
identified by "12345"
default tablespace users
temporary tablespace temp
quota unlimited on users
profile analista
password expire;

5. Como criar uma role para gerenciar os direitos dos analistas em vez de atribuir os direitos a cada analista de sistema no banco ?

create role analista
not identified;

grant create session, create table, create trigger, create view, create sequence,
create procedure, create synonym
to analista;

6. Como listar os direitos de sistema atribuidos a role analista ?

select * from role_sys_privs
where role = 'ANALISTA';

ou

select * from dba_sys_privs
where grantee = 'ANALISTA';

7. Como atribuir a role para o usuário Agilar ?

grant analista to agilar;

8. Como o DBA pode saber quais roles um usuário possui ?

select * from dba_role_privs
where grantee = 'AGILAR';

9. Como um usuário pode saber quais roles possui na sua sessão ?

select * from session_roles;

10. Com um usuário pode saber quais privilégios (sistema e objeto) possui na sua sessão ?

select * from session_privs;

11. Como o DBA pode listar os privilégios de sistema atribuidos diretamente para o usuário agilar ?

select * from dba_sys_privs
where grantee = 'AGILAR';

12. Como o DBA pode listar os privilégios de objeto atribuidos diretamente para o usuário agilar ?

select * from dba_tab_privs
where grantee = 'AGILAR';

13. Como o DBA pode saber quais roles existem no banco ?

select * from dba_roles;

14. Como listar os usuários que possuem privilégio de sessão ?

select * from dba_sys_privs
where privilege = 'CREATE SESSION'
order by grantee;

OBS.: Alguns usuários podem ter o privilégio "create session" indiretamente se possuir roles habilitadas.

15. Como o DBA pode definir roles default para um usuário ?

alter user agilar default role analista;

alter user agilar default role all except gerente;

16. Como o usuário pode habilitar ou desabilitar roles ?

set role connect
identified by estoquista;

set role analista;

set role none;

Nenhum comentário:

Postar um comentário