Quer fazer um tour virtual por Paris de Ferrari? clique aqui...Será que a pressa toda era saudade da moça? Ou será que o abraço no final é de despedida, porque ele foi preso depois?
[]'s
terça-feira, 26 de maio de 2009
Hélio: retorno fenomenal
O maior acontecimento esportivo do final de semana foi a vitória do Hélio Castro Neves na lendária prova americana, as 500 milhas de Indianápolis. Pra quem não sabe, Hélio esteve até bem pouco tempo atrás sob julgamento de um processo movido pelo fisco americano e tudo indicava que seria condenado a uma pena que poderia chegar a 35 anos de prisão. O mais excepcional de tudo foi a forma como ele voltou às pistas e conseguiu resultados extraordinários depois de tanto tempo sem poder correr (quase 6 meses de inatividade).
A seqüência dos fatos:
- Início do calvário. No final do ano passado é preso e paga vultuosa quantia de fiança.
- 17/04, Helio e Katiucia (não confundir com aquela que beijou o Bono) foram
inocentados dos seis crimes de sonegação fiscal ao qual eram acusados, maiores
detalhes clique aqui.
- 18/04, volta ao cockpit da Penske nos treinos de Long Beach e consegue a oitava
posição para o Grid de largada.
- 19/04, chega em sétimo na corrida.
- 09/05, faz a pole para as 500 milhas de Indianapólis.
- 24/05, vence pela terceira vez a prova mais importante do calendário americano,
quiçá mundial.
Incrível não?! Uma recuperação que só encontra paralelo no retorno de Ronaldo em 2002, e olhe lá...
Enquanto isso, a equipe dos B’s (Brawn, Button, Barrichelo e Branson) continua imbatível. A bem da verdade só perderam na Malásia porque caiu um pé d’agua. Vitórias a parte, o que acho mais interessante é que a cada prova os analistas elegem um novo desafiante à hegemonia da Brawn. No início da temporada era Willians e Toyota, depois foi a Red Bull, e agora Ferrari. O fato é que um a um os rivais foram caindo e os nomes se alternando no pódio. O maior beneficiado disso é Button, que a esta altura já tem 28 pontos de vantagem para o rival mais próximo, Vettel (Barrichelo não é necessariamente um rival). Nesse ritmo poderemos ter um campeão já definido no GP da Europa ou no GP da Bélgica. Sem querer ser mãe Diná, mas já sendo.
A Red Bull estreou seu novo difusor e o resultado não foi bem o esperado. Vamos ver como se sairá em Instambul. A Mclaren mostrou as deficiências do carro. A Renault só não passa vergonha porque tem Alonso. A Toyota, cadê a Toyota? A Willians reina nos treinos livres, mas quando vale alguma coisa fica pra trás...
Sobre o “retorno” da Ferrari, que aliás foi amplamente explorado pela Globo – não sei se por empolgação do locutor ou pra estimular a audiência, acho que um pouco de cada, o que vocês acham?-, tenho minhas dúvidas. Mônaco é um circuito especial, diferente dos outros, e por isso mesmo não serve de parâmetro. Só vamos de fato poder avaliar o desempenho da Ferrari na Turquia – prova que ela venceu todas as corridas até hoje, 3 com Massa e 1 com Schumaquer - . Na prática eu diria que se a Brawn passear em Istambul os rivais podem jogar a toalha e esquecer o campeonato desse ano.
[]’s
A seqüência dos fatos:
- Início do calvário. No final do ano passado é preso e paga vultuosa quantia de fiança.
- 17/04, Helio e Katiucia (não confundir com aquela que beijou o Bono) foram
inocentados dos seis crimes de sonegação fiscal ao qual eram acusados, maiores
detalhes clique aqui.
- 18/04, volta ao cockpit da Penske nos treinos de Long Beach e consegue a oitava
posição para o Grid de largada.
- 19/04, chega em sétimo na corrida.
- 09/05, faz a pole para as 500 milhas de Indianapólis.
- 24/05, vence pela terceira vez a prova mais importante do calendário americano,
quiçá mundial.
Incrível não?! Uma recuperação que só encontra paralelo no retorno de Ronaldo em 2002, e olhe lá...
Enquanto isso, a equipe dos B’s (Brawn, Button, Barrichelo e Branson) continua imbatível. A bem da verdade só perderam na Malásia porque caiu um pé d’agua. Vitórias a parte, o que acho mais interessante é que a cada prova os analistas elegem um novo desafiante à hegemonia da Brawn. No início da temporada era Willians e Toyota, depois foi a Red Bull, e agora Ferrari. O fato é que um a um os rivais foram caindo e os nomes se alternando no pódio. O maior beneficiado disso é Button, que a esta altura já tem 28 pontos de vantagem para o rival mais próximo, Vettel (Barrichelo não é necessariamente um rival). Nesse ritmo poderemos ter um campeão já definido no GP da Europa ou no GP da Bélgica. Sem querer ser mãe Diná, mas já sendo.
A Red Bull estreou seu novo difusor e o resultado não foi bem o esperado. Vamos ver como se sairá em Instambul. A Mclaren mostrou as deficiências do carro. A Renault só não passa vergonha porque tem Alonso. A Toyota, cadê a Toyota? A Willians reina nos treinos livres, mas quando vale alguma coisa fica pra trás...
Sobre o “retorno” da Ferrari, que aliás foi amplamente explorado pela Globo – não sei se por empolgação do locutor ou pra estimular a audiência, acho que um pouco de cada, o que vocês acham?-, tenho minhas dúvidas. Mônaco é um circuito especial, diferente dos outros, e por isso mesmo não serve de parâmetro. Só vamos de fato poder avaliar o desempenho da Ferrari na Turquia – prova que ela venceu todas as corridas até hoje, 3 com Massa e 1 com Schumaquer - . Na prática eu diria que se a Brawn passear em Istambul os rivais podem jogar a toalha e esquecer o campeonato desse ano.
[]’s
segunda-feira, 25 de maio de 2009
Queries hierárquicas em Oracle
Olá,
Na sexta uma programadora me procurou com dúvidas sobre as cláusulas "start with" e "connect by" no comando SQL. Eis, que hoje ao ler a newsletter de banco de dados do iMasters vi na lista de artigos um que falava sobre Queries hierárquicas. Coinciência, não? Achei a matéria do colega Ruben Badaró interessante, e resolvi post-la aqui. O link é http://imasters.uol.com.br/artigo/12551/oracle/queries_hierarquicas_em_oracle/.
Só acrescentaria ao que o colega escreveu a possibilidade de concatenar o Level com a coluna da tabela, criando um efeito semelhante ao de um sumário. Exemplo:
SELECT lpad('.', 2*Level) NOME Empregados
FROM
EMPREGADO
START WITH NOME='João'
CONNECT BY NOCYCLE PRIOR ID = SUPERVISOR;
Empregados
-------------
João
.......Pedro
.......Ricardo
...............José
[ ]'s
Márcio Almeida.
Na sexta uma programadora me procurou com dúvidas sobre as cláusulas "start with" e "connect by" no comando SQL. Eis, que hoje ao ler a newsletter de banco de dados do iMasters vi na lista de artigos um que falava sobre Queries hierárquicas. Coinciência, não? Achei a matéria do colega Ruben Badaró interessante, e resolvi post-la aqui. O link é http://imasters.uol.com.br/artigo/12551/oracle/queries_hierarquicas_em_oracle/.
Só acrescentaria ao que o colega escreveu a possibilidade de concatenar o Level com a coluna da tabela, criando um efeito semelhante ao de um sumário. Exemplo:
SELECT lpad('.', 2*Level) NOME Empregados
FROM
EMPREGADO
START WITH NOME='João'
CONNECT BY NOCYCLE PRIOR ID = SUPERVISOR;
Empregados
-------------
João
.......Pedro
.......Ricardo
...............José
[ ]'s
Márcio Almeida.
Marcadores:
Connect by,
SQL hierarquicos,
start with
sexta-feira, 15 de maio de 2009
Tabelas externas
O assunto de hoje será sobre um interessante recurso disponível no Oracle 10g: as tabelas externas. Como o nome diz, se trata de uma tabela ou arquivo que não reside no banco de dados. Com esse recurso é possível integrar diferentes bases e aplicações de forma simples e rápida. Usando recursos de paralelismo para geração dos dados, ou fazendo select's com ordenação envolvendo tabelas externas e tabelas nativas, insert's em tabelas da base através de select's em tabelas externas e por ae afora.
Vamos à pratica.
Criaremos um arquivo bancos.csv na pasta d:\oracle\externo, contendo o seguinte:
237,Banco Bradesco
1,Banco do Brasil S.A
356, Santander Brasil
2, Caixa Economica Federal
424, Banco Noroeste
Importante ressaltar que os arquivos devem estar no servidor onde roda o banco de dados, que nesse caso é windows.
O próximo passo é criar uma referência no BD para o diretório onde está o arquivo externo, atraves do comando create directory.
Create or replace directory dir_ext as 'd:\oracle\externo';
Create or replace directory dir_bad as 'd:\oracle\externo\bad';
Create or replace directory dir_log as 'd:\oracle\externo\log';
Supondo que temos um usuário financeiro, iremos conceder grant's de leitura e gravação nesse diretório para ele.
grant read, write on directory dir_ext to financeiro;
grant read, write on directory dir_bad to financeiro;
grant read, write on directory dir_log to financeiro;
Conn financeiro/financeiro;
Agora vamos criar duas tabelas: Bancos_ext e Bancos.
create table bancos
(
Banco_id number(4),
Banco_nome varchar2(30)
);
create table bancos_ext
(
Banco_id number(4),
Banco_nome varchar2(30)
)
organization external
(
type oracle_loader default directory dir_ext access parameters
(
records delimited by newline
badfile dir_bad:'bancos%a_%p.bad'
logfile dir_log:'bancos%a_%p.log'
fields terminated by ','
missing field values are null
(
banco_id,
banco_nome
)
)
Location ('bancos.csv')
)
Parallel
reject limit unlimited;
Vamos analisar o comando:
- Organization external: indica que se trata de uma tabela externa ao BD Oracle.
- Type oracle_loader: a interface usada pra fazer a carga será o oracle loader.
- Default directory dir_ext access parameters: indica o diretorio onde está o arquivo, nesse
caso definido pelo objeto directory dir_ext.
- Acces Parameters: Parametros de localização do arquivo no sistema operacional , badfiles,
logfiles, etc;
- Records delimitd by newline: o banco entenderá que ao encontrar um fim de linha irá
adicionar um novo registro na tabela.
- Badfile dir_Bad: caso não queira gerar badfile substitua por NOBADFILE;
- Logfile dir_log: caso não queira gerar log substitua por NOLOGFILE.
Apos criar a tabelas, habilitamos o paralelismo para dml (operações de insert, delete e update), e em seguida executamos um insert na tabela bancos fazendo leitura na tabela externa.
alter session enable parallel dml;
insert into bancos
(
Banco_id,
Banco_nome
)
Select * From bancos_ext;
Vamos para o próximo caso. Join envolvendo uma tabela externa e uma tabela do DB.
Select * from agencias a, bancos_ext b
where
a.banco_id = b.banco_id
and b.banco_id = 1;
Limitações de uso de tabela externa
Em uma tabela externa não é possível realizar uma operação de DML (insert, delete e update), tampouco criar um índice, embora seja possível fazer uma ordenação.
Não é permitido também criar tabelas externas com campos do tipo clob, blob e long.
Criação de tabela externa usando datapump e paralelismo
Nesse exemplo criaremos uma tabela externa a partir de uma tabela do BD.
Create agencias_ext (banco_id,agencia_id,endereco,numero,bairro,cidade,uf)
Organization external
(type oracle_datapump
default directory dir_ext
location ('agencias.csv'))
parallel 4
as
select banco_id,agencia_id,endereco,numero,bairro,cidade,uf
from agencias;
Podemos ainda gerar os dados em múltiplos diretórios simultaneamente:
create or replace directory dir_ext_1 as 'd:\oracle\externo\dir1';
create or replace directory dir_ext_2 as 'd:\oracle\externo\dir2';
Create agencias_ext (banco_id,agencia_id,endereco,numero,bairro,cidade,uf)
Organization external
(type oracle_datapump
default directory dir_ext
location ('dir_ext_1:agencias.csv','dir_ext_2:agencias.csv'))
parallel 2
as
select banco_id,agencia_id,endereco,numero,bairro,cidade,uf
from agencias;
É isso aí...
[]'s
Vamos à pratica.
Criaremos um arquivo bancos.csv na pasta d:\oracle\externo, contendo o seguinte:
237,Banco Bradesco
1,Banco do Brasil S.A
356, Santander Brasil
2, Caixa Economica Federal
424, Banco Noroeste
Importante ressaltar que os arquivos devem estar no servidor onde roda o banco de dados, que nesse caso é windows.
O próximo passo é criar uma referência no BD para o diretório onde está o arquivo externo, atraves do comando create directory.
Create or replace directory dir_ext as 'd:\oracle\externo';
Create or replace directory dir_bad as 'd:\oracle\externo\bad';
Create or replace directory dir_log as 'd:\oracle\externo\log';
Supondo que temos um usuário financeiro, iremos conceder grant's de leitura e gravação nesse diretório para ele.
grant read, write on directory dir_ext to financeiro;
grant read, write on directory dir_bad to financeiro;
grant read, write on directory dir_log to financeiro;
Conn financeiro/financeiro;
Agora vamos criar duas tabelas: Bancos_ext e Bancos.
create table bancos
(
Banco_id number(4),
Banco_nome varchar2(30)
);
create table bancos_ext
(
Banco_id number(4),
Banco_nome varchar2(30)
)
organization external
(
type oracle_loader default directory dir_ext access parameters
(
records delimited by newline
badfile dir_bad:'bancos%a_%p.bad'
logfile dir_log:'bancos%a_%p.log'
fields terminated by ','
missing field values are null
(
banco_id,
banco_nome
)
)
Location ('bancos.csv')
)
Parallel
reject limit unlimited;
Vamos analisar o comando:
- Organization external: indica que se trata de uma tabela externa ao BD Oracle.
- Type oracle_loader: a interface usada pra fazer a carga será o oracle loader.
- Default directory dir_ext access parameters: indica o diretorio onde está o arquivo, nesse
caso definido pelo objeto directory dir_ext.
- Acces Parameters: Parametros de localização do arquivo no sistema operacional , badfiles,
logfiles, etc;
- Records delimitd by newline: o banco entenderá que ao encontrar um fim de linha irá
adicionar um novo registro na tabela.
- Badfile dir_Bad: caso não queira gerar badfile substitua por NOBADFILE;
- Logfile dir_log: caso não queira gerar log substitua por NOLOGFILE.
Apos criar a tabelas, habilitamos o paralelismo para dml (operações de insert, delete e update), e em seguida executamos um insert na tabela bancos fazendo leitura na tabela externa.
alter session enable parallel dml;
insert into bancos
(
Banco_id,
Banco_nome
)
Select * From bancos_ext;
Vamos para o próximo caso. Join envolvendo uma tabela externa e uma tabela do DB.
Select * from agencias a, bancos_ext b
where
a.banco_id = b.banco_id
and b.banco_id = 1;
Limitações de uso de tabela externa
Em uma tabela externa não é possível realizar uma operação de DML (insert, delete e update), tampouco criar um índice, embora seja possível fazer uma ordenação.
Não é permitido também criar tabelas externas com campos do tipo clob, blob e long.
Criação de tabela externa usando datapump e paralelismo
Nesse exemplo criaremos uma tabela externa a partir de uma tabela do BD.
Create agencias_ext (banco_id,agencia_id,endereco,numero,bairro,cidade,uf)
Organization external
(type oracle_datapump
default directory dir_ext
location ('agencias.csv'))
parallel 4
as
select banco_id,agencia_id,endereco,numero,bairro,cidade,uf
from agencias;
Podemos ainda gerar os dados em múltiplos diretórios simultaneamente:
create or replace directory dir_ext_1 as 'd:\oracle\externo\dir1';
create or replace directory dir_ext_2 as 'd:\oracle\externo\dir2';
Create agencias_ext (banco_id,agencia_id,endereco,numero,bairro,cidade,uf)
Organization external
(type oracle_datapump
default directory dir_ext
location ('dir_ext_1:agencias.csv','dir_ext_2:agencias.csv'))
parallel 2
as
select banco_id,agencia_id,endereco,numero,bairro,cidade,uf
from agencias;
É isso aí...
[]'s
Marcadores:
external table,
oracle_datapump,
oracle_loader,
organization external,
tabelas externas
Instalação de Oracle 9i em linux 64
Algum dia, meu caro leitor, você deve ter passado por um problema semelhante. Estou falando da instalação do Oracle 9i em linux RedHat 4.7 64 bits parar nos 17% e dalí não sair mais.
Nas notas de instalação 9i no Metalink não tem referência a esse problema. Após pesquisar em alguns fóruns achei um post em que o autor passava pelo mesmo problema, e um dos blogueiros tinha a solução.
Antes de rodar o installer do oracle execute o seguinte comando no linux:
$ export LD_ASSUME_KERNEL=2.4.19
[]'s
Marcio Almeida
Nas notas de instalação 9i no Metalink não tem referência a esse problema. Após pesquisar em alguns fóruns achei um post em que o autor passava pelo mesmo problema, e um dos blogueiros tinha a solução.
Antes de rodar o installer do oracle execute o seguinte comando no linux:
$ export LD_ASSUME_KERNEL=2.4.19
[]'s
Marcio Almeida
quinta-feira, 14 de maio de 2009
2º piloto de novo?
Último final de semana teve grande prêmio na Espanha, circuito da Catalunha, e mais uma vez deu Jenson Button, 4ª vitória esse ano. Barrichelo fez boa prova e chegou em segundo lugar por méritos - o primeiro pódio caiu no colo do brasileiro, apos Kubica e Vettel se encontrarem numa curva, no GP da Australia -.
O que deveria ser um motivo de comemoração acabou virando polêmica. De cabeça quente, deu declarações em tom ameaçador, e mais uma vez 'jogou pra torcida' se dizendo um injustiçado, e ameaçando se aposentar. Mesmo filme dos tempos de Ferrari.
Tentando entender o que ouve, analisei os tempos de volta da corrida. No terceiro trecho da prova (entre as voltas 32 e 49) Button ampliou a vantagem de 8 para 12.5 segundos - detalhe: mesmo pneu e mais ou menos a mesma quantidade de combustivel -. Após a última parada de ambos (volta 49 pro Button e 50 pro Rubens), Jenson voltou com 7 segundos de vantagem e partiu pra vencer a prova. Rubens teve 18 voltas pra tirar meros 4 segundos e voltar na frente. Mas como isso não ocorreu, ao contrário, deixou o Button abrir vantagem e perdeu a prova.
O piloto e seu engenheiro são livres para mudar a estratégia a qualquer momento da prova, conforme a leitura que faz da situação que se encontra na corrida. Foi o que o Jensou e seu engenheiro fizeram, mérito para eles. Rubens foi avisado por seu engenheiro que precisava ser rápido, muito rápido, mas não conseguiu. Não vejo sacanagem nisso.
Como disse o Schumacher em Florianópolis no desafio de kart: "Rubens reclama ganhando ou perdendo".
[]'s
Márcio Almeida
O que deveria ser um motivo de comemoração acabou virando polêmica. De cabeça quente, deu declarações em tom ameaçador, e mais uma vez 'jogou pra torcida' se dizendo um injustiçado, e ameaçando se aposentar. Mesmo filme dos tempos de Ferrari.
Tentando entender o que ouve, analisei os tempos de volta da corrida. No terceiro trecho da prova (entre as voltas 32 e 49) Button ampliou a vantagem de 8 para 12.5 segundos - detalhe: mesmo pneu e mais ou menos a mesma quantidade de combustivel -. Após a última parada de ambos (volta 49 pro Button e 50 pro Rubens), Jenson voltou com 7 segundos de vantagem e partiu pra vencer a prova. Rubens teve 18 voltas pra tirar meros 4 segundos e voltar na frente. Mas como isso não ocorreu, ao contrário, deixou o Button abrir vantagem e perdeu a prova.
O piloto e seu engenheiro são livres para mudar a estratégia a qualquer momento da prova, conforme a leitura que faz da situação que se encontra na corrida. Foi o que o Jensou e seu engenheiro fizeram, mérito para eles. Rubens foi avisado por seu engenheiro que precisava ser rápido, muito rápido, mas não conseguiu. Não vejo sacanagem nisso.
Como disse o Schumacher em Florianópolis no desafio de kart: "Rubens reclama ganhando ou perdendo".
[]'s
Márcio Almeida
Marcadores:
Brawn GP,
GP da Espanha,
Rubinho,
segundo piloto
Undo tablespace corrompida
A dias atras recebi uma ligação de um profissional desesperado porque o DB travou durante a madrugada e mesmo após 'startar' novamente continuava indisponível para o usuário.
A primeira coisa que pensei foi como e onde ele obteve meu telefone, mas dada a emergência da situação isso se tornou um problema menor. Deixando os pormenores de lado, vamos direto ao ponto:
- Entrei em conexão no servidor da empresa e acessei o BD. A principio a base estava disponível. Fiz alguns testes, todos bem suscedidos e portanto, o problema não era tão desesperador quanto parecia.
Peguei os log's de erros gerados pela base e vi que se trava de erro ao acessar a undo tablespace. Chequei os status das tablespaces, e estavam todas on-line, em seguida verifiquei os status dos segmentos de rollback e bingo, TODOS corrompidos:
SQL> select segment_name, status from dba_rollback_segs
where tablespace_name='UNDOTBS1'
SEGMENT_NAME STATUS
------------------------------ -------------------
_SYSSMU1$ NEED RECOVERY
Solução:
- Criar uma nova Undo tablespace:
SQL> Create undo tablespace undotbs1 datafile '/u02/oradata/undotbs2.dbf' size 2000m
reuse;
- Alterar a undo tablespace padrão do banco:
SQL> Alter system set undo_management='undotbs2' scope=spfile;
- Tornar offline o segmento de rollback corrompido:
SQL> Alter system set "_offline_rollback_segments"="_SYSSMU1$" scope=spfile;
- Restartar o banco e apagar o segmento corrompido:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> Startup
SQL> startupORACLE instance started.
Total System Global Area 353863224 bytes
Fixed Size 742968 bytes
Variable Size 285212672 bytes
Database Buffers 67108864 bytes
Redo Buffers 798720 bytes
Database mounted.
Database opened.
SQL> Drop rollback segment "_SYSSMU1$";
- Apagar a undo corrompida:
SQL> Drop tablespace undotbs1 including contents and datafiles;
Pronto, feito isso a base está disponivel novamente para DML.
[]'s
Marcio Almeida
A primeira coisa que pensei foi como e onde ele obteve meu telefone, mas dada a emergência da situação isso se tornou um problema menor. Deixando os pormenores de lado, vamos direto ao ponto:
- Entrei em conexão no servidor da empresa e acessei o BD. A principio a base estava disponível. Fiz alguns testes, todos bem suscedidos e portanto, o problema não era tão desesperador quanto parecia.
Peguei os log's de erros gerados pela base e vi que se trava de erro ao acessar a undo tablespace. Chequei os status das tablespaces, e estavam todas on-line, em seguida verifiquei os status dos segmentos de rollback e bingo, TODOS corrompidos:
SQL> select segment_name, status from dba_rollback_segs
where tablespace_name='UNDOTBS1'
SEGMENT_NAME STATUS
------------------------------ -------------------
_SYSSMU1$ NEED RECOVERY
Solução:
- Criar uma nova Undo tablespace:
SQL> Create undo tablespace undotbs1 datafile '/u02/oradata/undotbs2.dbf' size 2000m
reuse;
- Alterar a undo tablespace padrão do banco:
SQL> Alter system set undo_management='undotbs2' scope=spfile;
- Tornar offline o segmento de rollback corrompido:
SQL> Alter system set "_offline_rollback_segments"="_SYSSMU1$" scope=spfile;
- Restartar o banco e apagar o segmento corrompido:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> Startup
SQL> startupORACLE instance started.
Total System Global Area 353863224 bytes
Fixed Size 742968 bytes
Variable Size 285212672 bytes
Database Buffers 67108864 bytes
Redo Buffers 798720 bytes
Database mounted.
Database opened.
SQL> Drop rollback segment "_SYSSMU1$";
- Apagar a undo corrompida:
SQL> Drop tablespace undotbs1 including contents and datafiles;
Pronto, feito isso a base está disponivel novamente para DML.
[]'s
Marcio Almeida
Marcadores:
CORROMPIDA,
ORA-00111,
ORA-00600,
UNDO,
UNDO CORROMPIDA
Apresentação
Ola! Estou iniciando hoje o meu blog, e penso ser pertinente falar um pouco dos objetivos, e dos temas que devem nortear os post's. Como disse de forma suscinta na apresentação, sou analista de sistemas de formação e espealista em banco de dados Oracle. Já faz um tempo que a idéia de escrever sobre minhas experiências diárias e também debater sobre temas atuais ligados a minha profissão vem tomando forma. O momento chegou e o espaço foi criado.
Também acho importante salientar que este é um blog democrático e transparente, e nele pretendo abrir espaço pra divulgar experiências também dos frequentadores.
Outro assunto sobre o qual pretendo escrever será automobilismo, paixão deste blogueiro iniciante, inclusive o verde escolhido é em homenagem à Brawn GP, melhor coisa que aconteceu na F1 nos últimos tempos. E o nome escolhido é uma forma de juntar os dois temos que me motivam, e também uma alusão à formula 1 dos bancos - sem corporativismo -, o Oracle. Por hora é isso, espero contar com ajuda dos amigos blogueiros para que este espaço cresca e atinja os objetivos que me levaram a cria-lo.
[ ]'s
Márcio Almeida
Também acho importante salientar que este é um blog democrático e transparente, e nele pretendo abrir espaço pra divulgar experiências também dos frequentadores.
Outro assunto sobre o qual pretendo escrever será automobilismo, paixão deste blogueiro iniciante, inclusive o verde escolhido é em homenagem à Brawn GP, melhor coisa que aconteceu na F1 nos últimos tempos. E o nome escolhido é uma forma de juntar os dois temos que me motivam, e também uma alusão à formula 1 dos bancos - sem corporativismo -, o Oracle. Por hora é isso, espero contar com ajuda dos amigos blogueiros para que este espaço cresca e atinja os objetivos que me levaram a cria-lo.
[ ]'s
Márcio Almeida
Assinar:
Comentários (Atom)