Home Tutoriais Banco de Dados Gerenciamento em Oracle com SQL


Privilégios

é a capacidade de um usuário dentro do banco de dados a realizar determinadas operações ou acessar a determinados objetos de outros usuários.

Privilégios sobre os objetos

Permite-nos acessar e realizar mudanças nos dados de outros usuários. Exemplo: O privilégio de consultar a tabela de outro usuário é um privilégio sobre objetos.

GRANT {PRIV_OBJETO [, PRIV_OBJETO]… | ALL [PRIVILEGES]}
[(COL [,COL]…)]
ON [USUARIO] OBJETO
TO {USUARIO | ROL | PUBLIC} [,{USUARIO | ROL | PUBLIC}…]
[WITH GRANT OPTION];

ON= Especifica o objeto sobre o qual se dão os privilégios.
TO= Identifica aos usuários ou rols aos quais se concedem os privilégios.
ALL= Concede todos os privilégios sobre o objeto especificado.
WITCH GRANT OPTION= Permite que o receptor do privilégio ou rol se atribua a outros usuários ou rols.
PUBLIC= Atribui os privilégios a todos os usuários atuais e futuros: O propósito principal do grupo PUBLIC é garantir o acesso a determinados objetos a todos os usuários do banco de dados.

Privilégios de sistema

Dão direito a executar um tipo de comando SQL ou a realçar alguma ação sobre objetos de um tipo especificado. Por exemplo, o privilégio para criar TABLESPACES é um privilégio de sistema. Formato:

GRANT {PRIVILEGIO | ROL} [, {PRIVILEGIO | ROL}, …]
TO {USUARIO | ROL | PUBLIC} [,{USUARIO | ROL | PUBLIC}]
[WITH ADMIN OPTION];

WITH ADMIN OPTION= Permite que o receptor do privilégio ou rol possa conceder esses mesmos privilégios a outros usuários ou rols.

Retirada de privilégios de objetos aos usuários

REVOKE {PRIV_OBJETO [,PRIV_OBJETO]… | ALL [PRIVILEGES]}
ON [USUARIO.]OBJETO
FROM {USUARIO | ROL | PUBLIC} [, {USUARIO | ROL | PUBLIC}]…;

Retirada de privilégios de sistema ou rols aos usuários

REVOKE {PRIV_SISTEMA | ROL} [,{PRIV_SISTEMA | ROL}]…
FROM {USUARIO | ROL | PUBLIC} [,{USUARIO | ROL | PUBLIC}]…;

Roles

Conjunto de privilégios agrupados. Formato:

CREATE ROLE NOMEROL [IDENTIFIED BY SENHA];

Nota: Um rol pode decidir o acesso de um usuário a um objeto, mas não pode permitir a criação de objetos.

Supressão de privilégios nos roles

REVOKE NOMEPRIVILEGIO ON NOMETABELA FROM NOMEROL;

REVOKE NOMEPRIVILEGIO FROM NOMEROL;

Supressão de um rol

DROP ROLE NOMEROL;

Estabelecer um rol padrão

ALTER USER NOMEUSUARIO
DEFAULT {[ROLE NOME_ROL] | [NONE]};

NONE= Faz com que o usuário não tenha rol padrão.

Perfis:

Conjunto de limites aos recursos do banco de dados:

CREATE PROFILE NOMEPERFIL LIMIT
{NOME DOS LIMITES}
{INTEIRO [K | M] | UNLIMITED | DEFAULT };

UNLIMITED= Não há limites sobre um recurso em particular.
DEFAULT= Pega o limite do perfil default.

Eliminação de um perfil:

DROP FILE NOMEPERFIL [CASCADE];

Gerenciamento de tablespaces

Um tablespace é uma unidade lógica de armazenamento de dados representada fisicamente por um ou mais arquivos de dados. Recomenda-se não misturar dados de diferentes aplicações em um mesmo tablespace.

Para criar um tablespace

CREATE TABLESPACE NOMETABLESPACE
DATAFILE ‘NOMEARQUIVO’ [SIZE INTEIRO [K | M] [REUSE]
[DEFAULT STORAGE
(INITIAL TAMANHO
MINEXTENTS TAMANHO
MAXEXTENTS TAMANHO
PCTINCREASE VALOR
)]
[ONLINE | OFFLINE];

REUSE= Reutiliza o arquivo se já existe ou o cria se não existe.
DEFAULT STORAGE= Define o armazenamento por omissão para todos os objetos que se criam neste espaço da tabela. Observe a quantidade de espaço se não se especifica na sentença CREATE TABLE.

Modificação de tablespaces

ALTER TABLESPACE NOMETABLESPACE
{[ADD DATAFILE ‘NOMEARQUIVO’ [SIZE INTEIRO [K | M] [REUSE]
[AUTOEXTEND ON… | OFF]
]
[REANME DATAFILE ‘ARQUIVO’ [, ‘ARQUIVO’]…
TO ‘ARQUIVO’ [, ‘ARQUIVO’]]
[DEFAULT STORAGE CLAUSULAS_ARMAZENAMENTO]
[ONLINE | OFFLINE]
};

ADD_DATAFILE= Adiciona ao tablespace um ou vários arquivos.
AUTOEXTEND= Ativa ou desativa o crescimento automático dos arquivos de dados do tablespace. Quando um tablespace se enche podemos usar esta opção para que o tamanho do arquivo ou arquivos de dados associados cresça automaticamente.
Autoextend off: desativa o crescimento automático.
RENAME_DATAFILE= Muda o nome de um arquivoe existente do tablespace. Esta mudança tem que ser feita através do sistema operacional e, depois, executar a ordem SQL.

Eliminação de tablespaces

DROP TABLESPACE NOMETABLESPACE
[INCLUDING CONTENTS];

INCLUDING CONTENTS= Permite eliminar um tablespace que tenha dados. Sem esta opção só se pode suprimir um tablespace vazio.
Recomenda-se colocar o talespace offline antes de elimina-lo para certificarmos de que não haja sentenças SQL que estejam acessando dados do tablespace, em cujo caso não seria possível elimina-lo.
Quando se elimina um tablespace os arquivos associados não se apagam do sistema operacional, portanto teremos que elimina-los de forma manual.

Fonte: http://www.criarweb.com/artigos/gerenciamento-oracle-sql.html

   

Leave a Reply

This blog is kept spam free by WP-SpamFree.