Showing posts with label data. Show all posts
Showing posts with label data. Show all posts

Thursday, December 03, 2009

Instalação do Grid Infrastructure para criar o um banco de dados usando a versão 11gR2 com ASM


Júlio Cesar Corrêa
DBA Oracle
Instalação do Grid Infrastructure para criar o um banco de dados usando a versão 11gR2 com ASM.
Novidades no 11gR2:
-Ao optar por usar ASM como armazenamento você deve instalar o Grid Infrastructure no servidor porque ele agora  contém a instalação e configuração da instância ASM e uma séries de outros componetes.
-O Grid Infrastructure instala a nova feature chamada Oracle Restart.Basicamente as funções  que o Oracle Restart desempenha são:
- Monitorar os componentes instalados como Listener,Instância ASM e RDBMS para que em caso de falha de hardware ou software Oracle reiniciará automarticamente o componente na ordem correta.
- Ao reiniciar o SO do host o software Oracle inicia automaticamente os componentes instalados no servidor

Para mais informações sobre as novidades na versão 11gR2 do banco de dados Oracle consulte as docs no site tahiti.oracle.com ou OTN.
Versão do Kernel e memória (RAM e swap)

Formatação dos discos para o ASM:
fdisk - l

Caso não tenha formatado o disco siga os passos do exemplo:
# fdisk /dev/sde
* n
* p
* 1
* [Enter]
* [Enter]
* w
Configuração do ASMLib:




Com os discos preparados para o ASM vamos ao OUI:
- Chamando o executável do instalador do Grid: ./runInstaler

- Tela de escolha do tipo de instalação(like Weblogic kkk):
Escolha : " Install and Configure Grid Infrastructure for a Standalone Server "

- Pop-up describer

Seleção do Idioma :

- Set up do Grid - Utilizando opções default :

- Seleção de discos para o Disk Group DATA(note o pop-up)

- Set up de senha para o ASM :
SYS e ASMSNMP

- Set up dos System Groups.
No caso não criei os grupos adicionais para cada item.Utilizei somente o grupo dba.

Se você não quer utilizar os outros grupos do SO coloque YES na tela abaixo:

- Local de instalação dos binários

- Criação/local do Inventory :

- Check de pré-requisitos

No meu caso,minha VM não está com 1024MB de memória RAM,está com 768MB.Para efeito de testes podemos passar memória e swap.
Note que há alguns  parâmetros de Kernel que estão fora do padrão,no caso há uma coluna "Fixable" que indica que ele serão reparados.
Usar a opção Fix & Check Again :


Onde está o script?

Estou procurando até agora :( .
Next -->>
Já no caso dos pacotes,temos alguns que estão com versões diferentes e outros que estão faltando.


Baixe e ou use uma midia do Red Hat por exemplo.
Após a instalação :

Alterando os parametros do Kernel que estão errados :
[root@marte kernel]# sysctl -w fs.file-max=6815744
fs.file-max = 6815744
Editando o arquivo /etc/sysctl.conf :

Para efetivar :
sysctl - p
Novamento no OUI :

Ignorando os prereqs de memória :

Sumário :

Acompanhando o progresso da instalação :

- Executar os scripts : orainstRoot.sh e root.sh

Exemplo da saída do root.sh
[root@marte /]# sh /u01/app/oracle/product/11.2.0/grid/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2009-12-03 14:38:15: Checking for super user privileges
2009-12-03 14:38:15: User has super user privileges
2009-12-03 14:38:15: Parsing the host name
Using configuration parameter file: /u01/app/oracle/product/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'oracle', privgrp 'oinstall'..
Operation successful.
CRS-4664: Node marte successfully pinned.
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
marte     2009/12/03 14:39:06     /u01/app/oracle/product/11.2.0/grid/cdata/marte/backup_20091203_143906.olr
Successfully configured Oracle Grid Infrastructure for a Standalone Server
Updating inventory properties for clusterware
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB.   Actual 1537 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'UpdateNodeList' was successful.
[root@marte /]#
-Final da instalação :

- Visualização dos processos Oracle rodando no servidor :

Variáveis de ambiente:

declare -x OLDPWD="/u01/app/oracle/product/11.2.0"
declare -x ORACLE_BASE="/u01/app/"
declare -x ORACLE_HOME="/u01/app/oracle/product/11.2.0/grid"
declare -x ORACLE_SID="+ASM"
declare -x PATH="/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin:/u01/app/oracle/product/11.2.0/grid/bin"
declare -x PWD="/u01/app/oracle/product/11.2.0/grid"
declare -x SHELL="/bin/bash"
- Utilitário ASMCMD

-Conectando na instance ASM:

Final da instalação do Grid completa!
JC
Obs.A segunda parte continua em outro post.

Saturday, August 29, 2009

Flashback Data Archive (Oracle Total Recall) III

Olá,
Vamos ao terceiro artigo rápido explicando um pouco como funciona no Flashback Data Archive.
Eu removi um arquivo da nossa tablespace de testes "acidentalmente".Como é um banco de testes em Windows,vamos resolver o problema:
idle> alter database open;
alter database open
*
ERRO na linha 1:
ORA-01157: não e possivel identificar/bloquear arquivo de dados 6 - consulte
arquivo de analise DBWR
ORA-01110: 6 do arquivo de dados: 'D:\DATA\FBDA01.DBF'
Solução:
idle> alter database datafile 'D:\DATA\FBDA01.DBF' offline;
Banco de dados alterado.
idle> alter database open ;
Banco de dados alterado.
Em outra janela:
SQL*Plus: Release 11.1.0.6.0 - Production on Sßb Ago 29 00:44:29 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Informe o nome do usußrio: sys / as sysdba
Informe a senha:
Conectado a:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
GLOBAL_NAME
---------------------------------------------------------------------sys@ORCL11G
sys@ORCL11G> drop tablespace fbda01 including contents and datafiles;
Tablespace eliminado.
Continuando o terceiro post...
No post anterior criamos uma tablespace para armazenar o nosso Flashback Data Archive e também o próprio flashback archive com um período de retenção de 5 anos(somente para teste).
Relembrando:
sys@ORCL11G> create tablespace fbda01
2 datafile ‘d:\data\fbda01.dbf' size 1g;
Tablespace criado.
sys@ORCL11G> create flashback archive fb_test
2 tablespace fbda01 retention 5 year;
Archive de flashback criado.
Esqueci de mencionar no post anterior mas você pode especificar uma quota na tablespace para um flashback data archive.
Ex.
sys@ORCL11G> create flashback archive fbtest02
2 tablespace fbda01 quota 250m
3 retention 2 year;
Flashback archive created.
sys@ORCL11G>
Vamos adicionar duas linhas na nossa tabela de testes:
sys@ORCL11G> select * from tb_test_fb;
no rows selected
Elapsed: 00:00:00.00
sys@ORCL11G>
sys@ORCL11G> insert into tb_test_fb values(8,10) ;
1 row created.
Elapsed: 00:00:00.04
sys@ORCL11G>
sys@ORCL11G> insert into tb_test_fb values(1,20);
1 row created.
Elapsed: 00:00:00.00
sys@ORCL11G>
Agora vamos testar um update na tabela e ver se realmente é gravado no flashback archive:
sys@ORCL11G> update tb_test_fb set x=16 where x=1 ;
1 row updated.
Elapsed: 00:00:00.02
sys@ORCL11G>
sys@ORCL11G> commit ;
Commit complete.
Elapsed: 00:00:00.02
sys@ORCL11G>
Consulta a tabela :
sys@ORCL11G> select * from tb_test_fb;
X Y
---------- ----------
8 10
16 20
Elapsed: 00:00:00.02
Será que conseguimos buscar do histórico armazenado no flashback archive?
sys@ORCL11G> select dbms_flashback.get_system_change_number from dual ;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1589292
Elapsed: 00:00:00.03
sys@ORCL11G>
sys@ORCL11G> update tb_test_fb set x=16 where x=1 ;
1 row updated.
Elapsed: 00:00:00.00
sys@ORCL11G> commit ;
Commit complete.
Elapsed: 00:00:00.00
sys@ORCL11G>
sys@ORCL11G>
sys@ORCL11G> select * from tb_test_fb ;
X Y
---------- ----------
8 10
16 20
Elapsed: 00:00:00.01
sys@ORCL11G>
sys@ORCL11G> select * from tb_test_fb
2 as of timestamp (systimestamp - interval '5' minute) ;
X Y
---------- ----------
8 10
1 20
Elapsed: 00:00:00.04
sys@ORCL11G>
sys@ORCL11G> select dbms_flashback.get_system_change_number from dual ;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1589821
Elapsed: 00:00:00.01
sys@ORCL11G> select sysdate from dual;
SYSDATE
-------------------
29/08/2009 01:50:05
Elapsed: 00:00:00.01
Como visto,conseguimos recuperar o valor antes da mudança como se fosse na tablespace de undo.
Foi um post simples,mas acredito que mostrou a funcionalidade desta feature.
Abs,
JC

Monday, August 24, 2009

Flashback Data Archive (Oracle Total Recall) II

Continuando o post anterior vamos colocar a mão na massa e criar os "objetos" necessários para demonstrar o uso desta feature.
Criação da tablespace  e o flashback data archive de teste:
Conectado a:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
GLOBAL_NAME
--------------------------------------------------------------------------------
sys@ORCL11G
sys@ORCL11G> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
sys@ORCL11G> create tablespace fbda01
2 datafile 'd:\data\fbda01.dbf' size 1g;
Tablespace criado.
sys@ORCL11G> create flashback archive fb_test
2 tablespace fbda01 retention 5 year;
Archive de flashback criado.
Abaixo as visões onde podemos obter informações sobre os objetos:
sys@ORCL11G> SELECT FLASHBACK_ARCHIVE#,TABLESPACE_NAME
2 FROM DBA_FLASHBACK_ARCHIVE_TS;
FLASHBACK_ARCHIVE# TABLESPACE_NAME
------------------ ------------------------------
1 FBDA01
Decorrido: 00:00:00.00
sys@ORCL11G>
sys@ORCL11G> select flashback_archive_name,flashback_archive#,retention_in_days
2 from dba_flashback_archive;
FLASHBACK_ARCHIVE_NAME
----------------------------------------------------------------------------------------------------
FLASHBACK_ARCHIVE# RETENTION_IN_DAYS
------------------ -----------------
FB_TEST
1 1825
Decorrido: 00:00:00.00
sys@ORCL11G>
Atribuição de permissões para Flashback Data Archive
Para criar ou modificar um flashback data archive um usuário necvessita ter o privilégio de sistema FLASHBACK ARCHIVE ADMINISTER.Já para ativar o  rastreamento em uma tabela ou seja monitorar os updates e deletes é necessário o privilégio de objeto FLASHBACK ARCHIVE.
Para terminar o nosso post vamos criar uma tabela e atribuir a mesma a um flashback data archive :sys@ORCL11G>
sys@ORCL11G> create table tb_test_fb
2 (x number,y number)
3 tablespace users
4 flashback archive fb_test;
Tabela criada.
Decorrido: 00:00:01.87
sys@ORCL11G>
sys@ORCL11G> create table tb_testfb2
2 (a number,b number)
3 tablespace users
4 ;
Tabela criada.
Decorrido: 00:00:00.02
sys@ORCL11G> alter table tb_testfb2 flashback archive fb_test;
Tabela alterada.
Decorrido: 00:00:00.46
No proximo post vamos testar como funciona o armazenamento dos dados no Flashback Data Archive.
Abs,
JC