Author Archives: Admin
DICAS DE LEITURA – ORACLE
ORACLE – INSTALAÇÃO EM LINUX FEDORA
A implantação do Oracle no Unix/Linux não se difere em muito do ambiente Windows, porém são necessárias algumas configurações antes de se chamar o pacote de instalação.
As primeiras configurações devem ser executadas com o usuário root ou com permissão similar.
Configurando arquivo hosts
No diretório /etc/hosts o arquivo de hosts precisar ser configurado como abaixo
Para editar os arquivos em um ambiente não gráfico sugiro o ‘vi’.
No caso o ip configurado é o local ‘loopback’ 127.0.0.1 . Poderia também ser configurado o IP para acesso externo como 192.168.0.1 por exemplo.
Configurar o Kernel
Edite o arquivo em /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
Após configurar o Kernel execute o comando /sbin/sysctl -p para atualizar a sessão atual.
Edite o arquivo que está emm /etc/pam.d/login adidionando o valor abaixo, caso não exista:
session required pam_limits.so como mostrado ao lado .
No mesmo diretório etc será necessário acessar /etc/selinux e editar o arquivo config. Mais uma vez sugiro a utilização do ‘vi’ para este processo.
Deixar a opção SELINUX=disabled
Estamos aqui baixando a segurança do linux, porém como estamos trabalhando com um laboratório não teremos problemas. Em uma rede corporativa isso deverá ser feito pela área de segurança liberando as portas necessárias para a comunicação do banco com o sistema.
Instalando pacotes necessários
Alguns pacotes linux são necessários para a instalação do Oracle sendo alguns referentes a bibliotecas de comunicação. Abaixo segue a lista que deve ser instalada, neste caso, utilizei o rpm para descompactar e instalar. Em alguns casos podemos utilizar o yum
Em meu caso, a unidade de dvd foi montada em /media/dvd/
cd /media/dvd/Fedora/RPMS
rpm -Uvh setarch-*
rpm -Uvh –force tcl-*
rpm -Uvh –force libXau-devel-* libXp-*
rpm -Uvh compat-db-*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh compat-libf2c-34-*
rpm -Uvh compat-gcc-34-*
rpm -Uvh libaio-*
rpm -Uvh compat-gcc-34-c++-*
rpm -Uvh compat-libstdc++-296*
rpm -Uvh compat-libgcc-296*
rpm -Uvh openmotif21-2.1.30-14.i386.rpm
A criação de grupos de acesso e usuários pertencentes a estes grupos se faz necsssário porque até aqui utilizamos o usuário root e já para a efetiva instalação do Oracle este não poderá ser utilizado como pré-requisito de segurança. O que fizemos até agora foi o papel do administrador do sistema operacional executando pré-requsitos necessários para a instalação.
Criando grupos e usuários
groupadd oinstall
groupadd dba
groupadd oper
Criando usuário e relacionado ao grupo oinstall
useradd -g oinstall -G dba oracle
passwd oracle
Vamos agora criar o ponto de montagem, diretório no Windows, onde o software do Oracle será instalado
mkdir -p /u01/app/oracle/product/10.2.0/db_1
Definindo o grupo oinstall como ‘owner’ do diretório
chown -R oracle.oinstall /u01
Este passo tem grande importância.
O Oracle ainda não está homologado para o Fedora, apesar deste ser herança free do red hat.
Muitos dizem que não é um sistema operacional que seja comparado ao Enterprise Linux ou mesmo Red Hat, mas em meu treinamento na Oracle utilizamos um ambiente fedora exatamente como este em que o arquivo redhat-release fora criado.
Quando o Oracle inicia sua instalação ele verifica se existe este arquivo para validar a compatibilidade como sistema operacional.
Edit, ou crie, o arquivo /etc/redhat-release alterando a informação para:
redhat-4
Acesse o sistema operacional com o usuario oracle criado e adicionado ao grupo oinstall também criado anteriormente.
O arquivo para a instalação do oracle em linux pode ser baixado no site da oracle onde existem também outras versões onde já verifiquei que a 11 segue o mesmo processo, porém aqui utilizamos a versão 10g.
A partir dai a instação segue o mesmo padrão do Windows, exceto pelo final da instalação.
Aqui são mostratos todos os detalhes básicos para a instalação do software.
Optamos por não criar um banco de dados após a instalação.
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
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;
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
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.
Aqui definimos o nome da instância dobanco de dados. No Windows, a exemplo da base criada manualmente, o nome será “OracleServiceESTOQUE”
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.
/senha>@
Forte abraço
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.
Fiquem a vontade para qualquer alteração.
Rogério de Oliveira Matos
Comentários