Sunday, June 25, 2006
Como Instalar Linux para Oracle 10g
Escrevi um pequeno documento de como instalar o Linux para o Oracle 10g usando ASM ao invés de filesystem normal. Fiz esse documento em minha casa, portanto eu usei:
As licenças dos softwares são trial. Os softwares usados não são free.
Uma pequena introdução do VMWare: é um software que simula um ambiente operacional em seu computador. Por exemplo, minha máquina principal é um Windows XP. Com o VMWare, eu criei um ambiente e instalei o Linux nele. Depois disso, pode-se pingar o XP principal com a máquina virtual, inclusive o meu XP é client do Linux (muitas vezes).
Os três primeiros discos foram criados antes da instalação do Linux. Após esse procedimento, vou incluir os outros volumes para dos dados.
Próxima tela, eu pelo menos já testei minhas mídias, portanto vou de -SKIP-
Tela de apresentação – Next.
Selecione a linguagem – Next.
Selecione a configuração do seu teclado. O meu é Brazilian (ABNT2) – Next.
the partitions created. Next.
A janela de configuração após as modificações necessárias clique ok e next.
Nenhuma ação requerida - Next.
Linguage adicional, poderia instalar Português também, mas como quero economizar espaço, vou adiante – Next.
Selecione o TimeZone – Next.
Escolha uma senha para o root – Next.
Escolha os pacotes que deseja instalar manualmente – Next.
Next – Para instalação. Agora é só trocar os CDs quando quando o sistema solicitar
Progresso...
Reboot o servidor para os passos de post-installation.
Tela de Boas Vindas – Next.
As licenças dos softwares são trial. Os softwares usados não são free.
Uma pequena introdução do VMWare: é um software que simula um ambiente operacional em seu computador. Por exemplo, minha máquina principal é um Windows XP. Com o VMWare, eu criei um ambiente e instalei o Linux nele. Depois disso, pode-se pingar o XP principal com a máquina virtual, inclusive o meu XP é client do Linux (muitas vezes).
Só lembrando: Guia nem sempre responde a todas as dúvidas. Esse pequeno documento tem a intenção de ajudar a uma pequena instalação caseira. Não tive a pretenção de duplicar o manual aqui. Leve isso em consideração quando (e se) for seguir os passos seguintes.
Planejando a instalação.
A idéia é manter discos de no máximo 4 Gibabytes para fins de backup. Um DVD tem capacidade de 4,7 GB. Portanto o planejamento inicial é:
MountPoint Tamanho Físico Descrição Disco OS Tam Alocado Type
--------------- --------------- --------------- --------------- ----------- ------
/u01 4 Gbytes RDBMS/ASM yoda_df1 6Gbytes VG/ORA
/root 4 Gbytes Linux (RHEL4) yoda_df2 4Gbytes VG/RH4
/swap 4 Gbytes Área de swap yoda_df3 2Gbytes VG/SWP
+ASM 4 Gbytes Área Oracle yoda_asm1 4Gbytes ASMLib
+ASM 4 Gbytes Área Oracle yoda_asm2 4Gbytes ASMLib
Os três primeiros discos foram criados antes da instalação do Linux. Após esse procedimento, vou incluir os outros volumes para dos dados.
A seguir, insira o disco 1 de instalação e
Instalação
Próxima tela, eu pelo menos já testei minhas mídias, portanto vou de -SKIP-
Tela de apresentação – Next.
Selecione a linguagem – Next.
Selecione a configuração do seu teclado. O meu é Brazilian (ABNT2) – Next.
Este é um dos momentos mais importantes para a instalação do Linux. Aqui serão definidas as partições de disco e pontos de montagem. No Linux, são, no mínimo, duas partições a /root e a /swap. Porém, vamos instalar como demonstrado na tabela acima. Farei a instalação automática usando Volume Group e Logical Volumes para definir os mount points: /u01, /root e área de /swap. Após a configuração automática, vou revisar e editar.
Instalação inicial, portanto remover tudo neste sistema e checar o review (and modify if needed)
Esta é a configuração default apresentada, selecione o VolGroup00 e clique em Edite para modificar os nomes e valores conforme definimos na tabela acima.
A janela de configuração após as modificações necessárias clique ok e next.
Nenhuma ação requerida - Next.
Configuração da placa de rede. Em meu exemplo, eu tenho uma pequena Home Network, com roteador, portanto eu não uso DHCP (memos que usasse, para ser host Oracle o servidor necessita IP fixo). Editei a placa, mudei o endereço e máscara, mudei também o hostname e informei Gateway e DNS apontando para minha rede – Next.
Segurança: vale ressaltar que estou instalando esse Linux no VMWare, portanto ele pertence a minha máquina. Para simplificar a instalação desabilitei o Firewall e o SELinux, se sua instalação pertence a um barramento hostil, sugiro trabalhar com o SA (System Administrator) aqui para estar conforme com a política de segurança – Proceed
Linguage adicional, poderia instalar Português também, mas como quero economizar espaço, vou adiante – Next.
Selecione o TimeZone – Next.
Escolha uma senha para o root – Next.
Escolha os pacotes que deseja instalar manualmente – Next.
Next – Para instalação. Agora é só trocar os CDs quando quando o sistema solicitar
Progresso...
Reboot o servidor para os passos de post-installation.
Tela de Boas Vindas – Next.
Acordo de licença. Esteja ciente de que o Red Hat EL 4 é propriedade da Red Hat e tem custo para instalação. A cópia que estou utilizando é uma avaliação de 30 dias que pode ser conseguida diretamente do site da redhat.com – Next.
Para terminar a instalação basta responder as perguntas seguintes, nada problemático. No próximo artigo, vamos instalar os componentes para o +ASM e o Oracle 10g.
Labels: how to
Tuesday, June 06, 2006
Check Contrainst (NOT NULL dependente)
Dúvida
Crei uma tabela t com os campos ( pode_nulo e valor ).
Baseado no pode_nulo, onde há uma constraint permitindo somente [S]im ou [N]ão, outra constraint de check verifica se o pode_nulo é SIM então não há outro check, OU pode_nulo é NÃO e o valor NÃO PODE SER NULO.
Bom dia Pessoal!
Seguinte, Tenho uma tabela(Fornecedor e cliente etc...) que possui
varios dados e dependendo de um campo TIPO(Fornecedor e cliente
etc...) alguns campos serão NOT NULL ou não. isso é possivel a nivel
de banco? Uma Check Constraints será? e como seria o codigo?
alguma outra sugestão?
Crei uma tabela t com os campos ( pode_nulo e valor ).
Baseado no pode_nulo, onde há uma constraint permitindo somente [S]im ou [N]ão, outra constraint de check verifica se o pode_nulo é SIM então não há outro check, OU pode_nulo é NÃO e o valor NÃO PODE SER NULO.
SQL> create table t (
2 pode_nulo char(1)
3 constraint podenulo_chk check ( pode_nulo in ( 'S', 'N' )),
4 valor number,
5 constraint valor_chk check (
6 ( pode_nulo = 'S' ) or
7 ( pode_nulo = 'N' and valor is not null )
8 )
9 );
Table created.
SQL> insert into t values ( 'N', 1 );
1 row created.
SQL> insert into t values ( 'S', null );
1 row created.
SQL> insert into t values ( 'N', null );
insert into t values ( 'N', null )
*
ERROR at line 1:
ORA-02290: check constraint (OPS$MARCIO.VALOR_CHK) violated
SQL>
SQL> select * from t;
P VALOR
- -------------
N 1
S
Labels: how to