Banco de Dados II. Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva



Documentos relacionados
um mecanismo, chamado de perfil, para controlar o limite desses recursos que o usuário pode

Configurando um SGBD Oracle de forma # segura # Gerson S V Júnior (

INSTALAÇÃO DO LOGIX COM BANCO ORACLE

BD II (SI 587) Segurança em Banco de Dados. Josenildo Silva.

Administração de Banco de Dados

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Uniao Educacional e Tecnologica Impacta- Uni Impacta

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Administração de Banco de Dados

Cada banco de dados Oracle possui uma lista de usuários válidos, identificados por USERNAMES.

BANCO DE DADOS FACSUL 2017 TECNOLOGIA DE REDE DE COMPUTADORES

Marcos Alexandruk Marcos Alexandruk


Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

Stored Procedures e Triggers

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

BANCO DE DADOS WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha.

Oracle Database 10g: Fundamentos de SQL e PL/SQL

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL

EXEMPLO DE FLASHBACK VERSIONS QUERY E FLASHBACK TRANSACTION QUERY

SQL Introdução ao Oracle

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

MySQL: Controle de Acesso

Tabelas. Banco de Dados I MySQL

Administração de Usuários e Privilégios no Banco de Dados

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Administração de Sistemas Operacionais. Prof. Marlon Marcon

GBC043 Sistemas de Banco de Dados

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

SQL Structured Query Language. SQL Structured Query Language. SQL Structured Query Language. Composição do SQL. Composição do SQL.

Professor Leonardo Larback

Manual Prático de Uso do MySQL

Quando se seleciona os modos OS ou XML, arquivos são criados com os registros de auditoria, eles se localizam parâmetro audit_file_dest.

PSI Linguagem de Definição de dados. Módulo 15

Os dados de um banco de dados são armazenados coletivamente nos arquivos de dados que constituem cada tablespace do banco de dados.

Curso de Ciência da Computação

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

Lidando com Armazenamento de Dados

Oracle Database 11g: Introdução à Linguagem SQL Novo

C A P I T U L O 10 F U N Ç Õ E S I N T E R N A S P H P P A R A B A N C O D E D A D O S

Triggers(Gatilhos) Tiago Alves de Oliveira

Linguagem SQL Restrições, Triggers e Views


Banco de Dados I Introdução SQL

Sumário Agradecimentos Sobre.o.autor Prefácio Capítulo.1..Bem-vindo.ao.MySQL... 22

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real

Em nosso exemplo, o banco de dados XE está trabalhando no modo NOARCHIVELOG, e para verificar isso, basta executar as seguintes tarefas:

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )

FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento

Banco de Dados. Prof. Antonio

Introdução em Banco de Dados

Tarefa Orientada 17 Scripts

Aula 03. Evandro Deliberal

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Programação em SGDB s

--Depois que o backup for concluído, restaurá-lo no servidor Mirror usando a opção WITH NORECOVERY.

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

SQL CREATE MATERIALIZED VIEW. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. OLAP: Modelagem Multidimensional

[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL

Marcelo Henrique dos Santos

Banco de Dados SQL injection

Manipulação de Dados com SQL

Gerência de Banco de Dados

IMPLEMENTAÇÃO DE BANCO DE DADOS

A linguagem SQL

Guia de Referência Rápida Administração de Bancos de Dados Oracle - Abstratos Tecnologia

A criação de utilizadores no MySQL pode passar pela utilização de dois comandos: - Create user; - Grant;

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

Ferramenta: Spider-APF. Manual do Usuário. Versão da Ferramenta:

P R O F. M E. H É L I O E S P E R I D I Ã O. Eng. Computação

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Base de Dados. MySQL Prof. Erinaldo Nascimento

IoT-FND: Incapaz de verificar a Conexão ao base de dados. Exceção: java.sql.sqlexception: ORA-28001: a senha expirou

Segurança de Acesso a Banco de Dados no MS SQL Server

2013 GVDASA Sistemas Portal da Secretaria

MySQL. Introdução Prof. Erinaldo Nascimento

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

PostgreSQL. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

Sistemas Operacionais. Usuários e Grupos

Sistemas de Banco de Dados

TRABALHO FINAL 20 Pontos

Spectrum Miner. Versão 8.0. Guia de administração para a integração do Portrait Dialogue

--========================================== MIRROR COM CERTIFICADO ===============================================

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Configurações para acessar o Sadig pela Rede

ORACLE ARQUITETURA FÍSICA

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

Aula 06 Sistemas Embarcados LT38C

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

Transcrição:

Banco de Dados II Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva 1

Tablespace Um tablespace é uma unidade lógica onde os dados são armazenados. Os tablespaces padrão de uma instalação Oracle (acima da 10g) são: - USERS: Geralmente o tablespace padrão dos usuários, logo, onde ficam armazenados os dados criados pelos usuários. - SYSTEM: É onde o Oracle armazena todas as informações necessárias para seu próprio gerenciamento. - TEMP: Onde o Oracle armazena as tabelas temporárias. - UNDOTBS1: Onde o Oracle armazena os comandos que podem ser desfeitos (Via rollback, recuperação e consistência). - SYSAUX: Foi criado na versão 10g para compartilhar as execuções no tablespace SYSTEM dividindo com ele as tarefas do banco e seus utilitários, permitindo maior performace ao SGBD como um todo. 2

Tablespaces. Quando não informado em que tablespace deve ser criado uma tabela, a mesma é criada no tablespace default do usuário.(definido na criação do usuário.) Todo tablespace está vinculado a um arquivo físico (datafile). Exemplo: CREATE TABLESPACE SUPERM DATAFILE 'C:\oraclexe\app\oracle\oradata\XE\SUPERM.dbf SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; 3

Usuários. Para se ter acesso a um SGBD e executar qualquer função dentro deste, desde uma consulta até a criação de uma tabela ou a execução de uma StoredProcedure faz-se necessário ser um usuário cadastrado no SGBD e ter os privilégios necessários para poder realizar a ação pretendida.. 4

Comando para criação de usuários em Oracle Os comandos de manutenção de usuários seguem os padrões do SQL e possuem a sintaxe: CREATE USER Cria um usuário. ALTER USER Altera os parâmetros de um usuário. DROP USER Apaga um usuário. 5

Parâmetros da criação um usuário. Os parâmetros da criação de um usuário, são: <Nome> É o nome do usuário dentro do SGBD, tem limite de 30 caracteres e não pode ser uma palavra reservada do Oracle. IDENTIFIED BY <Senha> Especifica a senha de acesso do usuário ao SGBD. DEFAULT TABLESPACE <Nome do Tablespace> Especifica em qual tablespace ficarão armazenados os componentes criados pelo usuário, tais como tabelas, storedprocedures,views etc. 6

Parâmetros da criação um usuário Continuação. TEMPORARY TABLESPACE <nome> Define onde os dados temporários das operações de banco de dados do usuário serão armazenados. QUOTA <tamanho> Especifica o tamanho do espaço que os componentes do usuário podem ocupar em seu tablespace. Podem ser especificados em Kilobytes (K) ou em Megabytes (M). PROFILE <nome> Especifica a qual perfil o usuário estará associado. Existe o perfil Default, mas podemos especificar Quais políticas e quanto dos recursos um grupo de usuários poderá dispor quando estiver utilizando o SGBD. 7

Parâmetros da criação um usuário Continuação. PASSWORD EXPIRE Quantos dias após seu primeiro login o usuário precisará trocar sua senha. ACCOUNT (LOCK/UNLOCK) Se o usuário será criado ativo ou bloqueado. 8

Exemplos de Criação de usuários Exemplo de Criação de usuário: CREATE USER MARCIA IDENTIFIED BY MA123 ACCOUNT UNLOCK DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP; 9

Exemplo de Alteração/Exclusão de usuário Exemplo de Alteração de usuário: ALTER USER MARCIA IDENTIFIED BY MARCIA123; Exemplo de Exclusão de usuário: DROP USER MARCIA; 10

Privilégios de usuário. Privilégios de usuário são as ações que um determinado usuário ou grupo de usuários pode executar dentro de um SGBD. Podemos criar usuários que só podem consultar certas tabelas e nelas eles podem apenas consultar seus dados, não podendo incluir, alterar ou excluir qualquer registro dentro da tabela. Podemos ter, também, usuários com privilégios de criar tabelas mas não de inserir ou manter os dados dentro destas tabelas. Resumindo podemos limitar as ações dos usuários dentro do banco, aumentando a segurança e a veracidade das informações lá contidas. 11

Privilégios de usuário (Sistema). ALTER SYSTEM Permite ao usuário a alteração dos parâmetros de inicialização do SGBD. CREATE USER Permite ao usuário criar outros usuários. CREATE SESSION Permite ao usuário criar uma sessão no SGBD. CREATE TABLE Permite ao usuário criar tabelas no SGBD. SYSDBA Permite ao usuário ter total acesso ao SGBD, para efetuar qualquer operação/alteração. 12

Atribuindo/Retirando Privilégios do Usuário GRANT Atribui privilégios ao usuário. Exemplo: GRANT CREATE SESSION TO MARCIA; REVOKE Remove privilégios do usuário. Exemplo: REVOKE CREATE TABLE FROM MARCIA; 13

Privilégios de Objeto do usuário ALTER <Componente> Permite ao usuário alterar determinado componente. EXECUTE <Nome> Permite ao usuário executar <Nome> que pode ser uma função (Stored Function) ou um procedimento (Stored Procedure). SELECT <Componente> Permite ao usuário selecionar informações relativas ao <Componente>. INSERT <Tabela> Permite ao usuário inserir informações em uma tabela. UPDATE <Tabela> Permite ao usuário alterar informações em uma tabela. DELETE <tabela> Permite ao usuário excluir informações em uma tabela. 14

Papéis de Usuários Para agilizar o processo de atribuição de privilégios aos usuários pode-se criar papéis que agrupam estes privilégios e ao invés de se atribuir cada privilégio aos usuários, criam-se papéis, se atribuem os privilégios a estes papéis e depois se associam os papéis aos usuários. Normalmente se faz um estudo para verificar os tipos de privilégios que é necessário se criar, criam-se os papéis e então os usuários. Os papéis também são conhecidos como grupos. 15

Exemplo de criação de papéis. Criação de papeis: CREATE ROLE DESENV; Atribuindo privilégios ao papel: GRANT CREATE SESSION TO DESENV; GRANT CREATE TABLE TO DESENV; GRANT CREATE VIEW TO DESENV; GRANT CREATE PROCEDURE TO DESENV; Atribuindo papel a usuário: GRANT DESENV TO MARCIA; Excluindo um papel: DROP ROLE DESENV; 16

Perfil Um perfil permite agrupar uma série de regras de uso e compartilhamento de recursos dentro do SGBD e do servidor associado. Os parâmetros configuráveis de um perfil se dividem basicamente em 2 tipos: O primeiro que define as políticas de segurança de usuários, definindo senhas, tempo de duração, ações quando há erro de senha no login, dentre outros. O segundo diz respeito ao uso dos recursos de Hardware. Todo o usuário deve ter um perfil associado, quando não definido é atribuído o perfil Default. 17

Parâmetros atribuídos a perfis aplicáveis a usuários. <FAILED_LOGIN_ATTEMPTS> Define o número de erros consecutivos da senha de um usuário antes do usuário ser bloqueado. <PASSWORD_LOCK_TIME> Define o número de dias que um usuário ficará bloqueado depois que o número de tentativas de login (FAILED_LOGIN_ATTEMPTS) for alcançado. <PASSWORD_LIFE_TIME> Define o número de dias de validade de uma senha. Após estes dias a senha deverá ser trocada pelo usuário. 18

Parâmetros atribuídos a perfis aplicáveis a usuários.(continuação) <PASSWORD_GRACE_TIME> Define o número de dias que o usuário poderá logar sem alterar a senha expirada. <PASSWORD_REUSE_TIME> Define o número de dias para que uma senha possa ser reutilizada. <PASSWORD_REUSE_MAX> Define o número de vezes que uma senha pode ser reutilizada. <PASSWORD_VERIFY_FUNCTION> Define uma função para analisar o grau de dificuldade da senha digitada. 19

Parâmetros atribuídos a perfis aplicáveis ao uso de recursos. Para que estes parâmetros de recursos sejam levados em conta faz-se necessário que o parâmetro RESOURCE_LIMIT esteja com o valor TRUE (Seu valor default é false). Este parâmetro pode ser alterado com o comando: ALTER SYSTEM SET RESORCE_LIMIT=TRUE; desde que o usuário tenha permissão para alterar parâmetros de sistema. Estes parâmetros são também chamados de parâmetros de Kernel. 20

Parâmetros atribuídos a perfis aplicáveis ao uso de recursos.(cont.) <SESSIONS_PER_USER> Define o número de logins concorrentes que podem ser feitos pelo usuário. <CPU_PER_SESSION> Define o tempo de CPU, em centésimos de segundo, que um processo de servidor de uma sessão pode ser usada antes de ser terminada. <CPU_PER_CALL> Define o tempo de CPU, em centésimos de segundo, que um processo de servidor de sessão pode ser usado para executar uma instrução SQL, antes de ser terminado. 21

Parâmetros atribuídos a perfis aplicáveis ao uso de recursos.(cont.) <LOGICAL_READS_PER_SESSION> Define o número de blocos que podem ser lidos por uma sessão antes que ela seja finalizada. <LOGICAL_READS_PER_CALL> Define o número de blocos que podem ser lidos por uma única instrução SQL antes de ser finalizada. <PRIVATE_SGA> Define o número de Kbytes que usa sessão em (System Global Area (Servidor compartilhado)) pode ser usado por sessão. <CONNECT_TIME> Define o número de minutos máximos de duração de uma sessão. 22

Parâmetros atribuídos a perfis aplicáveis ao uso de recursos.(cont.) <IDLE_TIME> Define o número de minutos máximos que uma sessão pode ficar ociosa antes de ser terminada. <COMPOSITE_LIMIT> Define uma soma ponderada dos parâmetros informados e dos recursos disponíveis tentando criar uma flexibilização do uso dos recursos disponíveis. 23

Exemplo de manutenção de perfis. Criação de um perfil: CREATE PROFILE COMUM LIMIT CONNECT_TIME 120 FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LIFE_TIME 30 PASSWORD_LOCK_TIME 1; Alteração de perfil: ALTER PROFILE COMUM CONNECT_TIME 180; Exclusão de perfil: DROP PROFILE COMUM; 24