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