Olá, tudo bem !

Recentemente eu precisei fazer a instalação do Oracle XE (express edition) para poder realizar um Troubleshooting em alguns objetos do Oracle, é usual, boa pratica e regras de segurança as empresas não fornecerem acessos aos DB’s de forma a ter acesso FULL, por esse motivo eu fiz a instalação em uma das minhas VM’s, porem ao instalar eu descobri que eu não tenho tanta familiaridade com Oracle quanto SQL SERVER, sendo que eu sempre usufruo de um banco de dados já criado, foi ai que eu fui atrás e aprendi algumas coisas que irei compartilhar com vocês.

Bom, após a instalação do Oracle XE eu descobri que a versão express edition tem algumas limitações, normal de versões gratuitas, mas eu não tinha conhecimento que eu não poderia criar novos bancos de dados, na instalação do Oracle ele já cria um banco chamado XE (banco e instância), e você tem apenas esse banco para poder se divertir, mas eu já conheço um pouco de Oracle e sei que é possível criar SCHEMA usando tablespace, usuários e gerar uma organização mesmo com apenas um banco de dados padrão(XE), as versões pagas Enterprise, Standard e Personal você pode criar quantos bancos e instâncias desejar.

Minha missão era, criar um SCHEMA, começando pelo tablespace, usuário, permissões e tabela, fazer um acesso e verificar se aquele usuário logado na base XE só iria visualizar as tabelas que foram concedidas a permissão.

Obviamente que eu fui até o nosso amigo Google e fiz algumas pesquisas e encontrei o que eu precisava, mas de formas desconectadas, um ensinava a criar um tablespace, outro um usuário e assim por diante, então eu compilei todas as informações e fiz uma “receita de bolo”.

Ante de começar você sabe o que é uma Tablespaces?

Um banco de dados é dividido em unidades lógicas de armazenamento, denominadas tablespaces, que podem ser usadas para agrupar estruturas lógicas relacionadas. Cada banco de dados está dividido logicamente em um ou mais tablespaces. Um ou mais arquivos de dados são criados explicitamente para cada tablespace, de modo a armazenar fisicamente os dados de todas as estruturas lógicas de um tablespace.

Enfim, vamos ao que interessa !!!!!!!!!

Vamos imaginar uma situação hipotética para exemplificar, precisamos criar uma área (tablespace) onde uma equipe de desenvolvimento vai poder acessar e criar tabelas e todos os objetos necessários para executar testes de desenvolvimento no dia-a-dia.

Vamos combinar que o nosso tablespace terá o nome de “Desenvolvimento” e iremos criar um único usuário chamado “Dev” onde todos  da equipe de desenvolvimento podem usar, você pode criar quantos usuários quiser para um tablespace, ok.

1º Acesso ao Oracle

Você vai precisar acessar o Oracle com o usuário SYS ou SYSTEM, usuário criado automaticamente na instalação do Oracle onde você inseriu a senha, se você tem um outro usuário que tenha permissões suficiente siga com seu usuário, caso contrario você vai precisar do usuário SYS ou SYSTEM.
Faça o acesso no Oracle usando a sua IDE favorita, Sql plus, Sql Developer, Toad, etc, irei usar o Sql Developer por ser popular de fácil acesso e amigável.

2º Criar o Tablespace

Vamos criar agora o tablespace do ambiente de desenvolvimento, vamos chamar esse tablespace de “Desenvolvimento”.

Execute o bloco de comando abaixo:

CREATE TABLESPACE Desenvolvimento
LOGGING DATAFILE 'Desenvolvimento.dbf'
SIZE 100m AUTOEXTEND ON NEXT 100m EXTENT MANAGEMENT LOCAL;

Observe que estou criando o tablespace com 100MB e ele vai se expandir automaticamente a cada 100MB até o infinito ou tamanho do seu HD…rs.rs

3º Criar Usuário e dar acesso no Tablespace

Vamos criar o usuário “Dev” e dar acesso ao Tablespace “Desenvolvimento”

Execute o bloco de comando abaixo:

CREATE USER Dev
IDENTIFIED BY Dev1234
DEFAULT TABLESPACE Desenvolvimento
QUOTA UNLIMITED ON Desenvolvimento;

4º Aplicar as permissões (GRANT)

Após a criação do usuário “Dev” temos que informar as permissões aplicando o Grant, estou aplicando algumas permissões padrões e suficiente para meu usuário “Dev” poder trabalhar.

Execute o bloco de comando abaixo:

GRANT
create session,
alter session,
create table,
create procedure,
create view,
create materialized view,
create trigger,
create sequence,
create any directory,
create type,
create synonym
TO
Dev;

5º Fazer o Acesso com o Usuário Dev

Após a criação do usuário “Dev” e dar os Grant’s vamos fazer criar uma nova conexão.

Não se esqueça que nossa base é a XE, base padrão da versão grátis, criamos um estrutura lógica chamada de Tablespace dentro do banco XE denominada “Desenvolvimento”.

Observe que ao fazer o acesso com o usuário “Dev” ainda não temos objetos criados no Tablespace “Desenvolvimento”

6º Criar tabela

Após fazer a conexão com o usuário “Dev” vamos criar a primeira tabela.

Execute o bloco de comando abaixo:

CREATE TABLE Dev.Tbl_Teste (
nome VARCHAR(100),
sobre_nome VARCHAR(100),
Telefone CHAR(11),
Endereco VARCHAR(30),
Idade NUMBER
);

Observe que após a criação da tabela agora o usuário “DEV” consegue visualizar os objetos que pertencem ao seu Tablespace.

Conclusão:

Agora nossa equipe de desenvolvimento tem uma área para poder fazer testes, eu poderia ainda ter criados vários usuários e não apenas um usuário genérico “Dev”, mas isso fica ao seu critério, seguindo essa mesma lógica você pode criar Tablespace para seus sistemas trabalharem de forma organizada.

Bom, era isso pessoal !!!

Até a próxima.

Abs,
Fabrizio Gianfratti Manes

Deixe uma resposta

Post Navigation