1 / 21

Laboratório de Banco de Dados SGBD Oracle 10 G

Laboratório de Banco de Dados SGBD Oracle 10 G. Marilde Santos. Usuários e direitos…. Segurança: Um dos pontos fortes do Oracle Tabelas e views somente podem ser manipulados por outros caso o dono ou o DBA permitam.

Download Presentation

Laboratório de Banco de Dados SGBD Oracle 10 G

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laboratório de Banco de Dados SGBD Oracle 10 G Marilde Santos

  2. Usuários e direitos… • Segurança: • Um dos pontos fortes do Oracle • Tabelas e views somente podem ser manipulados por outros caso o dono ou o DBA permitam. • Usuários ao serem criados não possuem sequer direito de conexão ao banco. Os privilégios devem ser oferecidos para que possam conectar-se, criar e alterar tabelas, etc.

  3. Conceitos iniciais… • Usuário • Indivíduo que se conecta ao banco e utiliza objetos dele. Pode criar objetos e permitir que outros usuários os manipulem. • Schema • Conjunto de objetos (tabelas, índices, visões, etc.) de um usuário. Select * from cat;

  4. Conceitos iniciais… • Privilégio: direito que um usuário recebe para fazer algo. • de sistema: permitem desde realizar conexões até eliminar qualquer tabela. • de objeto: afetam apenas um objeto desde ler até eliminar. • Papel (Role) • Conjunto de privilégios agrupados e com um nome. Facilita bastante a gerência de privilégios.

  5. Conceitos iniciais… • Perfil (Profile) • Limites que restringem as ações de um usuário. • Quando os recursos disponíveis forem fatores críticos, o DBA pode criar profiles e atribuí-los a usuários. • Limites que podem ser impostos: • sessions_per_user, cpu_per_session, cpu_per_call, connect_time, idle_time, logical_reads_per_session, logical_reads_per_call, private_sga, comosite_limit, failed_login_attempts, password_*

  6. Criando usuários… • O DBA, ou alguém autorizado por ele, é quem cria usuários • Sintaxe: Create user nome identified [by senha | externally] default tablespace nome temporary tablespace nome quota [inteiro [k | M] | unlimited] on tablespace

  7. Criando usuários… • Exemplo: Create user monica identified [by leonardo | externally] default tablespace users quota 1 M on tablespace

  8. Criando usuários… • Para comprovar a existência de um usuário: Select * from all_user; • Para alterar a senha de acesso ao Oracle: Alter user monick identified by thiago; • Pode-se suspender um usuário: Alter user monick account lock; (temporário) Drop user monick cascade; (definitivo) • Para desbloquear: alter user monick account unlock

  9. Conectando… Nosso ambiente: • Servidor Windows: mustang.comp.ufscar.br • Servidor Linux: falcon.comp.ufscar.br • SGBD Oracle Enterprise Edition 8.1.6.1.0 • Serviço: ora8_falcon.comp.ufscar.br • Putty • SSH: falcon.comp.ufscar.br • Login e senha : Pessoal da mig. • Prompt do linux: • Sqlplus • Login e senha: usuario oracle

  10. Conectando… Nosso ambiente (cont): • Laboratório LIG • Putty • SSH: falcon.comp.ufscar.br • Login e senha : Pessoal da mig. • Prompt do linux: • Sqlplus • Login e senha: usuario oracle

  11. Conectando… Nosso ambiente (cont): • Outros locais • Putty • SSH: mig.comp.ufscar.br • Login e senha : Pessoal da mig. • Putty • SSH: falcon.comp.ufscar.br • Login e senha : Pessoal da mig. • Prompt do linux: • Sqlplus • Login e senha: usuario oracle

  12. Concedendo privilégios… • Sintaxe: grant {privilégio [,privilégio, …] {on objeto} – tabela, view, sequence ou procedure to {usuário [,usuário,…]|role|public} [with admin option] – podem repassar os privilégios recebidos

  13. Exemplos de privilégios • Grant select, insert on cursos to monick; • Grant update (carga_horaria, preco) on cursos to monick with grant option; • É melhor utilizar views! • Grant all on cursos to public; • Permissão a todos de fazer tudo em cursos!! • Deve ser evitado a qualquer custo!!!

  14. Criando Roles… • Toda role é pública, não pertence a ninguém. Create role nome_role [identified by senha]; Exemplo: • Create role gerencia; • Grant create table, create view to gerencia; • Grant gerencia to monick;

  15. Retirando privilégios… • Retirando privilégios de uma role: Revoke create view from gerencia; • Retirando uma role de um usuário: revoke gerencia from monick;  Tais comandos só podem ser emitidos por quem emitiu os grant, ou tiver privilégios de sistema adequados!

  16. Cuidado! • Nem todos os privilégios de objeto podem ser concedidos a roles: References, index, read e write.

  17. Criação de Tabelas Create table [schema.]tabela (coluna1 tipo_dado [default expressão] [constraint_coluna], … colunaN tipo_dado [default expressão] [constraint_coluna], [constraint-tabela] );

  18. Tipos de Dados (oracle 9i) • Char(n) : cadeia de tamanho fixo. default é 1 e o máximo é 2000. • Varchar2(n): cadeia de tamanho variável com o máximo de n (máximo 4000). • Number(p,e): numérico • p é precisão (max 38) • e é escala (número de casas decimais) • Date: data e hora, inclui século, ano, mes, dia, hora, minuto e segundo. • Timestamp: data e horas com maior precisão.

  19. ProblemaControle Acadêmico • Aluno(RA, cpf, nro_rg, est_rg, Prenome, Sobrenome, telefone, endereço, UF, data_matricula) • Histórico(cod_turma, RA, nota_final) • Turma(cod_turma, sala, cod_instrutor, cód_curso) • Instrutor(código instrutor, cpf, nro_rg, est_rg, Prenome, Sobrenome, fone, admissão) • Curso(cód_curso, nome, carga_horaria, preco) • PreRequisito(cod_curso, pré_requisito)

  20. Exercício • Criar em editor externo arquivos para criação de cada uma das tabelas do sistema de controle acadêmico (scripts) • Todo comando SQL deve ser finalizado por ponto e vírgula (;) • Salvar em arquivos .sql • Para ativar o arquivo gerado, utilize o comando start ou @.

  21. Exercício Aluno(RA, cpf, nro_rg, est_rg, Prenome, sobrenome, telefone, endereço, UF, data_matricula) create table aluno (RA number(3) constraint instr_pk primary key, cpf varchar2(11) constraint instr_cpf_nul not null, nro_rg varchar2(10) constraint inst_Nrg_nul not null, est_rg varchar2(2) constraint inst_Estrg_nul not null, prenome varchar2(15) constraint inst_pnome_nul not null, sobrenome varchar2(15) constraint inst_snome_nul not nul, fone varchar2(10), endereco varchar2(40), UF varchar2(2), data_matricula date default sysdate);

More Related