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;