Create and manage database user accounts

Para se conectar no banco de dados Oracle você precisa de uma conta de usuário. O Nome da conta do usuário deve ter no máximo 30 caracteres, deve começar com uma letra e só deve contar letras, números, $ e _. Também não pode ter uma palavra reserva, SELECT por exemplo.

Independente se você digitar maiúscula ou minuscula, o username será salvo todo maiúsculo. Existe um modo de burlar todas as regras, menos a de 30 caracteres. É por usar aspas duplas ao ciar o nome do usuário. Mas isso não é considerado uma boa prática. Outra observação a se fazer, é que se você criar com aspas duplas, deverá sempre usar as aspas para se conectar também. Veja os exemplos abaixo:

SQL> CREATE USER terciocosta IDENTIFIED BY oracle;

User created.

SQL> CREATE USER "terciocosta" IDENTIFIED BY oracle;

User created.

SQL> CREATE USER "99TERCIOCOSTA" IDENTIFIED BY oracle;

User created.

SQL> CREATE USER "TERCIO_SELECT" IDENTIFIED BY oracle;

User created.

SQL> SELECT USERNAME FROM DBA_USERS WHERE UPPER(USERNAME) LIKE '%TERCIO%';

USERNAME
--------------------------------------------------------------------------------
TERCIO_SELECT
terciocosta
TERCIOCOSTA
99TERCIOCOSTA

SQL>

Cada usuário terá um tablespace default, onde será armazenado os objetos criados, caso ele não especifique explicitamente um tablespace. Você pode configurar o tablespace default na hora de criar o usuário ou alterando depois do usuário ter sido criado.

SQL> CREATE USER terciocosta IDENTIFIED BY oracle DEFAULT TABLESPACE teste;

User created.

SQL> ALTER USER TERCIOCOSTA DEFAULT TABLESPACE USERS;

User altered.

SQL>

Mas para que o usuário possa criar objetos nesse schema, como tabelas d índices, ele deve ter uma quota que é a quantidade de espaço que o usuário pode utilizar. Você pode dar vários quotas em diferentes tablespaces. E para verificar os quotas já concedidos é só consultar a view dba_ts_quotas.

SQL> ALTER USER TERCIOCOSTA QUOTA 1G ON USERS;

User altered.

SQL> ALTER USER TERCIOCOSTA QUOTA 1G ON SYSTEM;

User altered.

SQL> SELECT tablespace_name AS TABLESPACE,
  2         bytes,
  3         max_bytes
  4  FROM   sys.dba_ts_quotas
  5  WHERE  username = 'TERCIOCOSTA'
  6  ;

TABLESPACE                          BYTES  MAX_BYTES
------------------------------ ---------- ----------
SYSTEM                                  0 1073741824
USERS                                   0 1073741824

SQL>

Fora o tablespace permanente, que armazena objetos permanentes, como tabelas, existe também os tablespace temporários, que armazena objetos temporários que cada sessão precisa. Não é necessário dar uma quota em um temporary tablespace, mas todo usuário esta associado a um temporary tablespace. Podemos configurar qual temporary tablespace do usuário tanto no momento de criar o usuário como alterando depois.

SQL> CREATE USER ORACLEPRESS IDENTIFIED BY ORACLE TEMPORARY TABLESPACE TEMP;

User created.

SQL> CREATE TEMPORARY TABLESPACE TERCIOCOSTA_TEMP;

Tablespace created.

SQL> ALTER USER ORACLEPRESS TEMPORARY TABLESPACE TERCIOCOSTA_TEMP;

User altered.

SQL>

As contas de usuário também tem um status associado a ele, indicando se podemos ou não conectar com tal usuário e também se é necessário alterar a senha. Esse status pode ser visto consultando a view dba_users.

SQL> ALTER USER "TERCIO_SELECT" ACCOUNT LOCK;

User altered.

SQL> ALTER USER TERCIOCOSTA PASSWORD EXPIRE;

User altered.

SQL> SELECT USERNAME,
  2         ACCOUNT_STATUS AS STATUS
  3  FROM   DBA_USERS
  4  WHERE  UPPER(USERNAME) LIKE '%TERCIO%';

USERNAME             STATUS
--------------------------------------------------------
TERCIO_SELECT        LOCKED
terciocosta          OPEN
TERCIOCOSTA          EXPIRED
99TERCIOCOSTA        OPEN
  • OPEN – Conta disponível para conectar.
  • Locked – Ninguém pode conectar. Algúem, o DBA, deu um lock na conta.
  • Expired – Senha expirou e assim ninguém pode conectar.
  • EXPIRED (GRACE) – Senha expirada, mas o usuário pode se conectar e alterar a senha.
  • LOCKED(TIMED) – Conta esta com lock devido a várias tentativas com erro de logar.

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação OCA 12c, Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Marcado com: , , , , ,
Publicado em Administração, Certificação Oracle, User Security

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Esse Blog é reconhecido pela
Sou um
Certificações
Sou articulista

Clique para seguir este blog e receber notificações via email de novos posts.

Tércio Costa

Tércio Costa

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação OCA 12c, Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Links Pessoais

Serviços verificados

Visualizar Perfil Completo →

Total de Visualizações da Página
  • 161.532 Visualizações
%d blogueiros gostam disto: