1- Criando usuario
CREATE USER marcio identified by aluno;
Criamos o usuário MARCIO com a senha ALUNO, esse usuário
foi criado de forma direta, ou seja, foi omitida a DEFAULT TABLESPACE e
TEMPORARY TABLESPACE, isso faz com que o Oracle assuma o padrão do banco. Nesse
caso assume de forma as tablespace SYSTEM e TEMP. Para checar as tablespaces
usadas na criação do usuário, pode ser executada o select aplicado na
2- Verificando as
teblespaces
SELECT
username,
default_tablespace,
temporary_tablespace
FROM
dba_users
WHERE
username = 'MARCIO';
3- Criando o
usuário passando de forma explicita as tablespace
CREATE USER mario2 identified by aluno2
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
Foi criado o usuário MARCIO2 com a senha ALUNO2, essa
usuário foi criado passando as tablespaces de forma explicita, tanto para
DEFAULT TABLESPACE como para TEMPORARY TABLESPACE.
4- Verificando as
tablespaces do usuário marcio2
SELECT
username,
default_tablespace,
temporary_tablespace
FROM
dba_users
WHERE
username = 'MARCIO2';
5- Verificando
as tablespace dos dois usuários
SELECT
username,
default_tablespace,
temporary_tablespace
FROM
dba_users
WHERE
username IN('MARCIO','MARCIO2');
Alterando
a senha, bloqueando/desbloqueando e excluindo usuários
.
6- Alterando
a senha do usuário
ALTER USER marcio identified by 4321;
7 - Desbloqueando um usuário
ALTER USER marcio identified by 4321 account unlock;
o ACCOUNT UNLOCK que tem a função de desbloquear o usuário,
nesse caso não é necessário á troca da senha, a menos que seja necessário.
8- Bloqueando
um usuário
ALTER USER marcio account lock;
o ACCOUNT LOCK que tem a função de bloquear o usuário,
nesse caso não o bloqueio não foi feito pelo oracle e sim feita por um outro
usuário do banco.
Por padrão o Oracle bloqueia a o usuário sempre que a senha
é errada dez vezes, para que se possa acessar novamente o banco com esse
usuário é necessário o desbloqueio. Quando, o usuário tem seu acesso bloqueado
o Oracle apresenta o erro ORA-28000.
9: Excluindo
um usuário
DROP USER marcio;
Na listagem 10 foi usado o comando DROP USER para remover o
usuário MARCIO.
Privilégios de Sistema
Como foi mencionado já anteriormente neste artigo, são os
privilégios que permitem executar instruções DDL, tais como create session, create
sequence, create synonym, create table, create view dentre vários outros.
10: Liberando
Privilégios de Sistema
GRANT create session,create table,create view TO marcio;
Na listagem 11 estão sendo liberados três privilégios de
sistema para o usuário MARCIO, nesse momento esse usuário passa a ter
privilégio de criar uma sessão de conexão no banco, e ainda pode criar tabelas
e views(visões) no banco Oracle. Sempre que for liberar privilégios temos a
opção e usar uma cláusula WITH ADMIN OPTION, isso permite que o usuário possa
estender seus privilégios para outros usuários.
11- WITH ADMIN OPTION
GRANT create session,create table,create view TO marcio WITH ADMIN OPTION;
Na listagem 11 estão sendo liberados três privilégios de
sistema para o usuário MARCIO, como foi adicionada a cláusula WITH ADMIN OPTION
significa que o usuário MARCIO pode estender seus privilégios de sistema para
outros usuários.
Privilégios de Objeto
Como foi mencionado já anteriormente neste artigo, são os
privilégios que permitem executar instruções DML, tais como select, insert,
update, delete dentre vários outros.
12- Liberando
Privilégios de Objeto
GRANT select, update ON HR.employees TO marcio;
Na listagem 12 estão sendo liberados privilégios de SELECT
e UPDATE na tabela EMPLOYEES que é do esquema HR para o usuário MARCIO. Vale
ressaltar que sempre que se está liberando privilégios a objetos de outro
usuário deve-se sempre colocar o nome do usuário(esquema) antes do nome do
objeto, como foi mostrando no exemplo da lista 12 HR.employees.
13- WITH GRANT OPTION
GRANT select,update ON HR.employees TO marcio WITH GRANT OPTION;
Na listagem 13 estão sendo liberados privilégios de SELECT
e UPDATE na tabela EMPLOYEES que é do esquema HR para o usuário MARCIO, no
final foi adicionada a cláusula WITH GRANT OPTION, significando que o usuário MARCIO
pode estender seus privilégios de objetos para outros usuários.
14- Revogando(Removendo)
de Sistema
REVOKE create view FROM marcio;
Na listagem 14 é apresentada a cláusula REVOKE que é
responsável por remover um privilégio de um usuário, seja ela um privilégio de
sistema ou objeto. Nesse caso está sendo removido o privilégio CREATE VIEW do
usuário MARCIO que é um privilégio de sistema.
15- Revogando(Removendo)
de Objetos
REVOKE insert ON HR.employees FROM marcio;
Na listagem 15 é apresentada a cláusula REVOKE que é
responsável por remover um privilégio de um usuário, seja ela um privilégio de
sistema ou objeto. Nessa caso está sendo removido o privilégio INSERT do
usuário MARCIO que é um privilégio de objeto