Category Archives: Sem Categoria

RENOVE-SE

A Águia é a ave que possui a maior longevidade da espécie. Chega a viver 70 anos. Mas para chegar a essa idade, aos 40 anos, ela tem de tomar uma séria e difícil decisão.

Aos 40 anos ela está com as unhas compridas e flexíveis, já não consegue agarrar as suas presas, das quais se alimenta; o bico alongado e pontiagudo curva-se, apontando contra o peito; as suas asas estão envelhecidas e pesadas em função da grossura das penas, e voar torna-se muito difícil.

Então, a águia só tem duas alternativas: morrer ou enfrentar um doloroso processo de renovação que irá durar 150 dias. Este processo consiste em voar para o alto de uma montanha e recolher-se num ninho próximo a um paredão, onde ela não necessite de voar.

Após encontrar esse lugar, a águia começa a bater com o bico numa parede até conseguir arrancá-lo. Depois espera até nascer outro, com o qual vai arrancar as unhas. Quando as unhas novas começam a nascer, ela passa a arrancar as velhas penas e só depois de cinco meses é que sai para o famoso voo de renovação e para então viver mais 30 anos.

Na nossa vida, muitas vezes temos de nos resguardar por algum tempo e começar um longo processo de renovação. Para que continuemos a voar em voo de vitória, devemos desprender-nos de ideias, lembranças, conceitos e de outras tradições que nos causam dor.

Somente livres do peso do passado é que poderemos aproveitar o resultado valioso que uma renovação sempre traz. Somente livres do peso do passado é que podermos abrir-nos para novas aventuras que nos levarão à vida que viemos a terra viver

LISTAGEM DE POSTS

ORACLE – CRIAR TABLESPACE

 Ambiente : Windows 2003 Server / Unix Linux Oracle 10g (funciona também com 9i)

Antes de iniciarmos com este processo é importante entender o que vem a ser tablespaces.

  •  Existe no Oracle o conceito de base guarda de dados em áreas de armazenamento lógico denominadas Tablespace;
  •  Um banco de dados poderá conter uma ou mais tablespace que guardam os dados deste banco;
  •  Cada tablespace conterá um ou mais arquivos de dados denominados datafiles, estes sim são físicos e podem serser manipulados pelo sistema operacional e por esta razão sendo tratados como segmentos de dados pelo Oracle.
  • Segmentos de dados, como os data files, são formados por extensões de blocos do sistema operacional definidos no momento da instalação da instância.

 Entendido isso, vamos criar nossas tablespaces para a base de dados ESTOQUE  criado anteriormente.

 Criando tablespace

CREATE SMALLFILE TABLESPACE “TBSESTOQUE1” DATAFILE ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\ESTOQUE\DFESTOQUE01.ORA’ SIZE 250M REUSE;

CREATE SMALLFILE TABLESPACE “TBSESTOQUEIDX1” DATAFILE ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\ESTOQUE\DFESTOQUEIDX01.ORA’ SIZE 250M REUSE;

CREATE SMALLFILE TEMPORARY TABLESPACE “TBSESTOQUETMP” TEMPFILE ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\ESTOQUE\DFESTOQUETMP1.ORA’ SIZE 100M;

Ao lado temos a aplicação do comando para criação de dados baseados em DML
Neste caso estamos criando três tablespace´s: Uma para dados, a segunda para indices e a terceira para uso temporário.
Os arquivos serão criados como mostrados na tela ao lado extamente onde estão os demais arquivos do banco de dados ESTOQUE que segue o padrão OFA da Oracle.

 O usuário utilizado para este processo foi o sys porém este não deve ser o owner do banco. Vamos então criar um usuário owner (dono) do banco ESTOQUE para administração desta base.

Criando usuário administrador (OWNER) do banco de dados ESTOQUE .

Este usuário será um user DBA que poderá criar demais usuários do banco de dados e também administrará toda a manutenção do mesmo.Note que na criação já definimos as tablespaces de dados e temporários para este usuário.

CREATE USER ADMESTOQUE IDENTIFIED BY ESTOQUE DEFAULT TABLESPACE TBSESTOQUE1 TEMPORARY TABLESPACE TBSESTOQUETMP ;

Concedendo a este usuário direitos de DBA.

GRANT DBA TO ADMESTOQUE

Vemos que o usuário foi criado com sucesso bem como a utilização de comando DCL para liberar direitos de DBA para este usuário (GRANT).

Com este usuário criaremos os demais usuários e poderemos criar toda a estrutura de nossa base de dados.

ORACLE – DICAS PARA O DIA A DIA

Ambiente : Windows 2003 Server / Unix Linux Oracle 10g (funciona também com 9i)

Seguem alguns comandos para nos ajudar no dia a dia em ambientes ORACLE.
É importante conhecermos as definições de cada comando antes de utilizá-las pois caso o seu banco não possua, ou não esteja trabalhando, com flash recover, os dados poderão ser perdidos definitivamente em um comando truncate por exemplo


DDL (Data Definition Language): São comandos de definição de dados de Definição de Dados que tratam como a criação, alteração e exclusão de objetos de banco como por exemplo usuários, procedures, funções, tabelas, etc.


DML (Data Manipulation Language):  São comandos de Manupulação de Dados como Select, Insert, Update,Lock, etc Tratam de fato da manipulação de dados inseridos ou a serem inseridos no banco.


DCL (Data Control Language): Trata do controle para o acesso a dados e utilizan-se principalmente dos comandos de Grant e Revoke de determinado objeto para usuários ou Roles.

Exemplo para comando DDL

Criar usuário
 Vamos criar o primeiro usuário para nosso banco de dados RMATOS
  Importante sempre levar em consideração o que este usuário deverá fazer, informações estas que podem vir do desenvolvedor do aplicativo.
 Em nosso exemplo o usuário irá apenas ser criado e definido posteriormente direito de conexão ao banco.

 USUARIO = ROGERIO
 SENHA     = rogeriomatos
 BANCO    = RMATOS
 TBSPACE =  ESTOQUE
 TEMP        = ESTOQUETMP

CREATE USER ‘ROGERIO’ IDENTIFIED BY rogeriomatos DEFAULT TABLESPACE ESTOQUE TEMPORARY TABLESPACE ESTOQUETMP;

O que fizemos acima foi dizer que o usuário foi criado para que tenha acesso ao banco RMATOS sendo que as tablespaces referen-se a um objeto chamado ESTOQUE.

Exemplo para comando DCL
Agora que temos o usuário criado precisamos ao menos dar ao mesmo o direito de conexão. Para tanto utilizamos aqui um exemplo de comando que agrega direitos a determinado usuário. Estamos conectados com perfil que permita lesta liberação, como por exemplo sysdba.

GRANT CONNECT TO ROGERIO ;

Uma boa prática para manutenção de bancos é permitir que um usuário criado, e apenas um, tenha totais direitos ao banco, como um sysdba, preservando assim os usuarios nativos ‘sys’ e ‘system’  com a senha inicial definida para qualquer emergência.,com senha bem guardada preferencialmente de conhecimento apenas do DBA da área. Vamos dar este direito ao usuário criado.

GRANT DBA TO ROBERIO;

CRIANDO DATABASE LINK

Quando estamos conectados a uma base de dados, por exemplo RMATOS e precisamos acessar dados de outra base de dados, por exemplo KAREN cujo a tabela se chama ‘PESSOAS’;

Nome do dblink = BUSCA
Banco loca         = RMATOS
Banco destino    =  KMATOS
Tabela               = PESSOAS
TNSNAMES    = KMATOS.WORLD (deve estar no servidor local, no caso RMATOS)
Senha                = skmatos

CREATE DATABASE LINK BUSCA CONNECT TO KMATOS IDENTIFIED BY skmatos USING KMATOS.WORLD

Feito, basta testar buscando o que se deseja da tabela PESSOAS

  SELECT * FROM PESSOAS@BUSCA ;

ORACLE – UTILIZANDO O DBCA PARA CRIAR BANCO DE DADOS

Ambiente : Windows 2003 Server / Oracle 10g (funciona também com 9i)

Ao instalar o software do Oracle, ou binário como também é conhecido, poderemos utilizar as ferramentas administrativas disponibilizadas para esta versão. Vamos conhecer agora o DBCA que é a ferramenta gráfica para criação de base de dados. Estamos trabalhando em ambiente Windows más as mesmas sequencias servem também para o ambiente Unix/Linux, claro com o devido direcionamento dos arquivos de dados para o ponto de montagem desejado /U01/Oracle.


No Windows podemos simplismente executar o comand dbca para acionarmos o módulo de instação ( ./dbca no linux), ou seguir os passos a seguir. Todos os programas >> Oracle(Versão) >>Cconfiguration and Migration Tools >>Data Base Configuration Assistent.

A tela apresentada a seguir mostra apenas informações iniciais para a criação do banco desejado, sem qualquer possibilidade de alteração de parâmetros.



Aqui podemos ver que o DBCA nos permite tanto a criação de base de dados quanto a exclusão e gerenciamento de bases e gabaritos. O Gabarito é um modelo de banco já criado anteriormente e que pode ser utilizado nesta ferramenta.
Iremos gerar o gabarito da base a ser criada no final da parametrização de instalação.



Aqui definimos o nome da instância dobanco de dados. No Windows, a exemplo da base criada manualmente, o nome será “OracleServiceESTOQUE”



As opções que aqui aparecem 4 opções para criação de banco, e não é simplesmente para se ter opções. Cada opção tem uma parametrização típica para cada fim. Exemplo: Data Warehouse é o tipo de banco que está paremetrizado para grande demanda de busca de dados. Vamos selecionar a opação de ‘Banco de dados Personalizado’.

 

Aqui podemos ativar o backup da base de dados em determinado intervalo de tempo.
Não iremos fazê-lo uma vez que, ao meu ver, temos que primeiro entender o que vem a ser este processo antes de ativá-lo. Isso será demonstrado posteriormente já que esta será a nossa base de dados para muitos estudos.

 

 

Senhas: Muito cuidado com este passo. A senha que írá escolher é a do usuário sys e demais usuários de administração da base. Eu prefiro criar todos com o mesmo valor e posteriormente alterar conforme projeto a ser desenvolvido e devidamente registrado em procedimento.

 

Aqui definimos a guarda d
e dados , por padrão ‘File System’, ou seja o padrão do sistema operacional utilizado. ASM é um padrão da Oracle que simula uma storage para a guarda de dados.
Existe também um tipo para o uso do RAC, padrão Oracle para cluster que veremos posteriormente.

 

 

Nesta tela podemos definir onde será arquivado o gabarito da base de dados.
Conforme dito, este gabarito será criado ao final do processo, e irá ser gravado no diretório padrão ou o que definirmos nesta tela.

 

 

Área de recuperação flash e tamanho da recuperação. No Oracle 10g foi introduzido a possibilidade de recuperação imediata de perda de dados de uma tabela, ou até mesmo da tabela inteira, desde que armazenada nesta área. Como recuperar veremos posteriormente. Ative esta opção para que possamos fazê-lo

 

 

Aqui selecionamos os pacotes a serem instalados, como nos interessa somente o banco, selecionamos apenas a última opção para repositório do Enterprise Manager. Evite selecionar pacotes pois isso gera cobrança de licença que pode ser tranquilamente detectado em auditorias da Oracle.

 

Em existindo scripts para execução no momento da criação do banco, como criação de usuários, estes poderão ser configurados aqui.

 

Aqui temos algo de grande relevância. A área de uso de memória. Definimos aqui que a base utilizará 21% da memória disponível para o servidor. Em Windows Standard 32bits temos que tomar muito cuidado com este gerenciamento. Sugiro a edição do arquivo boot.ini informando este parâmetro para evitar futuros problemas como o ORA-04030
“[operating systems]multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Windows Server 2003, Standard” /4G “

 

Process: Isso é sempre interessanse se levantar com o responsável da aplicação ao qual será acessado pelo banco, pois se a quantidade de processos for menor que o recomendado, muitos usuarios não poderão sequer conectar no banco.
Podemos otimizar inicialmente para 500 e depois diminuir se for o caso. Somente processos ativos consomem recursos.
Padrão de caracteres padrões, no SQL Server conhecido como “Colation”. Importante ter este padrão registrado em documento para uso dos desenvolvedores.
O padrão UTF-8 Unicode atende a grande maioria das necessidades.

 

Para uso de estudo utilizaremos o modo Dedicado de gerenciamento de memória que reserva uma área fixa para cada usuário conectado.
No modo compartilhado a mesma área de memória é utilizada por mais de um usuário, utilizado para aplicações com grande quantidade de conexões.

 

Aqui podemos ver, e alterar, a estrutura do banco em file system. Alterar os segmentos de redolog, arquvos de dados, etc.
Vale lembrar que estamos optando por uma instalação padrão, logo, será utilizado o padrão OFA da Orale que determina a árvore padrão e nomeação de de diretórios gerenciamento. Não iremos adicionar nenhuma nova tablespace agora, faremos isso no proximo ‘post’ deste blog.



 


Aqui vamos, finalmente dar nome ao Gabarito que será criado com base neste banco. Caso precise, isso poderá ser feito posteriormente a adicionarmos mais tablespaces.
Também temos a criação dos scripts de criação de banco para geração manual, bem parecido com o que vimos anteriormente em outro ‘post’

 

Aqui temos uma tela que apresenta, em html que pode ser salvo, os parâmetros escolhidos para a criação desta base. É interessante a guarda para análise futura quando se faz necessário análise de crescimento em razão da demanda de dados, por exemplo.

 

Após esta apresentação temos a tela confirmação
de criação de script e gabarito


 


Aqui já temos a criação da base propriamente dita.
Podemos acompanhar esta criação e visualizar o que acontece abaixo da barra de status.

 

Após a finalização da criação da base temos temos a tela de confirmação e a possibilidade de troca de senha dos usuários de gerenciamento da base.
Em ambientes Unix/Linux existe ainda a tela que mostra o caminho para execução de script de liberação de direitos de usuário no sistema operacional relacionado a base de dados.
 

 

Podemos confirmar a criação do banco de dados usando o sqlplus /nolog e conectando da seguinte forma:
sys/
@ :que em nosso caso ficará:
 
Se quisermos acessar via Enterprise Manager, ferramenta administrativa da base Oracle, agora WEb, podemos simplesmente acessar via ferramentas ou digitando diretamente o endereço
A primeira base geralmente tem a porta 1158

 

Utilizamos também o usuário sys, ou outro criado após este processo, via tela de acesso WEB.

 

Aqui já temos a tela com informações sobre o processamento da base criada, instância, etc.
Vamos manter esta base como ferramente de estudo para as próximas publicações.

Forte abraço

Rogério de Oliveira Matos
O impossível não existe!

ORACLE – CRIAR BANCO MANUALMENTE NO WINDOWS COM ORADIM

Ambiente : Windows 2003 Server / Oracle 10g (funciona também com 9i)
 
Há certos momentos em que precisamos criar uma nova instância ORACLE em ambiente Windows devido ao fato de, por exemplo, das ferramentas de criação não funcionarem corretamente, etc.
Podemos atingir este objetivo da seguinte forma.
Criando uma instância com nome RMATOS

Primeiro passo definir a variável ORACLE_SID e BASE
SET ORACLE_SID=RMATOS
SET ORACLE_BASE=c:\oracle
SET ORACLE_HOME=C:\oracle\product\10.2.0\db_1
No file system devemos criar uma estrutura física para o banco a ser criado, e podemos nos basear no padrão ORACLE.
No caso do banco RMATOS a ser criado, seria:
ORACLE_BASE\oradata\RMATOS
Os arquivos de inicialização do banco ficarão em C:\oracle\product\10.2.0\admin\RMATOS
Criar arquivo de inicialização init
Podemos criar ou, como neste caso, editar um arquivo de inicialização já existente para que atenda as necessidades do novo banco a ser criado.
initRMATOS.ora
Além das questões de inicialização como SGA, o importante é definirmos os diretórios referenciados pelo nome do banco para que na hora do start não tenhamos erros que deverão ser analizados pelo arquivo alert em bdump.
Para ver os arquivos de inicialização Clique AQUI
Criando a istância com ORADIM

Agora que temos o arquivo de inicialização, configuramos as variáveis necessárias e temos um nome para o SID, vamos criar a instância que, como pode ser visto, ainda não existe.
Para criar uma instância como o nome RMATOS utiliza-se o comando:
 
ORADIM -NEW -SID RMATOS -SYSPWD rogeriomatos -STARTMODE AUTO -PFILE C:\oracle\product\10.2.0\db_1\database\initRMATOS.ora

O comando INTPWD é utilizado pelo ORACLE para criar o arquivo de senhas utilizado pelo banco. Neste caso não a utilizamos e sim a opção -SYSPWD definine a senha do SYS
Agora que executamos o comando com ORADIM podemos verificar no “services” do Windows a instância OracleServiceRMATOS criada.
Conectando ao ORACLE

Agora podemos conectar a instância com usuário através do SQLPLUS Caso tenhamos um usuário do sistema operacional logado poderemos utilizar o comando abaixo para nos conectarmos.
sqlplus/nolog

conn / as sysdba
startup nomount.

Uma vez iniciada neste modo poderemos utilizar os comandos básicos para a criação de um banco de dados, no caso, já existe um arquivo CBANCO.SQL com os comandos para a criação referenciando os arquivos de controle e dados no ORACLE_BASE\ORADATA. Apenas então direcionamos o comando da seguinte forma: SQL> @C:\Scripts\CBANCO.SQL onde “Scripts” é o diretório onde o arquivo fora armazenado
Podemos ver agora que o banco foi criado com sucesso e então poderemos criar as tablespaces, datafiles, etc. relacionadas a este banco.
 
Podemos por exemplo executar o comando
Create tablespace “TBSROGERIO01” datafile “C:\oracle\oradata\dtf1.dbf” size 100M.

Será criado então a tablespace TBSRMATOS01 com o arquivo dtf1.dbf neste diretório e poderemos conferir isso em comandos de verificação como SELECT NAME FROM V$TABLESPACES.
 
Como pode ser verificar no diretório ORACLE_BASE\ORADATADA\RMATOS os arquivos referentes ao banco de dados foram criados e o banco está no ar onde já conseguimos criar uma tablespace e selecioná-la em um select simples.
Agora que temos o banco de dados no ar vem algo importante: a criação do dicionário de dados e visões utilizadas por todo o DBA para manutenção e administração da base de dados criada. Isso pode ser conseguindo com a execução das seguintes procedures.
Criação do dicionário de dados, views e sinonimos de sistema.
@%ORACLE_HOME%/rdbms/admin/catalog.sql
Executa todos os scripts usados em Pl/Sql
@%ORACLE_HOME%/rdbms/admin/catproc.sql
@%ORACLE_HOME%/sqlplus/admin/pupbld.sql
Agora já é possível verificar que as tablespaces do dicionário de dados foram criadas e conseguimos comprovar através dos views administrativas também criadas por este processo.
SQL> select name from v$tablespace ;
NAME
——————————
SYSTEM
UNDOTBS1
SYSAUX
TEMP
Até a próxima!!!

Planejamento financeiro

O Brasil, que já não possui uma educação aplicada adequada a sua grandeza, peca por não possuir nas escolas algo relacionado à educação financeira.
O dia a dia nos mostra que no final das contas acabamos por não saber lidar com o que ganhamos, ou seja, o salário ou o lucro que conseguimos de nosso trabalho ou se perde em algo que nunca se vê ou apenas dão um prazer imediato para depois ficar encostado em algum canto de sua residência empoeirando-se em seu esquecimento. No final sempre se pergunta… ‘Para onde foi meu dinheiro? Trabalho, trabalho… e não vejo o que construo”.
Melhor que saber ganhar é saber ‘economizar’. Não se trata de tornar-se um pão duro, nada disso, más se ao menos temos ideia do que fazemos com nosso dinheiro já nos ajuda e melhor utilizá-lo.
Falo isso, pois aprendi na prática, além dos conselhos da mamãe, a valorizar melhor o dinheiro e com isso consegui sair de uma situação financeiramente crítica para pelo menos conseguir fechar no azul todos os meses.
Um controle simples é melhor que nenhum controle, por isso, deixo a disposição uma planilha simples para que possa iniciar o seu controle financeiro.

Clique AQUI

Fiquem a vontade para qualquer alteração.

Rogério de Oliveira Matos