Exercícios Práticos de Oracle SQL: Tablespaces, Roles e Usuários

Classified in Arts and Humanities

Written on in English with a size of 4.88 KB

Exercício 1: Criação de Tablespace

1-) Crie uma nova tablespace chamada sistemas, sendo o tamanho inicial 200MB e o datafile c:\bcodedados\orcl\data\sistemas_01.dbf.

CREATE TABLESPACE sistemas
  DATAFILE 'c:\bcodedados\orcl\data\sistemas_01.dbf' SIZE 200M;

Exercício 2: Adição de Datafile com Autoextend

2-) Acrescente mais um datafile à tablespace criada no exercício 1 com o tamanho de 50MB e que seja autoextensível de 25 em 25MB até um máximo de 150MB (utilize o nome sistemas_02.dbf — na mesma pasta do exercício 1).

ALTER TABLESPACE sistemas ADD
  DATAFILE 'c:\bcodedados\orcl\data\sistemas_02.dbf' SIZE 50M
  AUTOEXTEND ON NEXT 25M MAXSIZE 150M;

Exercício 3: Criação de Role e Atribuição de Permissões

3-) Crie uma role chamada admsistema e atribua privilégios para criar tabelas, views, sequences e permissão para conectar no banco de dados.

CREATE ROLE admsistema;
GRANT CONNECT TO admsistema;
GRANT CREATE SESSION TO admsistema;
GRANT RESOURCE TO admsistema;
GRANT CREATE TABLE TO admsistema;
GRANT CREATE VIEW TO admsistema;
GRANT CREATE SEQUENCE TO admsistema;
GRANT INSERT, UPDATE, DELETE ON pessoa TO admsistema;
GRANT INSERT, UPDATE, DELETE ON salario TO admsistema;

Exercício 4: Criação de Usuário e Schema

4-) Crie um usuário chamado sisdrh, o qual será utilizado como Schema; atribua a role chamada admsistema para este usuário (Default Tablespace sistemas, Temporary Tablespace temp).

CREATE USER sisdrh
  IDENTIFIED BY schema
  DEFAULT TABLESPACE sistemas
  QUOTA UNLIMITED ON sistemas
  TEMPORARY TABLESPACE temp;

GRANT admsistema TO sisdrh;

Exercício 5: Criação de Tabelas e Inserção de Dados

5-) Utilize o usuário criado no exercício 4 e crie as tabelas abaixo:

CREATE TABLE salario (
  id_salario NUMBER(6),
  valor NUMBER,
  CONSTRAINT salario_pk PRIMARY KEY (id_salario)
);

CREATE TABLE pessoa (
  codigo NUMBER(6),
  nome VARCHAR2(50),
  id_salario NUMBER(6),
  CONSTRAINT pessoa_pk PRIMARY KEY (codigo),
  CONSTRAINT salario_fk FOREIGN KEY (id_salario) REFERENCES salario (id_salario)
);

Insira alguns dados:

INSERT INTO salario VALUES (1, 5500);
INSERT INTO pessoa VALUES (1, 'Jose da Silva', 1);

Exercício 6: Criação de View

6-) Crie uma view chamada SALARIO_PESSOA cuja subquery deve ser: SELECT p.nome, s.valor FROM pessoa p, salario s WHERE p.id_salario = s.id_salario;

CREATE OR REPLACE VIEW salario_pessoa AS
  SELECT p.nome, s.valor
  FROM pessoa p, salario s
  WHERE p.id_salario = s.id_salario;

Exercício 7: Criação de Sequence

7-) Crie uma sequence chamada S_Salario com as seguintes características: inicie em 10, incremente de 5 em 5, não seja cíclica e não tenha cache.

CREATE SEQUENCE S_Salario
  START WITH 10
  INCREMENT BY 5
  NOCACHE
  NOCYCLE;

Exercício 8: Role com Privilégios em Tabelas

8-) Crie uma role chamada operasistema e atribua privilégios de SELECT, INSERT e UPDATE na tabela pessoa e privilégio de SELECT na tabela salario.

CREATE ROLE operasistema;
GRANT SELECT, INSERT, UPDATE ON pessoa TO operasistema;
GRANT SELECT ON salario TO operasistema;

Exercício 9: Criação de Usuário Operador

9-) Crie um usuário com o seu nome e atribua a role operasistema para ele (Default Tablespace users, Temporary Tablespace temp).

CREATE USER turma
  IDENTIFIED BY senha
  DEFAULT TABLESPACE users
  TEMPORARY TABLESPACE temp;

GRANT operasistema TO turma;

Exercício 10: Inserção e Consulta de Dados

10-) Conectado com o usuário criado no exercício 9, insira dados na tabela pessoa, depois liste o conteúdo. Liste o conteúdo da tabela salario e insira dados nesta tabela.

GRANT CONNECT, RESOURCE TO turma;

INSERT INTO pessoa VALUES (3, 'Joao Paulo', 100);
SELECT * FROM pessoa;

INSERT INTO pessoa VALUES (4, 'Vinicius', 200);
SELECT * FROM pessoa;

INSERT INTO pessoa VALUES (5, 'Alexandre', 15);
SELECT * FROM pessoa;

INSERT INTO pessoa VALUES (6, 'Estevam', 13);
SELECT * FROM pessoa;

Related entries: