<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TI Especialistas &#187; Desenvolvimento</title>
	<atom:link href="http://www.tiespecialistas.com.br/category/desenvolvimento/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tiespecialistas.com.br</link>
	<description></description>
	<lastBuildDate>Tue, 22 May 2012 14:51:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>O tempo é relativo</title>
		<link>http://www.tiespecialistas.com.br/2012/05/o-tempo-e-relativo/</link>
		<comments>http://www.tiespecialistas.com.br/2012/05/o-tempo-e-relativo/#comments</comments>
		<pubDate>Wed, 09 May 2012 19:00:33 +0000</pubDate>
		<dc:creator>Francisco Benedicto de Cerqueira Junior</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Gerência de Projetos]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[prazo]]></category>
		<category><![CDATA[projeto]]></category>
		<category><![CDATA[tempo]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=17023</guid>
		<description><![CDATA[Acho que quando uma pessoa se torna um cliente de consultoria de desenvolvimento de software a percepção de tempo dela muda brutalmente. Na verdade eles passam a viver num universo paralelo. No universo A, onde os desenvolvedores criam sistemas, o tempo passa devagar e no universo B onde fica a empresa do cliente, o tempo passa rápido - na proporção de 2/1 ou mais se comparado com o tranqüilo universo A. Esta é a minha conclusão depois de anos trabalhando como consultor.

Por exemplo: Submeta para aprovação do cliente um cronograma, projeto, orçamento de horas ou seja lá qual for o nome que você dá para aquele documento com prazos para o desenvolvimento de um sistema. Clientes em universos paralelos podem questionar você que 16 horas é muito tempo para a criação de uma feature qualquer, ainda que ela seja complexa. Diz que é possível fazer em 8 horas tranquilamente. Vejam, 16/8, é a tal proporção 2/1 que citei. Clientes em universos paralelos mais velozes podem sugerir que o tempo caia de 16 horas para 4 horas, afinal é só uma tela. Ou seja, este universo tem uma proporção de tempo de 4/1 se comparado com o universo normal, onde nós desenvolvedores mortais vivemos. É um universo Speed Racer.]]></description>
			<content:encoded><![CDATA[<p>Acho que quando uma pessoa se torna um cliente de consultoria de desenvolvimento de software a percepção de tempo dela muda brutalmente. Na verdade eles passam a viver num universo paralelo. No universo A, onde os desenvolvedores criam sistemas, o tempo passa devagar e no universo B onde fica a empresa do cliente, o tempo passa rápido &#8211; na proporção de 2/1 ou mais se comparado com o tranqüilo universo A. Esta é a minha conclusão depois de anos trabalhando como consultor.</p>
<p>Por exemplo: Submeta para aprovação do cliente um cronograma, projeto, orçamento de horas ou seja lá qual for o nome que você dá para aquele documento com prazos para o desenvolvimento de um sistema. Clientes em universos paralelos podem questionar você que 16 horas é muito tempo para a criação de uma feature qualquer, ainda que ela seja complexa. Diz que é possível fazer em 8 horas tranquilamente. Vejam, 16/8, é a tal proporção 2/1 que citei. Clientes em universos paralelos mais velozes podem sugerir que o tempo caia de 16 horas para 4 horas, afinal é só uma tela. Ou seja, este universo tem uma proporção de tempo de 4/1 se comparado com o universo normal, onde nós desenvolvedores mortais vivemos. É um universo Speed Racer.</p>
<p>Outros clientes vivem em universos com peculiaridades complexas na estrutura temporal. Nós, desenvolvedores mortais temos freqüentemente dificuldade em compreender tal lógica que desafia todos os conceitos da física. Por exemplo, certa vez estava trabalhando no tunning de um sistema que ajudei a desenvolver. O sistema permitia que uma certa atividade pudesse ser feita em lotes de itens cujo tipo não vem ao caso aqui. Então o usuário preparou uma planilha com os tempos atuais da atividade quando um item, quinze itens ou trinta itens eram submetidos. Vamos dizer que o resultado foi 1x, 15x e 30x. Obviamente todos insatisfatórios no rápido e misterioso universo em que eles vivem. Ao lado desta tabela, havia outra com os tempos esperados. Eles queriam que um item levasse 0,5x tempo. Até ai tudo bem. O problema era que quinze itens deveriam levar não 7,5x como esperado, mas sim 5x. E trinta itens deveriam levar 8x e não 15x. Ou seja, quanto mais itens processados, menor era o tempo individual de cada um, eles tendiam a zero. Se conseguísse atender o cliente, talvez se eu processasse milhões de itens eu conseguiria fazer o tempo correr ao contrário. Não fiz este teste porque eu poderia abrir um buraco negro ou alguma coisa assim e hoje você não estaria lendo isso.</p>
<p>Há ainda universos onde parar o tempo é algo corriqueiro. Suponha que seu cliente tenha aprovado seu cronograma e depois se lembrou de outra feature que ele quer no aplicativo. Ele não aceita mudar o prazo final, não aceita pagar horas extras para o desenvolvimento e não aceita pagar por mais recursos no projeto. Ele insistirá que dá para encaixar a tal feature no projeto sem comprometer o bolso dele e o prazo final. O que me leva a crer que no universo onde ele vive é possível parar o tempo, desenvolver a feature e depois soltar o tempo para que ele corra novamente.</p>
<p>Clientes são pessoas com estas e outras incríveis capacidades físicas que me admiram a cada contato e projeto novo. Há sempre algo surpreendente e desafiador por trás de cada solicitação em um projeto.</p>
Number of View :710]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/05/o-tempo-e-relativo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resolvendo problemas com o comando Duplicate Database</title>
		<link>http://www.tiespecialistas.com.br/2012/05/resolvendo-problemas-com-o-comando-duplicate-database/</link>
		<comments>http://www.tiespecialistas.com.br/2012/05/resolvendo-problemas-com-o-comando-duplicate-database/#comments</comments>
		<pubDate>Tue, 08 May 2012 17:00:21 +0000</pubDate>
		<dc:creator>Alexandre Luis Pires</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[Duplicate Database]]></category>
		<category><![CDATA[olacle]]></category>
		<category><![CDATA[problemas]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16774</guid>
		<description><![CDATA[PASSO 2
após o comando deve-se ir até a pasta udump abaixo do $ORACLE_BASE/admin/banco1/udump e fazer um rename desse arquivo para identificálo como controlfile atual.

Mv spcap1_ora_626734.trc controlfile03_01_2011.txt

PASSO 3

voltar para o home com o comando “/”

setar as variaveis do ASM com o comando “. .ASM”

#PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
export PATH
if [ -s "$MAIL" ]
# This is at Shell startup. In normal then echo "$MAILMSG"
# operation, the Shell checks fi
# periodically.
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then . ~/.bashrc fi
# Oracle specific environment # .profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then . ~/.bashrc fi
# Oracle specific environment
ORACLE_BASE=/oracle/product/app
ORACLE_HOME=/oracle/product/asm
ORACLE_ASM_HOME=/oracle/product/asm
ORACLE_CRS_HOME=/oracle/product/crs
ORACLE_SID=+ASM1 #
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export
TNS_ADMIN=$ORACLE_HOME/network/admin
ORACLE_NLS33=$ORACLE_HOME/nls/data
EDITOR=vi # User specific environment and startup programs
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_RAC_HOME/bin:$ORACLE_CRS_HOME/bin:$ORACLE_HOME/OPatch:/sbin
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_RAC_HOME ORACLE_CRS_HOME ORACLE_ASM_HOME LD_LIBRARY_PATH ORACLE_NLS33 EDITOR
export TEMP=/tmp export TMP=/tmp export TMPDIR=/tmp
umask 022
export PS1="$ORACLE_SID "'$PWD'" &#38;gt; "
echo " " echo " Hostname : `hostname`" echo " ORACLE_SID : $ORACLE_SID " echo " ORACLE_HOME : $ORACLE_HOME " echo " USER : `whoami` " echo " " echo " " -------
entrar no ASM com o comando “AMSCMD”
ir para a pasta de datafiles com o comando “cd +dg1/dbale/datafile”
listar todos as datafiles com o comando “ls -lart”
copiar os nomes selecionando todos e copiando para um editor de texto qualquer]]></description>
			<content:encoded><![CDATA[<p>Procedimento a ser executado no caso de falha ao criar o dataguard fisico pelo comando duplicate do RMAN, através do script restoreDGUARD.sh descrito abaixo:</p>
<pre class="brush: sql; gutter: true; first-line: 1; highlight: []; html-script: false">PATH=$PATH:$HOME/bin
export PATH unset USERNAME
# Definicoes Para o Usuario Oracle
TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle/product/app; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/10R2/db; export ORACLE_HOME ORACLE_SID=BANCO1; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
DATABKP=`date +%Y%m%d%H%M%S` echo &quot;$DATABKP&quot; &amp;amp;gt; /tmp/data.log rman log=/tmp/logbkpDGUARD.${DATABKP}.log &amp;amp;lt;&amp;amp;lt; EOF connect target &amp;lt;a href=&quot;mailto:sys@bdorigem&quot;&amp;gt;sys@bdorigem&amp;lt;/a&amp;gt;
connect auxiliary / connect catalog &amp;lt;a href=&quot;mailto:spcrman@rman&quot;&amp;gt;spcrman@rman&amp;lt;/a&amp;gt;
run { ALLOCATE auxiliary CHANNEL c1 DEVICE TYPE DISK FORMAT &#039;/DADOS/FULL/rman/%U&#039;; ALLOCATE auxiliary CHANNEL c2 DEVICE TYPE DISK FORMAT &#039;/DADOS/FULL/rman/%U&#039;; ALLOCATE auxiliary CHANNEL c3 DEVICE TYPE DISK FORMAT &#039;/DADOS/FULL/rman/%U&#039;; ALLOCATE auxiliary CHANNEL c4 DEVICE TYPE DISK FORMAT &#039;/DADOS/FULL/rman/%U&#039;; ALLOCATE auxiliary CHANNEL c5 DEVICE TYPE DISK FORMAT &#039;/DADOS/FULL/rman/%U&#039;; ALLOCATE auxiliary CHANNEL c6 DEVICE TYPE DISK FORMAT &#039;/DADOS/FULL/rman/%U&#039;; duplicate target database for standby; release channel c1; release channel c2; release channel c3; release channel c4; release channel c5; release channel c6; } EOF</pre>
<p>Nesse caso até a parte o restore rodou sme problmas, porém ao tentar rodar o script interno de final do duplicate aparece a mensagem de erro abaixo:</p>
<pre class="brush: sql; gutter: true; first-line: 1; highlight: []; html-script: false">Finished restore at 30-DEC-10
contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script
released channel: c1
released channel: c2
released channel: c3
released channel: c4
released channel: c5
released channel: c6
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 12/30/2010 18:40:06
RMAN-03015: error occurred in stored script Memory Script
RMAN-06004: ORACLE error from recovery catalog database: ORA-03135: connection lost contact
ORACLE error from recovery catalog database: ORA-03114: not connected to ORACLE</pre>
<p>Para solucionar esse problema devemos seguir os 13 passos a seguir na ordem crescente:</p>
<p><strong>PASSO 1.</strong><br />
Após o erro,o banco estará montado, deveremos então gerar um script do controlfile para ser editado nos passos posteriores através do seguinte comando:</p>
<pre class="brush: sql; gutter: true; first-line: 1; highlight: []; html-script: false">alter database backup controlfile to trace;</pre>
<p><strong>PASSO 2</strong><br />
após o comando deve-se ir até a pasta udump abaixo do $ORACLE_BASE/admin/banco1/udump e fazer um rename desse arquivo para identificálo como controlfile atual.</p>
<p>Mv spcap1_ora_626734.trc controlfile03_01_2011.txt</p>
<p><strong>PASSO 3</strong></p>
<p>voltar para o home com o comando “/”</p>
<p>setar as variaveis do ASM com o comando “. .ASM”</p>
<pre class="brush: sql; gutter: true; first-line: 1; highlight: []; html-script: false">#PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
export PATH
if [ -s &quot;$MAIL&quot; ]
# This is at Shell startup. In normal then echo &quot;$MAILMSG&quot;
# operation, the Shell checks fi
# periodically.
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then . ~/.bashrc fi
# Oracle specific environment # .profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then . ~/.bashrc fi
# Oracle specific environment
ORACLE_BASE=/oracle/product/app
ORACLE_HOME=/oracle/product/asm
ORACLE_ASM_HOME=/oracle/product/asm
ORACLE_CRS_HOME=/oracle/product/crs
ORACLE_SID=+ASM1 #
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export
TNS_ADMIN=$ORACLE_HOME/network/admin
ORACLE_NLS33=$ORACLE_HOME/nls/data
EDITOR=vi # User specific environment and startup programs
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_RAC_HOME/bin:$ORACLE_CRS_HOME/bin:$ORACLE_HOME/OPatch:/sbin
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_RAC_HOME ORACLE_CRS_HOME ORACLE_ASM_HOME LD_LIBRARY_PATH ORACLE_NLS33 EDITOR
export TEMP=/tmp export TMP=/tmp export TMPDIR=/tmp
umask 022
export PS1=&quot;$ORACLE_SID &quot;&#039;$PWD&#039;&quot; &amp;amp;gt; &quot;
echo &quot; &quot; echo &quot; Hostname : `hostname`&quot; echo &quot; ORACLE_SID : $ORACLE_SID &quot; echo &quot; ORACLE_HOME : $ORACLE_HOME &quot; echo &quot; USER : `whoami` &quot; echo &quot; &quot; echo &quot; &quot; -------</pre>
<p>entrar no ASM com o comando “AMSCMD”<br />
ir para a pasta de datafiles com o comando “cd +dg1/dbale/datafile”<br />
listar todos as datafiles com o comando “ls -lart”<br />
copiar os nomes selecionando todos e copiando para um editor de texto qualquer</p>
<p><strong>PASSO 4</strong></p>
<p>Editar o controlfile gerado no PASSO 1 e substituir os nomes do datafiles pelos nomes e caminho copiados do ASM.</p>
<p><strong>PASSO 5</strong></p>
<p>Se o banco for Cluster (que é o nosso caso) inibir todos os parametros de cluster_database*** do init.</p>
<p><strong>PASSO 6</strong></p>
<p>Tirar o banco do ar com o comando “shutdown immediate;”<br />
Subir o banco em nomount com o comando “startup nomount;”<br />
Recriar o banco usando o script de controlfile editado, já apontando para os novos caminhos.</p>
<p><strong>PASSO 7</strong></p>
<p>Criar scripts de rename dos datafiles e catalog do RMAN para serem usando nos passos posteriores atraves do script abaixo:</p>
<pre class="brush: sql; gutter: true; first-line: 1; highlight: []; html-script: false">spool /oracle/renamefiles.txt select &#039;SET NEWNAME FOR DATAFILE &#039;||FILE#||&#039; to &#039;||&#039;&#039;&#039;&#039;||name||&#039;&#039;&#039;&#039;||&#039;;&#039; from v$datafile; spool off
--spool /oracle/renamelogs.txt --select &#039;SET NEWNAME FOR LOGFILE &#039;||group#||&#039; to &#039;||&#039;&#039;&#039;&#039;||member||&#039;&#039;&#039;&#039;||&#039;;&#039; --from v$logfile ; --where IS_RECOVERY_DEST_FILE=&#039;YES&#039;; --spool off
--spool /oracle/renametmpfiles.txt --select &#039;SET NEWNAME FOR TEMPFILE &#039;||FILE#||&#039; to &#039;||&#039;&#039;&#039;&#039;||name||&#039;&#039;&#039;&#039;||&#039;;&#039; --from v$tempfile; --spool off
spool /oracle/catalogfiles.txt select &#039;catalog datafilecopy &#039;||&#039;&#039;&#039;&#039;||name||&#039;&#039;&#039;&#039;||&#039;;&#039; from v$datafile; spool off</pre>
<p><strong>PASSO 8</strong></p>
<p>Tirar o banco do ar com o comando “shutdown immediate;”<br />
Subir o banco em nomount com o comando “startup nomount;”<br />
entrar no RMAN com o comando “rman target / ”<br />
procurar o controlfile de standby gerado logo depois do backup restaurado e fazer o restore usando o seguinte comando :</p>
<pre> restore controlfile from &#039;/caminho/stbcontrolfile20101229020000.ctf&#039;”</pre>
<p><strong>PASSO 9</strong></p>
<p>Rodar o script que cataloga os datafiles gerado no passo 7 com o seguinte comando dentro do rman:</p>
<pre>“@/oracle/catalogfiles.txt</pre>
<p>OBS: Esse passo é o mais demorado e tem duração de mais de 2 horas. PASSO 10 Rodar o script que renomeia os datafiles gerado também no passo 7 com o seguinte comando dentro do rman: “@/oracle/renamefiles.txt” PASSO 11</p>
<p>Ainda dentro do RMAN, catalogar todos os archives da area atraves do comando catalog abaixo que no meu caso está apontando para o diretório &#8220;/DADOS/archives&#8221;:</p>
<p>“catalog start with &#8216;/DADOS/archives;”</p>
<p><strong>PASSO 12</strong></p>
<p>criar o script de recover abaixo deve rodar como nohup:</p>
<pre class="brush: sql; gutter: true; first-line: 1; highlight: []; html-script: false">PATH=$PATH:$HOME/bin
export PATH unset USERNAME

# Definicoes Para o Usuario Oracle
TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle/product/app;
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/10R2/db;
export ORACLE_HOME
ORACLE_SID=bancos1;
export ORACLE_SID
ORACLE_TERM=xterm;
export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH;
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH
DATABKP=`date +%Y%m%d%H%M%S` echo &quot;$DATABKP&quot; &amp;amp;gt; /tmp/data.log rman log=/tmp/reclogbkpDGUARD.${DATABKP}.log &amp;gt;&amp;gt; EOF
connect target /
run {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT &#039;/DADOS/archives/&#039;;
ALLOCATE CHANNEL c2 DEVICE TYPE DISK FORMAT &#039;/DADOS/archives/&#039;;
ALLOCATE CHANNEL c3 DEVICE TYPE DISK FORMAT &#039;/DADOS/archives/&#039;;
ALLOCATE CHANNEL c4 DEVICE TYPE DISK FORMAT &#039;/DADOS/archives/&#039;;
ALLOCATE CHANNEL c5 DEVICE TYPE DISK FORMAT &#039;/DADOS/archives/&#039;;
ALLOCATE CHANNEL c6 DEVICE TYPE DISK FORMAT &#039;/DADOS/archives/&#039;;
recover database;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
} EOF
nohup scriptacima.sh</pre>
<p>Obs: Acompanhar o log no diretorio /tmp</p>
<p><strong>PASSO 13</strong><br />
Depois de aplicar todos os archives existentes e catalogados pelo rman, iniciar o processo de recover automatico pelo dataguard através do sqlplus com o seguinte comando:</p>
<pre class="brush: sql; gutter: true; first-line: 1; highlight: []; html-script: false">sqlplus / as sysdba
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE PARALLEL 4 disconnect from session;</pre>
Number of View :431]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/05/resolvendo-problemas-com-o-comando-duplicate-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Porque métodos ágeis geram valor rapidamente?</title>
		<link>http://www.tiespecialistas.com.br/2012/05/porque-metodos-ageis-geram-valor-rapidamente/</link>
		<comments>http://www.tiespecialistas.com.br/2012/05/porque-metodos-ageis-geram-valor-rapidamente/#comments</comments>
		<pubDate>Fri, 04 May 2012 17:00:24 +0000</pubDate>
		<dc:creator>Leandro Garcia</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Gerência de Projetos]]></category>
		<category><![CDATA[Gestão de Conhecimento]]></category>
		<category><![CDATA[Gestão de Processos]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[desenvolvimento ágil]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[métodos ágeis]]></category>
		<category><![CDATA[rapidez]]></category>
		<category><![CDATA[SCRUM]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16840</guid>
		<description><![CDATA[Eu acredito que são vários os motivos que levam os métodos ágeis a gerarem valor em curto espaço de tempo, mas existem três que se sobressaem:

1. Em projetos ágeis não é necessário fazer uma grande entrega no final do projeto. É possível e desejável que se faça pequenas entregas com a possibilidade do cliente iniciar o uso imediato do que já foi entregue. Isso por si só já leva a uma maximização do ROI dado que o projeto já pode ser usado enquanto novas funcionalidades são criadas. Cada nova entrega pode trazer um pouco de retorno.

2. Como podemos e devemos fazer pequenas entregas, em projetos em que os métodos ágeis são usados, a tendência natural é ignorar os itens que não geram valor. Estudos mostram que somente 20% das funcionalidades são usadas sempre ou frequentemente e 64% das funcionalidades são desperdício.]]></description>
			<content:encoded><![CDATA[<p>Eu acredito que são vários os motivos que levam os métodos ágeis a gerarem valor em curto espaço de tempo, mas existem três que se sobressaem:</p>
<p>1. Em projetos ágeis não é necessário fazer uma grande entrega no final do projeto. É possível e desejável que se faça pequenas entregas com a possibilidade do cliente iniciar o uso imediato do que já foi entregue. Isso por si só já leva a uma maximização do ROI dado que o projeto já pode ser usado enquanto novas funcionalidades são criadas. Cada nova entrega pode trazer um pouco de retorno.</p>
<p style="text-align: center;"><a href="http://www.tiespecialistas.com.br/2012/05/porque-metodos-ageis-geram-valor-rapidamente/roi2/" rel="attachment wp-att-16841"><img class="aligncenter  wp-image-16841" src="http://imagens.tiespecialistas.com.br/2012/05/roi2-300x158.jpg" alt="" width="526" height="278" /></a></p>
<p>2. Como podemos e devemos fazer pequenas entregas, em projetos em que os métodos ágeis são usados, a tendência natural é ignorar os itens que não geram valor. Estudos mostram que somente 20% das funcionalidades são usadas sempre ou frequentemente e 64% das funcionalidades são desperdício.</p>
<p><a href="http://www.tiespecialistas.com.br/2012/05/porque-metodos-ageis-geram-valor-rapidamente/funcionalidades/" rel="attachment wp-att-16842"><img class="aligncenter size-full wp-image-16842" src="http://imagens.tiespecialistas.com.br/2012/05/funcionalidades.png" alt="" width="499" height="296" /></a></p>
<p>Isto tudo também faz com que o projeto tenda a ser finalizado antes, liberando os recursos para outras demandas.</p>
<p>3. Em  projetos tradicionais, a mudança de escopo não é bem-vinda, mas em métodos ágeis, as mudanças são bem-vindas, principalmente, quando elas levam a uma melhor adaptação do projeto às necessidades de negócio com definição de prioridades entre elas.</p>
<p>Será que não podemos fazer várias pequenas entregas no lugar de uma grande entrega?</p>
<p>Será que o escopo não pode ser alterado?</p>
<p>Será que as funcionalidades não podem ser reordenadas?</p>
<p>Métodos ágeis representam sim e muito uma quebra de vários paradigmas em relação a forma de como os projetos são conduzidos tradicionalmente e  isso pode ser muito bom se bem utilizado.</p>
Number of View :834]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/05/porque-metodos-ageis-geram-valor-rapidamente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O Desafio da &#8220;Localização Brasil&#8221; nos ERPs</title>
		<link>http://www.tiespecialistas.com.br/2012/05/o-desafio-da-localizacao-brasil-nos-erps/</link>
		<comments>http://www.tiespecialistas.com.br/2012/05/o-desafio-da-localizacao-brasil-nos-erps/#comments</comments>
		<pubDate>Thu, 03 May 2012 11:22:14 +0000</pubDate>
		<dc:creator>Marcio Roberto da Silva Gomes</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Mercado]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[Brasil]]></category>
		<category><![CDATA[brazil]]></category>
		<category><![CDATA[características]]></category>
		<category><![CDATA[Enterprise Resource Planning]]></category>
		<category><![CDATA[erp]]></category>
		<category><![CDATA[especificidades]]></category>
		<category><![CDATA[localização]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16816</guid>
		<description><![CDATA[O ‘boom’ dos sistemas integrados de gestão empresarial, mais conhecidos pela sigla em inglês ERP (Enterprise Resource Planning) ocorreu no começo da década passada. O mercado continua aberto a novos produtos e novas implantações, em um ritmo hoje mais lento e exigente do que naquela época. Mas, algo não mudou: o desafio da adequação à chamada ‘Localização Brasil’.

Os grandes ERPs de mercado são globalizados como tudo atualmente, mas não há uma localização tão complexa como a feita para o nosso país. Vivemos em um verdadeiro emaranhado de atos legais. Em números divulgados pelo Banco Mundial em 2008, as empresas brasileiras gastavam em média 2600 horas por mês para atender as obrigações acessórias da legislação. Sem dúvida, esse número aumentou consideravelmente de lá para cá. E, para o correto cumprimento dessas obrigações, a base de dados está dentro dos ERPs. Sendo assim, temos de nos adaptar – dentro de funcionalidades da chamada localização – a um número insano de atos legais federais, estaduais, municipais, áreas incentivadas, tributos retidos, operações de substituição tributária e outros.]]></description>
			<content:encoded><![CDATA[<p>O ‘boom’ dos sistemas integrados de gestão empresarial, mais conhecidos pela sigla em inglês ERP (<em>Enterprise Resource Planning</em>) ocorreu no começo da década passada. O mercado continua aberto a novos produtos e novas implantações, em um ritmo hoje mais lento e exigente do que naquela época. Mas, algo não mudou: o desafio da adequação à chamada ‘Localização Brasil’.</p>
<p>Os grandes ERPs de mercado são globalizados como tudo atualmente, mas não há uma localização tão complexa como a feita para o nosso país. Vivemos em um verdadeiro emaranhado de atos legais. Em números divulgados pelo Banco Mundial em 2008, as empresas brasileiras gastavam em média 2600 horas por mês para atender as obrigações acessórias da legislação. Sem dúvida, esse número aumentou consideravelmente de lá para cá. E, para o correto cumprimento dessas obrigações, a base de dados está dentro dos ERPs. Sendo assim, temos de nos adaptar – dentro de funcionalidades da chamada localização – a um número insano de atos legais federais, estaduais, municipais, áreas incentivadas, tributos retidos, operações de substituição tributária e outros.</p>
<p>Além do desafio de desenvolver funcionalidades técnicas que atendam à necessidade de ter uma base de dados íntegra e com qualidade fisco-contábil-tributária, há o entendimento funcional do cenário fiscal propriamente dito, o que em alguns casos requer grande ‘cultura tributária’.  Tomemos como exemplo o caso da PIS e da Cofins, regime não cumulativo, objeto da EFD PIS COFINS, renomeada de EFD Contribuições.</p>
<p>Todos os cenários necessários ao atendimento da legislação – no caso da PIS COFINS, uma caótica coletânea de mais de 60 atos legais –, um sem número de soluções de consulta e várias questões ainda em aberto no CARF (Conselho Administrativo de Recursos Fiscais) precisam ser atendidos pelos ERPs e devem, portanto, estar previstos na ‘Localização Brasil’.</p>
<p>Existem situações tão variadas como alíquota básica, alíquotas específicas setoriais (como o regime automotivo), bases reduzidas em operações com bens de capital, entre tantas outras. É muitas vezes difícil explicar aos estrangeiros o porquê da Localização ser tão extensa e tão complexa. Afinal, ela é assim porque a legislação brasileira é extensa e complexa. Enquanto a localização de um ERP em um país europeu corresponde a uma pequena parte do todo, no caso do Brasil muitas vezes equivale a praticamente metade das consistências efetuadas pelo ERP.</p>
<p>Outro grande desafio que não pode deixar de ser mencionado é a implantação da localização, focando aqui na parte fiscal e contábil dentro do ERP. Se houve um grande esforço técnico para atender a demanda, acompanhado, obviamente, do conhecimento necessário para a adequação acontecer da forma desejada, passamos agora para a fase em que precisamos de um consultor funcional, com grande conhecimento nos assuntos ligados à localização, para ter condições de se comunicar com o usuário em níveis próximos.</p>
<p>Há um grande desgaste quando o usuário não tem empatia com o profissional funcional responsável pela implantação, por estarem em níveis de conhecimento muito diferentes. Nesse momento, mesmo tendo sido feito todo um esforço para que o desenvolvimento da localização atendesse às necessidades da melhor maneira possível, corre-se o risco de perder tudo o que foi conquistado até o momento no instante em que o cliente e o profissional responsável pela implantação estão frente a frente. E esse é um problema grave, já que – ao contrário de outras matérias-primas abundantes no mercado – esse tipo de recurso humano é bastante escasso.</p>
<p>Em resumo, há dois fatores muito importantes – e cada vez mais valorizados – nos ERPs comercializados no Brasil: a correta conceituação da ‘Localização Brasil’, com a adequação e o desenvolvimento de suas funcionalidades, e a implantação – que deve ser realizada de forma empática com os clientes e utilizando os recursos disponíveis prontamente, de modo que as variáveis sejam realmente atendidas. Para ambas é necessário um conhecimento profundo das normas impactantes na chamada ‘Localização Brasil’.</p>
<p>Para todos que estão envolvidos nesse cenário (usuários, clientes, consultorias e fábricas de softwares), é importante ter em mente que o sucesso da utilização de um ERP depende totalmente da aderência das funcionalidades da ‘Localização Brasil’. E para se atingir esse ponto, bem como para o desenvolvimento de customizações visando atender aos ditames legais localizados, o conhecimento técnico da cultura e das rotinas fiscais e contábeis é tão importante quanto o papel desempenhado por programadores e desenvolvedores de primeiro time. Só assim o resultado terá grandes chances de sucesso neste mercado que é hoje muito mais exigente do que há alguns anos.</p>
<p>&nbsp;</p>
Number of View :511]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/05/o-desafio-da-localizacao-brasil-nos-erps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trabalhando com Containers Oracle/Solaris e reduzindo custos operacionais</title>
		<link>http://www.tiespecialistas.com.br/2012/04/trabalhando-com-containers-oraclesolaris-e-reduzindo-custos-operacionais/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/trabalhando-com-containers-oraclesolaris-e-reduzindo-custos-operacionais/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 19:18:18 +0000</pubDate>
		<dc:creator>Vinicius Tramontina Luvisotto</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[redução de custos]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[sistema operacional]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Zones]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16626</guid>
		<description><![CDATA[Neste artigo, estarei expondo alguns ítens e conceitos técnicos interessantes para a utilização de servidores Oracle com Sistema Operacional Solaris, os quais podem prover uma redução considerável de custos com hardware.]]></description>
			<content:encoded><![CDATA[<p><strong>Como atender minha demanda e otimizar a utilização de servidores?</strong></p>
<p>Muitas vezes nos deparamos com questões de âmbito financeiro para uma tomada de decisão.</p>
<p>Neste artigo, estarei expondo alguns ítens e conceitos técnicos interessantes para a utilização de servidores Oracle com Sistema Operacional Solaris, os quais podem prover uma redução considerável de custos com hardware.</p>
<p>A Oracle com seu Sistema Operacional Solaris (Adquirido juntamente com a compra da SUN), oferece um recurso muito interessante de Containers.</p>
<p>Um Container é nada mais que um servidor virtual, ou seja, você estará com um servidor hospedeiro (Global Zone) e um servidor &#8220;parasita&#8221; (Local Zone).<br />
Exatamente desta maneira, desde que haja um bom planejamento e adequado mapeamento de recursos, pode-se obter uma economia considerável em relação a compra de hardware.</p>
<p>Por exemplo, vamos imaginar uma demanda de 3 servidores de banco de dados oracle, os quais, por definição e organização do negócio, devem rodar em máquinas distintas, com IPs separados, cada qual com a sua instance oracle. Além disto, sei que as bases não terão uma carga muito significativa e em estudos de Capacity Planning, identifico que utilizando 3 servidores separados, vou ter muito recurso ocioso.</p>
<p>Neste caso, posso otimizar o consumo de recursos, juntando 3 containers num mesmo domínio, com isto, apenas um servidor físico hospedaria 3 servidores virtuais.<br />
Na maioria dos casos, isto proporciona uma grande economia e ainda sem desperdícios de recursos ociosos.</p>
<p>Você pode estar se perguntando:  - Como organizar isto?</p>
<p>Bem, existem algumas formas, estarei demonstrando a seguir alguns passos para facilitar esta organização, tecnicamente é algo simples mas em termos de negócio será extremamente útil.</p>
<p>Vamos considerar que a memória dos 3 servidores será compartilhada, sem divisões, o consumo determinado pela SGA definida em cada base e depois aumentará de acordo com a quantidade de sessões.</p>
<p>Para CPU, inicialmente é necessário definir quantas CPUs possuo no servidor, sendo que após identificado a quantidade de processadores, é necessário que sejam estimados os consumos para cada uma das bases, consequentemente a quantidade que irei alocar para cada servidor virtual.</p>
<p>Lembro que neste momento, é importante ter em mente que o próprio servidor hospedeiro necessita de pelo menos 1 cpu (note que esta unidade corresponde a 1 core)<br />
Feita a definição de quantidade de cpus por servidor virtual, existe a necessidade de criar pools de configuração e dos containers em si.</p>
<p>Vou citar o exemplo com um Container Sparse, o qual julgo como mais útil, pois sua administração fica muito mais simples (Sistema Operacionar do servidor virtual é herdado do servidor “hospedeiro”).</p>
<p>A sequência de comandos abaixo poderá ser utilizada pelo administrador do SO, para a criação de cada um dos três Containers :<br />
# zonecfg -z container1<br />
zonecfg:container1&gt; create<br />
zonecfg:container1&gt; set zonepath=/zones/container1<br />
zonecfg:container1&gt; set autoboot=true<br />
zonecfg:container1&gt; verify<br />
zonecfg:container1&gt; commit<br />
zonecfg:container1&gt; exit<br />
# zoneadm -z container1 install<br />
# zoneadm -z container1 boot</p>
<p>Lembrando que o que foi efetuado neste passo, foi uma instalação de SO, portanto é necessário efetuar as configurações básicas do SO:<br />
# zlogin -C container1<br />
(Seguir com configurações básicas, indicando o tipo de terminal, time zone, endereço ip, senha de root, etc)</p>
<p>Após criar os containers, será necessário utilizar as informações de acordo com as decisões tomadas (Em relação ao número de CPUs). Este é o momento que utilizo mais um recurso do Solaris, Resource Controls. Segue abaixo os passos para ativar este recurso, dedicando 2 processadores ao servidor virtual container1:<br />
# pooladm -e<br />
# pooladm -s<br />
# poolcfg -c &#8216;create pset my-pset (uint pset.min=2; uint pset.max=2)‘<br />
# poolcfg -c &#8216;create pool my-pool‘<br />
# poolcfg -c &#8216;associate pool my-pool (pset my-pset)‘<br />
# pooladm -c<br />
# pooladm -s<br />
# zonecfg -z container1<br />
zonecfg:container1&gt; set pool=my-pool<br />
zonecfg:container1&gt; verify<br />
zonecfg:container1&gt; commit<br />
zonecfg:container1&gt; exit</p>
<p>Neste momento, basta efetuar um boot no container1 para que o mesmo funcione exclusivamente com 2 processadores.<br />
# zoneadm -z container1 reboot</p>
<p>Como pode ser notado, não é complicado para que o administrador de Sistema Operacional Solaris efetue esta configuração.</p>
<p>Para um leigo, poderia ser algo um pouco mais complexo para assimilar, mas o principal ponto é que, com este tipo de utilização, conseguimos isolar servidores virtuais, para que cada um tenha sua utilização um pouco mais independente, atendendo diferentes tipos de demanda e economizando recursos de hardware que poderiam ficar subutilizados.</p>
<p>Assim, por exemplo, com apenas um servidor com 8 cpus e 32GBs, posso criar 3 servidores virtuais de 2 cpus cada, sem que um influencie o outro em termos de consumo de processamento.</p>
<p>Sobraria ainda mais 2 processadores para o servidor Global (Hospedeiro) e somente teria a memória de 32GBs compartilhada entre todos os servidores.<br />
Ou seja: Compro apenas um servidor e utilizo a funcionalidade de três.</p>
<p>Seguindo nesta linha, podemos utilizar a criatividade e montar ambientes diversos, com mais servidores ou mais cpus, configurações de hardware diferenciados, mas <strong>economizando em hardware</strong>, o que é sempre muito interessante para todos.</p>
Number of View :764]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/trabalhando-com-containers-oraclesolaris-e-reduzindo-custos-operacionais/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como converter um banco de dados oracle de um S.O. para outro</title>
		<link>http://www.tiespecialistas.com.br/2012/04/como-converter-um-banco-de-dados-oracle-de-um-s-o-para-outro/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/como-converter-um-banco-de-dados-oracle-de-um-s-o-para-outro/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 17:11:25 +0000</pubDate>
		<dc:creator>Alexandre Luis Pires</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[conversão]]></category>
		<category><![CDATA[convert database]]></category>
		<category><![CDATA[convert tablesape]]></category>
		<category><![CDATA[dbms_tts]]></category>
		<category><![CDATA[execute sys.dbms_tts.transport_set_check]]></category>
		<category><![CDATA[to platform]]></category>
		<category><![CDATA[TRANSPORTABLE TABLESPACE]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16567</guid>
		<description><![CDATA[Este artigo explica como converter um banco de dados Oracle 10g para de à partir de qualquer plataforma para qualquer plataforma através do transporte das tablespaces.]]></description>
			<content:encoded><![CDATA[<p>Este artigo explica como converter um banco de dados Oracle 10g para de qualquer plataforma para qualquer plataforma através do transporte das tablespaces, desde que as plataformas estejam na lista abaixo:</p>
<pre>    SQL&gt;  select * from v$transportable_platform;</pre>
<pre>     PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT</pre>
<pre>   ----------- ---------------------------------------- --------------</pre>
<pre>             1 Solaris[tm] OE (32-bit)                  Big</pre>
<pre>             2 Solaris[tm] OE (64-bit)                  Big</pre>
<pre>             7 Microsoft Windows IA (32-bit)            Little</pre>
<pre>            10 Linux IA (32-bit)                        Little</pre>
<pre>             6 AIX-Based Systems (64-bit)               Big</pre>
<pre>             3 HP-UX (64-bit)                           Big</pre>
<pre>             5 HP Tru64 UNIX                            Little</pre>
<pre>             4 HP-UX IA (64-bit)                        Big</pre>
<pre>            11 Linux IA (64-bit)                        Little</pre>
<pre>            15 HP Open VMS                              Little</pre>
<pre>             8 Microsoft Windows IA (64-bit)            Little</pre>
<pre>             9 IBM zSeries Based Linux                  Big</pre>
<pre>            13 Linux x86 64-bit                         Little</pre>
<pre>            16 Apple Mac OS                             Big</pre>
<pre>            12 Microsoft Windows x86 64-bit             Little</pre>
<pre>            17 Solaris Operating System (x86)           Little</pre>
<pre>            18 IBM Power Based Linux                    Big</pre>
<pre>            20 Solaris Operating System (x86-64)        Little</pre>
<pre>            19 HP IA Open VMS                           Little</pre>
<p>&nbsp;</p>
<p>1. Verifique se há restrições</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Reveja as &#8220;Limitações no Uso Transportable Tablespace&#8221; seção na Nota 371556,1. Entre outras coisas, objetos que residem no tablespace SYSTEM e objetos pertencentes a SYS não serão transportados.</p>
<p>Isto inclui, mas não está limitado à usuários, privilégios, Stored Procedures PL/SQL e views.</p>
<p>Se você usar SPATIAL INDEX, aplicar a solução na Nota 579136,1 &#8220;IMPDP TRANSPORTABLE TABLESPACE  FAILS for SPATIAL INDEX&#8221; antes de continuar</p>
<p>Verifique se os tablespaces serão auto-suficientes</p>
<pre> execute sys.dbms_tts.transport_set_check('TBS_DADOS,TBS_INDICE,USERS,TOOLS', true);</pre>
<pre> select * from sys.transport_set_violations;</pre>
<p>==&gt; Essas violações devem ser resolvidas antes de trasportar os tablespaces.</p>
<p>Coloque as tablespaces em modo READ ONLY</p>
<pre>ALTER TABLESPACE TOOLS READ ONLY;</pre>
<pre>ALTER TABLESPACE USERS READ ONLY;</pre>
<pre>ALTER TABLESPACE TBS_DADOS  READ ONLY;</pre>
<pre>ALTER TABLESPACE TBS_INDICE READ ONLY;</pre>
<p>3. Exporte os metadados</p>
<pre> exp userid=\'/ as sysdba\' transport_tablespace=y tablespaces=TBS_DADOS,TBS_INDICE,USERS,TOOLS file=spc_tts.dmp log=exp_spc_tts.log statistics=none</pre>
<p>Note: Os dados da tabela não serão exportados</p>
<p>Sobre o export dos metadados usando transportable tablespace&#8230;</p>
<p>For tablespace REPOSIT &#8230;</p>
<pre>      . exporting cluster definitions</pre>
<pre>      . exporting table definitions</pre>
<pre>      . . exporting table                MTG_COL_DEP_CHG</pre>
<pre>      . . exporting table                MTG_DATABASES</pre>
<pre>      ....</pre>
<pre>      . . exporting table              ALEX11_SYSUSERS</pre>
<pre>      . exporting referential integrity constraints</pre>
<pre>      . exporting triggers</pre>
<pre>      . end transportable tablespace metadata export</pre>
<pre>      Export terminated successfully without warnings.</pre>
<p>4. Verifique a ordenação (endianness) do banco de dados de destino e converta, se necessário</p>
<p>&#8212;&gt; Execute localmente a conversão do endian compatível antes da etapa de importação:</p>
<pre>    rman target=/</pre>
<pre>    Recovery Manager: Release 10.1.0.1.0 - 64bit Beta</pre>
<pre>    connected to target database: V101B2 (DBID=3287908659)</pre>
<pre>    RMAN&gt; convert tablespace 'TBS_DADOS,TBS_INDICE,USERS,TOOLS'</pre>
<pre>    2&gt;  to platform='Linux x86 64-bit'</pre>
<pre>    3&gt; FORMAT='/DADOS/FULL/transport_linux/%U';</pre>
<p>5. Mova os datafiles e o arquivo do dump de exportação</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<pre>          $ftp tts.dmp</pre>
<pre>               +</pre>
<pre>                /database/db101b2/V101B2/datafile/reposit01.dbf (no conversion)</pre>
<pre>               or</pre>
<pre>                /tmp/reposit01.dbf (converted file if conversion had been required)</pre>
<p>6. Importe os metadados</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<pre>       $ imp userid=\'/ as sysdba\' TRANSPORT_TABLESPACE=Y  file=spc_tts.dmp log=spc_imp_tts.log TABLESPACES= TBS_DADOS,TBS_INDICE,USERS,TOOLS datafiles=u01/transport_linux/dt.dbf,u01/transport_linux/idx.dbf,u01/transport_linux/users.dbf,u01/transport_linux/tools.dbf, (or /tmp/reposit01.dbf )</pre>
<p>7. Altere as tablespaces importadas para READ WRITE</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<pre>ALTER TABLESPACE TOOLS READ WRITE;</pre>
<pre>ALTER TABLESPACE USERS READ WRITE;</pre>
<pre>ALTER TABLESPACE TBS_DADOS  READ WRITE;</pre>
<pre>ALTER TABLESPACE TBS_INDICE  READ WRITE;</pre>
<p>&nbsp;</p>
<h2>Preservando estatísticas ao transportar Tablespaces no Oracle</h2>
<p>&nbsp;</p>
<p>Este é um roteiro para transportar um tablespace sem ter que analisar novamente tabelas e índices. Isto naturalmente supõe que as estatísticas otimizadoras já tenham sido coletadas. O exemplo usa um schema chamado DEMO e um tablespace chamado TRANSTS.</p>
<p>&nbsp;</p>
<p>1. Preserve as estatísticas:</p>
<p>&nbsp;</p>
<pre>exec DBMS_STATS.CREATE_STAT_TABLE ('DEMO','DEMOSTATS');</pre>
<pre>exec DBMS_STATS.EXPORT_SCHEMA_STATS ('DEMO','DEMOSTATS');</pre>
<p>&nbsp;</p>
<p>2. Transforme o tablespace em READ ONLY, como preparação para o transporte:</p>
<pre> ALTER TABLESPACE transts READ ONLY;</pre>
<p>3. Verifique se não há nenhuma dependência que venha a violar as restrições de transporte:</p>
<pre> exec dbms_tts.transport_set_check('TRANSTS', TRUE);</pre>
<pre>SELECT * FROM transport_set_violations;</pre>
<p>4. Exporte as definições de dicionário do tablespace:</p>
<pre> exp TRANSPORT_TABLESPACE=y TABLESPACES=transts \ TRIGGERS=y CONSTRAINTS=y GRANTS=y FILE=tts.dmp LOG=exptts.log</pre>
<p>5. Faça um upload para um FTP ou copie os arquivos de dados e exporte o arquivo da origem para o destino;</p>
<p>6. Crie usuários no banco de dados alvo, caso eles ainda não tenham sido criados;</p>
<p>7. Ligue os tablespaces ao banco de dados alvo:</p>
<pre>imp TRANSPORT_TABLESPACE=y \</pre>
<pre>     DATAFILES=('/opt/oracle/data/TRANSTS_1.dbf') \</pre>
<pre>     TABLESPACES=(transts) \</pre>
<pre>      FILE=tts.dmp LOG=imptts.log</pre>
<p>8. Marque o tablespace como READ WRITE. Dessa forma, RMAN reconhecerá sua existência. Caso seja necessário, é possível reverter o ajuste do tablespace para READ ONLY:</p>
<pre> ALTER TABLESPACE transts READ WRITE;</pre>
<p>9. Importe as estatísticas preservadas:</p>
<pre> exec DBMS_STATS.IMPORT_SCHEMA_STATS ('DEMO','DEMOSTATS');</pre>
Number of View :414]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/como-converter-um-banco-de-dados-oracle-de-um-s-o-para-outro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como auditar e gerar relatórios de auditoria em Oracle Databases</title>
		<link>http://www.tiespecialistas.com.br/2012/04/como-auditar-e-gerar-relatorios-de-auditoria-em-oracle-databases/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/como-auditar-e-gerar-relatorios-de-auditoria-em-oracle-databases/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 13:00:18 +0000</pubDate>
		<dc:creator>Alexandre Luis Pires</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[auditar]]></category>
		<category><![CDATA[gerar relatórios de auditoria]]></category>
		<category><![CDATA[Oracle Databases]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16388</guid>
		<description><![CDATA[Olá pessoal, um tempo atrás tive que fazer algumas auditorias em um cliente meu, foi então que fiz esse documento para documentar o procedimento de habilitar vários tipos de auditoria e gerar relatórios de tudo que está sendo auditado através de exemplos.]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal, um tempo atrás tive que fazer algumas auditorias em um cliente meu, foi então que fiz esse documento para documentar o procedimento de habilitar vários tipos de auditoria e gerar relatórios de tudo que está sendo auditado através de exemplos.</p>
<p>Espero que seja útil para vocês o quanto foi útil para mim, boa leitura.</p>
<p><strong>Como auditar e gerar relatórios de auditoria em Bancos de dado Oracle</strong>.</p>
<p><strong>Habilitando Auditoria</strong></p>
<p>O primeiro  passo é  habilitar a auditoria, para isso será  necessário mudar o parâmetro de inicialização <em><em>audit_trail </em></em>e definir o tipo de auditoria desejado:</p>
<p><strong>OS</strong> : Auditoria Habilitada, os registros vão ser gravados em diretórios do sistema em arquivos de auditoria.<br />
<strong>DB</strong> ou TRUE : Auditoria é habilitada, os registros de auditoria serão armazenadas no database (SYS.AUD$)<br />
<strong>XML</strong> : Auditoria é habilitada, os registros serão armazenados em formatos XML.<br />
<strong>NONE</strong> ou <strong>FALSE</strong> : Auditoria é desabilitada.<br />
<strong>DB_EXTENDED</strong> : Trabalha igual ao parâmetro DB, mais as colunas SQL_BIND e SQL_TEXT são preenchidas.</p>
<p>Quando selecionamos os modos OS ou XML, são criados arquivos contendo os registros do auditoria no diretório definido pelo parâmetro <em><em>audit_file_dest</em></em><em>.</em></p>
<p>Considerando um tipo de auditoria DB, executaremos o seguintes comandos:</p>
<p><strong>SQL&gt; ALTER SYSTEM SET audit_trail = &#8220;DB&#8221; SCOPE = SPFILE;</strong></p>
<p><strong>SQL&gt; shutdown immediate</strong></p>
<p><strong>SQL&gt; startup</strong></p>
<p>O artigo está divido em:</p>
<p>1. Conexões de auditoria administrativa<br />
2. Auditoria no nível de objeto<br />
3. Auditoria no nível de privilégio<br />
4. Auditoria de Instruções</p>
<p>Mostrarei em cada seção o que pode ser auditado, como verificar o que é auditado e alguns exemplos de relatório de auditoria.</p>
<p>Auditando:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
A auditoria pode ser definida em nível de instrução, nível de objeto e nível de privilégio.<br />
Existe também auditoria de conexões administrativas, que são registrados através de log.</p>
<p><strong>1. Auditando Conexões administrativas</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Conexões administrativas são CONNECT INTERNAL e CONNECT / AS SYSDBA.</p>
<p>O usuário SYS é o usuário mais útil e importante para qualquer banco de dados Oracle. Vamos dar uma olhada como um DBA pode impedi-lo se ele está sendo mal utilizado.</p>
<p>Como auditar conta SYS</p>
<p>Há apenas dois parâmetros que precisam ser definidos para auditar qualquer conta SYS, o <em>audit_file_dest</em> e o <em><em>AUDIT_SYS_OPERATIONS</em></em>.<br />
O primeiro define o local para arquivos de auditoria e o segundo liga ou deliga a auditoria do SYS com ON / OFF.</p>
<p>Os arquivos de auditoria serão criados no diretório definido pelo parâmetro <em><em>audit_file_dest </em></em>com o nome ora_.aud. Esse arquivo geralmente têm seguintes informações:</p>
<p>Arquivo de auditoria / u01/app/oracle/admin/ALEBD/adump/ora_14725.aud<br />
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 &#8211; Production<br />
With the Partitioning, OLAP and Data Mining options<br />
ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1<br />
System name: Linux<br />
Node name: hostname.domainname<br />
Release: 2.6.9-34.ELsmp<br />
Version: #1 SMP Fri Apr 12 13:52:53 EST 2011<br />
Machine: i686<br />
Instance name: ALEBD<br />
Redo thread mounted by this instance: 1<br />
Oracle process number: 25<br />
Unix process pid: 134745, image: oracle@hostname.domainname (TNS V1-V3)</p>
<p>Tue Mar 6 13:21:31 2012<br />
ACTION : &#8216;CONNECT&#8217;<br />
DATABASE USER: &#8216;/&#8217;<br />
PRIVILEGE : SYSDBA<br />
CLIENT USER: oracle<br />
CLIENT TERMINAL: pts/1<br />
STATUS: 0</p>
<p>Com todas as informações relacionadas à sessão como &#8216;connect&#8217; e todos os comandos válidos, ele fornece informações sobre o servidor, sistema operacional, versão, Maquina, etc. porém ele não armazena os comandos inválidos.</p>
<p>Os arquivos de auditoria também armazenam informações de logins inválidos. Para verificar logins inválidos, execute os seguintes comandos:</p>
<p>grep-i &#8220;status:&#8221; * aud | grep-i-v &#8220;status: 0&#8243;.</p>
<p>Parâmetros que devem ser definidos</p>
<p>alter system set audit_file_dest=&#8217;/u04/app/oracle/oradata/alex/audit&#8217; scope=spfile;<br />
alter system set audit_sys_operations=true scope=spfile;<br />
Reinicie a banco de dados e pronto, está feito.</p>
<p>As Informações de auditoria podem ser visualizados em formato de texto ou no formato XML, dependendo da configuração do parâmetro <em><em>AUDIT_TRAIL</em></em></p>
<p><strong>2. Auditoria no nível de objeto</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Objetos que podem ser auditados são: tabelas, visões, sequências, pacotes, procedimentos armazenados e funções. Note que, porque alguns objetos pode ser dependente de outrosobjetos (exemplo função -&gt; visão -&gt; tabela), vários registros de auditoria podem ser inseridos quando esses objetos forem auditados.</p>
<p>Opções de auditoria objeto são definidas para todos os usuários do banco de dados e não podem ser definidos<br />
para usuários individuais.</p>
<p>Quais as opções que podem ser definidas? Isto pode ser visto a partir de <em><em>all_def_audit_opts</em></em>.</p>
<p>Exemplo opções de auditoria de objetos<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>SQL&gt; connect system / manager<br />
SQL&gt; select * from all_def_audit_opts;</p>
<p>Resultado:</p>
<p>ALT DEL AUD COM GRA IND INS LOC REN SEL UPD REF EXE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
- / &#8211; / &#8211; / &#8211; / &#8211; / &#8211; / &#8211; / &#8211; / &#8211; / &#8211; / &#8211; / &#8211; / &#8211; / -</p>
<p>Estes correspondem aos seguintes opções de objecto respectivamente:</p>
<p>alter, audit, comment, delete, grant, index, insert, lock, rename, select, update, reference e execute .</p>
<p>Todas as referências, excepto e executar pode ser aplicadas a tabelas, caso contrário você receberá o erro ora-1982 &#8220;opção inválida auditoria para tabelas&#8221;.</p>
<p>Exemplo de auditoria em SCOTT.EMP<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>SQL&gt; connect system / manager</strong><br />
<strong> SQL&gt; audit select on scott.emp by session;</strong></p>
<p>Confira: Quais objetos são auditados</p>
<p>SQL&gt; col owner format a7<br />
SQL&gt; col object_name format a7<br />
SQL&gt; select * from dba_obj_audit_opts<br />
where owner=&#8217;SCOTT&#8217; and OBJECT_NAME=&#8217;EMP&#8217;;</p>
<p>resultado:</p>
<p>OWNER OBJECT_ OBJECT_TY ALT AUD COM DEL GRA IND INS LOC REN SEL UPD REF EXE<br />
&#8212;&#8212;- &#8212;&#8212;- &#8212;&#8212;&#8212; &#8212; &#8212; &#8212; &#8212; &#8212; &#8212; &#8212; &#8212; &#8212; &#8212; &#8212; &#8212; &#8212;<br />
SCOTT EMP TABLE -/- -/- -/- -/- -/- -/- -/- -/- -/- S/S -/- -/- -/-</p>
<p>Gera algumas informações de auditoria:</p>
<p>SQL&gt; connect scott / tiger<br />
SQL&gt; select * from emp;<br />
=&gt; Todas as linhas de SCOTT.EMP são mostrados<br />
SQL&gt; connect t / tl<br />
SQL&gt; select * from SCOTT.EMP;<br />
=&gt; ERROR at line 1:<br />
ORA-00942: tabela ou visão não existe<br />
SQL&gt; connect system / manager<br />
SQL&gt; select * from SCOTT.EMP;<br />
=&gt; Todas as linhas de SCOTT.EMP são mostrados</p>
<p>Resultados da auditoria:<br />
SQL&gt; connect system/manager</p>
<p>SQL&gt; col username format a8<br />
SQL&gt; col priv_used format 999<br />
SQL&gt; /</p>
<p>SQL&gt; select username, priv_used, ses_actions from dba_audit_object<br />
where obj_name=&#8217;EMP&#8217; and owner=&#8217;SCOTT&#8217;;</p>
<p>Resultado:<br />
USERNAME PRIV_USED SES_ACTIONS<br />
&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;-<br />
SYSTEM SELECT ANY TABLE &#8212;&#8212;&#8212;S&#8212;<br />
T &#8212;&#8212;&#8212;F&#8212;<br />
SCOTT &#8212;&#8212;&#8212;S&#8212;<br />
<strong></strong></p>
<p><strong>3. Auditoria no nível de privilégio</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Todos os privilégios de sistema podem ser auditados.<br />
Diferentes privilégios podem ser selecionados a partir da system_privilege_map.<br />
Se você tentar usar um valor que não pertence à lista, você receberáo seguinte erro:</p>
<p>SQL&gt; audit drop snapshot by access;<br />
audit drop snapshot by access<br />
*<br />
ERROR at line 1:<br />
ORA-00956: opção ausente ou inválido de auditoria</p>
<p>Exemplo: privilégios de sistema auditáveis<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
SQL&gt; connect system / manager<br />
SQL&gt; select * from system_privilege_map;</p>
<p>Resultado (este resultado é dependente da versão):</p>
<p>Nome do privilégio<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
-3 ALTER SYSTEM<br />
-4 AUDIT SYSTEM<br />
-5 CREATE SESSION<br />
-6 ALTER SESSION<br />
-7 RESTRICTED SESSION<br />
-10 CREATE TABLESPACE<br />
-11 ALTER TABLESPACE<br />
-12 MANAGE TABLESPACE<br />
-13 DROP TABLESPACE<br />
&#8230;.. Não estão sendo mostrados todos os resultados &#8230;&#8230;<br />
-167 GRANT ANY PRIVILEGE<br />
-172 CREATE SNAPSHOT<br />
-173 CREATE ANY SNAPSHOT<br />
-174 ALTER ANY SNAPSHOT<br />
-175 DROP ANY SNAPSHOT<br />
-194 WRITEDOWN DBLOW<br />
-195 READUP DBHIGH<br />
-196 WRITEUP DBHIGH<br />
-197 WRITEDOWN<br />
-198 READUP<br />
-199 WRITEUP</p>
<p>&nbsp;</p>
<p>Exemplo de auditoria no CREATE TABLE de Scott e System<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; -</p>
<p><strong>SQL&gt; connect system/manager</strong><br />
<strong> SQL&gt; audit create table by scott, system;</strong><br />
=&gt; Audit succeeded.</p>
<p>Isto significa que cada create table é auditado para o system e o scott uma vez por sessão.<br />
Cada um deve criar a tabela ser auditado, em seguida, a cláusula &#8216;by access&#8217; deve ser adicionada.</p>
<p>verificar: Quais privilégios estão auditados</p>
<p>SQL&gt; col user_name format a7<br />
SQL&gt; col privilege format a15<br />
SQL&gt; connect system/manager<br />
SQL&gt; select * from sys.dba_priv_audit_opts;</p>
<p>Resultado:</p>
<p>USER_NA PRIVILEGE SUCCESS FAILURE<br />
&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
SCOTT CREATE TABLE BY ACCESS BY ACCESS<br />
SYSTEM CREATE TABLE BY ACCESS BY ACCESS</p>
<p>Gere algumas informações de auditoria:</p>
<p>SQL&gt; connect scott / tiger<br />
SQL&gt; create table t1 (c1 number);<br />
create table t1 (c1 number)<br />
*<br />
ERRO na linha 1:<br />
ORA-00955: nome já está sendo usado por um objeto existente<br />
SQL&gt; create table tsc (c1 number);<br />
= Table&gt; criado<br />
SQL&gt; connect t / tl<br />
SQL&gt; create table tsc (c1 number);<br />
=&gt; Tabela criada<br />
SQL&gt; connect system / manager<br />
SQL&gt; create table scott.t1 (c1 number);<br />
=&gt; Create table scott.t1 (c1 number)<br />
ERRO na linha 1:<br />
ORA-00955: nome já está sendo usado por um objeto existente<br />
SQL&gt; create table tsc (c1 number);<br />
=&gt; Tabela criada</p>
<p>Resultados da auditoria:</p>
<p>SQL&gt; connect system/manager</p>
<p>SQL&gt; col username format a8<br />
SQL&gt; col priv_used format 999<br />
SQL&gt; /</p>
<p>SQL&gt; select username, priv_used, ses_actions from dba_audit_object;<br />
Resultado:</p>
<p>USERNAME PRIV_USED SES_ACTIONS<br />
&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
SCOTT CREATE TABLE<br />
SCOTT CREATE TABLE<br />
SYSTEM CREATE TABLE</p>
<p>SQL&gt; connect system/manager</p>
<p>SQL&gt; select action, action_name, username<br />
from dba_audit_trail ;</p>
<p>Resultado:</p>
<p>ACTION ACTION_NAME USERNAME<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8211;<br />
1 CREATE TABLE SCOTT<br />
1 CREATE TABLE SCOTT<br />
1 CREATE TABLE SYSTEM</p>
<p>&nbsp;</p>
<p><strong>4. Auditoria no nível de instruções</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Auditoria de instruções é uma auditoria seletiva de diversos grupos de comandos sql, esse comandos podem ser comandos ddl (data definition Language) ou comandos DML (Data Manipulation Language).</p>
<p>Por exemplo, quando o comando &#8216;audit table&#8217; é auditado, comandos create, alter e drop table também são auditados.<br />
Quando a instrução &#8216;audit select table&#8217; é auditado todas as instruções select em tabelas, visões, Snapshots .. serão auditados.</p>
<p>A diferença com auditoria privilégio é que no último caso, um privilégio de sistema é auditado.<br />
Por exemplo, &#8221; audit create table &#8221; só vai auditar o comando create table e não comandos de alter table ou drop table.</p>
<p>Quando instruções semelhantes e opções de privilégios são definidas apenas um registro de auditoria é gerado.</p>
<p>Exemplo: instruções auditáveis<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
As instruções que podem ser aditadas podem ser visteas da stmt_audit_option_map.</p>
<p>SQL&gt; connect system/manager<br />
SQL&gt; select * from stmt_audit_option_map;</p>
<p>Resultado (este resultado é dependente versão):</p>
<p>OPTION# NAME PROPERTY<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
3 ALTER SYSTEM 0<br />
4 SYSTEM AUDIT 0<br />
5 CREATE SESSION 0<br />
6 ALTER SESSION 0<br />
7 RESTRICTED SESSION 0<br />
8 TABLE 0<br />
9 CLUSTER 0<br />
10 CREATE TABLESPACE 0<br />
11 ALTER TABLESPACE 0<br />
12 MANAGE TABLESPACE 0<br />
13 DROP TABLESPACE 0<br />
&#8230;.. não estão sendo mostrados todos resultados &#8230;&#8230;<br />
221 CONTEXT 0<br />
234 ON COMMIT REFRESH 0<br />
235 EXEMPT ACCESS POLICY 0<br />
236 RESUMABLE 0<br />
237 SELECT ANY DICTIONARY 0<br />
238 DEBUG CONNECT SESSION 0<br />
239 DEBUG CONNECT USER 0<br />
240 DEBUG CONNECT ANY 0<br />
241 DEBUG ANY PROCEDURE 0<br />
242 DEBUG PROCEDURE 0</p>
<p>165 rows selected.</p>
<p>SQL&gt; select * from stmt_audit_option_map<br />
where name like &#8216;%TABLE%&#8217;;</p>
<p>Resultado:</p>
<p>OPTION# NAME PROPERTY<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
8 TABLE 0<br />
10 CREATE TABLESPACE 0<br />
11 ALTER TABLESPACE 0<br />
12 MANAGE TABLESPACE 0<br />
13 DROP TABLESPACE 0<br />
14 TABLESPACE 0<br />
15 UNLIMITED TABLESPACE 0<br />
40 CREATE TABLE 0<br />
41 CREATE ANY TABLE 0<br />
42 ALTER ANY TABLE 0<br />
43 BACKUP ANY TABLE 0<br />
44 DROP ANY TABLE 0<br />
45 LOCK ANY TABLE 0<br />
46 COMMENT ANY TABLE 0<br />
47 SELECT ANY TABLE 0<br />
48 INSERT ANY TABLE 0<br />
49 UPDATE ANY TABLE 0<br />
50 DELETE ANY TABLE 0<br />
54 ALTER TABLE 0<br />
57 LOCK TABLE 0<br />
58 COMMENT TABLE 0<br />
65 SELECT TABLE 0<br />
66 INSERT TABLE 0<br />
67 UPDATE TABLE 0<br />
68 DELETE TABLE 0<br />
69 GRANT TABLE 0</p>
<p>Exemplo de Auditoria em TABELAS do Scott e System<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><strong>SQL&gt; connect system/manager</strong><br />
<strong> SQL&gt; audit table by scott, system;</strong><br />
=&gt; Audit succeeded.</p>
<p>verifique: Quais declarações estão auditadas</p>
<p>SQL&gt; col user_name format a8<br />
SQL&gt; col proxy_name format a6<br />
SQL&gt; col audit_option format a9<br />
SQL&gt; col privilege format a15<br />
SQL&gt; connect system/manager<br />
SQL&gt; select * from dba_stmt_audit_opts;<br />
Resultado:</p>
<p>USER_NAM PROXY_ AUDIT_OPT SUCCESS FAILURE<br />
&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;&#8212;&#8212; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
SYSTEM TABLE BY ACCESS BY ACCESS<br />
SCOTT TABLE BY ACCESS BY ACCESS</p>
<p>Gere algumas informações de auditoria:</p>
<p>SQL&gt; connect scott/tiger<br />
SQL&gt; create table t1 (c1 number);<br />
create table t1 (c1 number)<br />
*<br />
ERROR at line 1:<br />
ORA-00955: name is already used by an existing object<br />
SQL&gt; drop table t1;<br />
=&gt; table dropped<br />
SQL&gt; connect system/manager<br />
SQL&gt; create table scott.t1(c1 number);<br />
=&gt; table created<br />
SQL&gt; drop table no;<br />
=&gt; *<br />
ERROR at line 1:<br />
ORA-00942: table or view does not exist</p>
<p>Resultados da auditoria:</p>
<p>SQL&gt; connect system/manager</p>
<p>SQL&gt; col username format a8<br />
SQL&gt; col priv_used format 999</p>
<p>SQL&gt; select username, priv_used, ses_actions from dba_audit_object;</p>
<p>Resultado:</p>
<p>USERNAME PRIV_USED SES_ACTIONS<br />
&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
SCOTT CREATE TABLE<br />
SCOTT CREATE TABLE<br />
SYSTEM CREATE TABLE<br />
SQL&gt; connect system/manager</p>
<p>SQL&gt; select action, action_name, username<br />
from dba_audit_trail ;</p>
<p>Resultado:</p>
<p>ACTION ACTION_NAME USERNAME<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8211;<br />
1 CREATE TABLE SCOTT<br />
12 DROP TABLE SCOTT<br />
1 CREATE TABLE SYSTEM<br />
12 DROP TABLE SYSTEM</p>
<p>SQL&gt; select username, priv_used, ses_actions de dba_audit_object;</p>
<p>Resultado:</p>
<p>USERNAME PRIV_USED SES_ACTIONS<br />
&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
SCOTT CREATE TABLE<br />
SCOTT<br />
SYSTEM CREATE ANY TABLE<br />
SYSTEM</p>
<p>Exemplo de auditoria SELECT TABLE do scott e system<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; -</p>
<p><strong>SQL&gt; connect system/manager</strong><br />
<strong> SQL&gt; audit select table by scott, system;</strong><br />
=&gt; Audit succeeded.</p>
<p>Confira: Quais declarações são auditadas</p>
<p>SQL&gt; col user_name format a8<br />
SQL&gt; col proxy_name format a6<br />
SQL&gt; col audit_option format a13<br />
SQL&gt; col privilege format a15<br />
SQL&gt; connect system/manager<br />
SQL&gt; select * from dba_stmt_audit_opts;</p>
<p>Resultado:</p>
<p>USER_NAM PROXY_ AUDIT_OPTION SUCCESS FAILURE<br />
&#8212;&#8212;&#8211; &#8212;&#8212; &#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;-<br />
SYSTEM SELECT TABLE BY SESSION BY SESSION<br />
SCOTT SELECT TABLE BY SESSION BY SESSION</p>
<p>Gere algumas informações para auditoria:</p>
<p>SQL&gt; connect scott/tiger<br />
SQL&gt; delete from emp where ename=&#8217;KING&#8217;;</p>
<p>SQL&gt; connect system/manager<br />
SQL&gt; insert into scott.emp (empno, ename) values (1, &#8216;TEST&#8217;);<br />
SQL&gt; select * from scott.emp;</p>
<p>Resultados da auditoria:</p>
<p>SQL&gt; connect system/manager</p>
<p>SQL&gt; col username format a8<br />
SQL&gt; col priv_used format 999</p>
<p>SQL&gt; select username, priv_used, ses_actions from dba_audit_object;<br />
Resultado:</p>
<p>USERNAME PRIV_USED SES_ACTIONS<br />
&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
SCOTT &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SCOTT &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SYSTEM &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SYSTEM SELECT ANY TABLE &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SYSTEM &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SYSTEM &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SYSTEM &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SCOTT &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SYSTEM &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SYSTEM &#8212;&#8212;&#8212;S&#8212;&#8212;<br />
SYSTEM &#8212;&#8212;&#8212;S&#8212;&#8212;</p>
<p>SQL&gt; connect system/manager</p>
<p>SQL&gt; select action, action_name, username<br />
from dba_audit_trail ;</p>
<p>Resultado:</p>
<p>ACTION ACTION_NAME USERNAME<br />
&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8211;<br />
103 SESSION REC SCOTT<br />
103 SESSION REC SCOTT<br />
103 SESSION REC SYSTEM<br />
103 SESSION REC SYSTEM<br />
103 SESSION REC SYSTEM<br />
103 SESSION REC SYSTEM<br />
103 SESSION REC SYSTEM<br />
103 SESSION REC SCOTT<br />
103 SESSION REC SYSTEM<br />
103 SESSION REC SYSTEM<br />
103 SESSION REC SYSTEM<br />
103 SESSION REC SYSTEM</p>
<p>&nbsp;</p>
Number of View :733]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/como-auditar-e-gerar-relatorios-de-auditoria-em-oracle-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Antigas aplicações Oracle Forms/Reports. O que fazer com elas?</title>
		<link>http://www.tiespecialistas.com.br/2012/04/antigas-aplicacoes-oracle-formsreports-o-que-fazer-com-elas/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/antigas-aplicacoes-oracle-formsreports-o-que-fazer-com-elas/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 13:00:18 +0000</pubDate>
		<dc:creator>Eduardo Arruda</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[ADF]]></category>
		<category><![CDATA[aplicações]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Reports]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16354</guid>
		<description><![CDATA[Inicio este artigo falando sobre o ciclo de vida das ferramentas de desenvolvimento Oracle. Ciclo de vida, compreende um produto desde sua fase de lançamento, aquisição de maturidade através de inúmeras correções, patchsets e minipatches, até a sua completa substituição por uma nova versão/release, mudança de arquitetura ou o lançamento de um novo produto.]]></description>
			<content:encoded><![CDATA[<h5>Ciclo de vida</h5>
<p>Inicio este artigo falando sobre o ciclo de vida das ferramentas de desenvolvimento Oracle. Ciclo de vida, compreende um produto desde sua fase de lançamento, aquisição de maturidade através de inúmeras correções, patchsets e minipatches, até a sua completa substituição por uma nova versão/release, mudança de arquitetura ou o lançamento de um novo produto.</p>
<h5>Obsolescência</h5>
<p>Atualmente, muitas empresas ainda possuem aplicações grandes e complexas em releases antigos da plataforma Oracle, mais específicamente em Forms/Reports 4.5, 6i ou anterior. Estas versões já encerraram seu ciclo de vida, o que singnifica que suas aplicações estão fora da matriz de suporte e compatibilidade, e que se torna mandatório planejar em seus próximos orçamentos de T.I., investimentos para sua modernização. Oracle declara em seu documento &#8220;<em>SOD &#8211; Statement of Direction</em> (2009) para ferramentas de desenvolvimento&#8221;, que as ferramentas Forms/Reports não serão descontinuadas, porém a Oracle recomenda fortemente que as empresas se mantenham no topo de sua pilha de tecnologia (últimas versões), para garantir a plena estabilidade de seus produtos.</p>
<h5>Modernização e Refactoring</h5>
<p>A sequência de modernização recomendada ficaria da seguinte forma:<br />
Duas camadas (Client-Server 4.5/6i ou anteriores) -&gt; Três camadas (adição de Middletier em 11g) -&gt; 100% Web/J2EE em ADF 11g.</p>
<p>Para aquelas empresas que pensam em simplesmente modernizar suas aplicações Forms/Reports, o caminho mais adequado, seria um projeto de migração de para a última versão (11g), modificando sua arquitetura de duas para três camadas. Para aquelas que alêm de modernizar suas aplicações, também têm o objetivo de seguir a tendência da tecnologia Oracle, o caminho mais adequado seria um projeto de <em>refactoring</em> (reescrita de parte do código) de suas aplicações para a arquitetura J2EE ADF 11g. A arquitetura ADF 11g utiliza o paradigma MVC (Model-View-Controller), dividindo a lógica da aplicação em camadas distintas: Controle, Modelo e Visual, o que permite o isolamento da lógica de negócios da aplicação da camada visual (<em>front-end</em>). Neste último modelo, o projeto certamente ficaria mais extenso e com custo mais elevado, porém garante um ciclo de vida mais longo e um visual mais leve e moderno às antigas aplicações.</p>
<p>Em resumo, seja qual for o caminho adotado: migrar ou refazer, o ponto é que existem caminhos viáveis para a modernização destas aplicações. É muito importante também optar por um profissional ou consultoria que tenha experiência e casos de sucesso neste tipo de projeto.</p>
<p>Eduardo Arruda &#8211; eduardo.arruda@domainconsult.com.br</p>
Number of View :649]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/antigas-aplicacoes-oracle-formsreports-o-que-fazer-com-elas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como será o futuro do desenvolvedor?</title>
		<link>http://www.tiespecialistas.com.br/2012/04/como-sera-o-futuro-do-desenvolvedor/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/como-sera-o-futuro-do-desenvolvedor/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 11:28:00 +0000</pubDate>
		<dc:creator>Cezar Taurion</dc:creator>
				<category><![CDATA[Carreira]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Mercado]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[desenvolvedor]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[Futuro]]></category>
		<category><![CDATA[programador]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tendências]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16361</guid>
		<description><![CDATA[Outro dia recebi um e-mail muito interessante de um desenvolvedor, que recém-formado, se questionava sobre que tecnologias deveria se dedicar nos próximos anos. Debatemos o assunto pelo Skype e creio que um pequeno resumo do debate pode ser de interesse para outros desenvolvedores que estejam diante da mesma dúvida: como será o futuro do desenvolvedor?]]></description>
			<content:encoded><![CDATA[<p>Outro dia recebi um e-mail muito interessante de um desenvolvedor, que recém-formado, se questionava sobre que tecnologias deveria se dedicar nos próximos anos. Debatemos o assunto pelo Skype e creio que um pequeno resumo do debate pode ser de interesse para outros desenvolvedores que estejam diante da mesma dúvida: como será o futuro do desenvolvedor?</p>
<p>Bem, minha bola de cristal dá “tela azul” toda vez que tento fazer previsões, mas podemos discutir alguns cenários que já estão claramente delineados.<br />
Os desenvolvedores estão às voltas com uma verdadeira convergência tecnológica, onde Cloud Computing, mobilidade, social business, Big Data  e Internet of Things requerem novas habilidades para o desenvolvimento de aplicações inovadoras. As empresas esperam que sejam desenvolvidas novas aplicações para novos dispositivos, para resolver novos tipos de problemas.</p>
<p>O desafio das empresas e de seus desenvolvedores é de criar estas novas aplicações, ao mesmo tempo em que devem manter as atuais funcionando sem interrupções. Em muitas organizações isso significa manter programas Cobol e escrever aplicações PHP ou Ruby simultaneamente.</p>
<p>As aplicações que farão diferença em um mercado altamente competitivo criam grandes oportunidades, mas ao mesmo tempo, geram novos desafios. Desenvolver uma aplicação usando interfaces touch-screen ou de reconhecimento de voz, que interaja com tecnologias de mídia social como Facebook ou Twitter demandam skills, métodos e processos diferentes. Por exemplo, a computação social demanda skills sociológicos e antropológicos para criar novos processos que atendam à demanda das interações sociais que os usuários desejam. Não espero que os desenvolvedores estudem a fundo antropologia, mas as equipes de desenvolvimento deverão ter uma multidisciplinaridade de skills que trabalharão em conjunto. Assim, métodos e práticas de desenvolvimento colaborativo serão fundamentais para a criação destas novas aplicações.</p>
<p>Também é desafiadora a criação de aplicativos que interajam com tecnologias de Big Data como Hadoop e MapReduce. Juntando com mobilidade e social business teremos aplicações socialytics (social business + business analytics) sendo acessadas por dispositivos móveis como smartphones e tablets.</p>
<p>Hadoop é um desafio à parte. Hadoop é um conjunto de diversos projetos Open Source desenvolvidos para trabalhar com grandes volumes de dados, de forma paralela. Para termos uma ideia do Hadoop pense que ele contém projetos como o Hadoop/MapReduce que é um framework Java para processamento paralelo, HDFS que é um sistema de arquivos distribuídos, Pig (linguagem de programação), Hive (linguagem similar ao SQL, chamado de HiveSQL), e diversos outros. Uma visita ao http://hadoop.apache.org/ mostra os diversos projetos associados ao Hadoop.</p>
<p>Cada projeto não necessariamente se integra com os demais e, portanto, é necessário um exaustivo trabalho de integração. Surgem então as distribuições Hadoop, que atuam mais ou menos de forma similar às distribuições Linux. Existem várias distribuições, cada uma com características diferentes. Entre as mais conhecidas temos a Cloudera, a InfoSphere BigInsight da IBM (que usa GPFS ou General Parallel File System) como alternativa ao HDFS, e DataStax, que usa Cassandra ao invés do HDFS. Portanto, muito estudo e trabalho pela frente!</p>
<p>O recente CES 2012 (Consumer Electronics Show) mostrou mais alguns futuros desafios para os desenvolvedores. Os interfaces estão saindo rapidamente do tradicional contexto teclado+mouse para multitouch, voz, gestos, reconhecimento facial e mesmo “eye tracking”. Já temos casos de sucesso: o Siri do iPhone 4S sinaliza que os usuários começarão a interagir com seus dispositivos através de comandos de voz. A Samsung anunciou um conjunto de APIs abertas e um SDK (Software Development Kit) para desenvolvimento de aplicações para sua Smart TV. Recentemente realizou uma competição para desenvolvedores criarem aplicativos para esta plataforma e coisas muito interessantes foram geradas. Vejam em <a href="http://www.samsungsmarttvchallenge.eu/" title="Samsung Smart TV Challenge" target="_blank">http://www.samsungsmarttvchallenge.eu/</a>. A LG anunciou o Gesture Cam, que permite o controle da TV através de gestos, de forma similar ao Kinect do Xbox360. Provavelmente em breve as diferenças entre PCs, TVs, smartphones e tablets serão apenas o tamanho da tela, uma vez que todos usarão os mesmos interfaces.</p>
<p>A Internet das Coisas (Internet of Things ou IoT) também abre novas frentes. Estamos falando de coisas como eletrodomésticos, automóveis, ativos das empresas (edifícios inteligentes, por exemplo) e infraestrutura das cidades conectadas à Interrnet e interagindo entre si e com os aplicativos corporativos. Quando adicionamos inteligência (leia-se software) aos objetos e eles começm a interagir e negociar entre si, isso nos abre inúmeras oportunidades de novos negócios. Claro que as empresas vão olhar esta possibilidade de obter vantagens competitivas com atenção. Um exemplo é a criação de uma logistica muito mais inteligente que a maioria das empresas tem hoje. Imaginem uma “self-controlled logistics”!</p>
<p>Bem, o que os executivos demandarão? Novos aplicativos que explorem a  IoT e que por sua vez, demandam novos skills dos desenvolvedores como EDA (event-driven architecture). Um texto basico sobre EDA pode ser encontrado na Wikipedia.</p>
<p>Claro, .NET e Java continuarão a dominar o cenário das linguagens usadas nas empresas, pelo menos no horizonte previsível. Mas começam a surgir espaços para novas linguagens como Perl, Ruby ou PHP. Por brincadeira consultei algumas vagas de desenvolvedores para o Facebook e encontrei de maneira geral demandas por profissionais que conheçam Java e/ou C++ e tenham conhecimento de PHP, Perl ou Python, além, é claro de Hadoop.</p>
<p>Este cenário leva a outra discussão: até que pontos os métodos ágeis de desenvolvimento substituirão ou complementarão os métodos de desenvolvimento mais tradicionais? Me parece que os métodos ágeis estarão mais próximos da velocidade de resposta que os negócios demandam dos desenvolvedores. Além disso, está claro que os desenvolvedores nunca terão todas as respostas para as inúmeras demandas dos seus usuários. Aí é que entra o conceito das aplicações mashup. Os usuários passarão a também desenvolver pequenas aplicações em cima das APIs geradas pelos desenvolvedores. Veremos os desenvolvedores-cidadãos! E isso tende a se acelerar a medida que a geração digital se insere no mercado de trabalho. Eles entram nas empresas já com vários anos de prática na criação de apps para smartphones e tablets (são verdadeiros app entrepreneurs) e vão querer usar seus skills para desenvolver apps para interagirem com as aplicações corporativas.</p>
<p>Na minha opinião, as aplicações serão cada vez mais heterogêneas em tecnologias, misturando diversas linguagens no mesmo sistema. Além disso, novas funcionalidades deverão ser incorporadas de um dia para o outro. SOA (service-oriented architecture) e os métodos SODA (service-oriented development of applications) são a resposta.<br />
Por tudo que debatemos, nosso amigo ficou mais preocupado ainda&#8230; Por outro lado enxergou que terá, como desenvolvedor, uma longa carreira pela frente!</p>
Number of View :1209]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/como-sera-o-futuro-do-desenvolvedor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recriando instâncias ASM e resolvendo problemas com Diskgroups corrompidos</title>
		<link>http://www.tiespecialistas.com.br/2012/04/recriando-instancias-asm-e-resolvendo-problemas-com-disckgroups-corrompidos/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/recriando-instancias-asm-e-resolvendo-problemas-com-disckgroups-corrompidos/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 13:00:21 +0000</pubDate>
		<dc:creator>Alexandre Luis Pires</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[ASM]]></category>
		<category><![CDATA[ASM_DISKSTRING]]></category>
		<category><![CDATA[diskgroup]]></category>
		<category><![CDATA[instância]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[recuperação]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16224</guid>
		<description><![CDATA[No caso de você não poder montar os seu sgrupos de discos ASM, você não será capaz de iniciar qualquer banco de dados usando esses grupos de discos. Aqui está um possível erro reportado quando estiver tentando montar grupos de discos ASM.]]></description>
			<content:encoded><![CDATA[<p>No caso de você não poder montar os seu sgrupos de discos ASM, você não será capaz de iniciar qualquer banco de dados usando esses grupos de discos. Aqui está um possível erro reportado quando estiver tentando montar grupos de discos ASM:</p>
<p>SQL&gt; startup mount</p>
<p>ORA-15032: not all alterations performed<br />
ORA-15063: diskgroup &#8220;&lt;DISK GROUP NAME&gt;&#8221; lacks quorum of 2 PST disks; 0 found<br />
Este erro pode ocorrer se:</p>
<p>a) disco ASM (s) não é visível no sistema operacional.<br />
b) parâmetro ASM_DISKSTRING não está definido corretamente na instância ASM (s)<br />
c) metadados ASM em disco foram substituídos ou corrompidos</p>
<p>Se você já viu esse erro ou outro erro indicando a corrupção metadados ASM e verificou que o disco(s) é visível com as permissões corretas no sistema operacional e que o parâmetro ASM_DISKSTRING está configurado corretamente, os seus Metadados ASM podem estar corrompidos. Se este for o caso, talvez seja necessário recriar sua instância ASM (s) e seus grupo de discos. As etapas são:</p>
<p>1. Garantir que você tenha um backup RMAN prévia de todos os bancos de dados usando ASM<br />
2. Encerre a instância ASM (s)<br />
3. Use dd para limpar os metadados a partir de discos ASM<br />
4. Re-criar o seu grupo de discos ASM (s)<br />
5. Restaurar bancos de dados</p>
<p><strong>PASSO 1: Verifique se você tiver um RMAN Backup anterior de todos os bancos de dados usando ASM</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>A única maneira que você pode se recuperar de corrupção de metadados ASM é ter uma Backup RMAN do banco de dados em uma área que não foi afetados por um falha da intancia ASM. Como parte de sua estratégia de recuperação, você deve considerar backup em fita ou uso de um outro storage terciário para salvaguardar os seus backups.</p>
<p>Exemplo de backup RMAN:</p>
<p>1. Conectar ao banco de dados RMAN alvo para backup</p>
<p>rman nocatalog target /</p>
<p>2. Faça o backup seu banco de dados, logs Arquivo e arquivos de controle. Exemplo:</p>
<p>RMAN&gt; backup device type disk format &#8216;/u03/backup/%U&#8217; database plus archivelog;<br />
RMAN&gt; backup device type disk format &#8216;/u03/backup/ctrlf_%U&#8217; current controlfile;</p>
<p>3. Manualmente façar cópias de seus SPFILEs. Exemplo:</p>
<p>CREATE PFILE=&#8217;/u03/app/oracle/product/10.1.0/dbs/init&lt;sid&gt;.ora&#8217;<br />
FROM SPFILE=&#8217;/+DATA/V10FJ/spfile.ora&#8217;;</p>
<p>Se você não tem um bom backup de todos os bancos de dados (datafiles, control_files, redo logs, logs de arquivo), NÃO CONTINUE ALÉM DO PASSO 1!</p>
<p><strong>PASSO 2: DESLIGUE A INSTÂNCIA(S) ASM</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Pare de suas instâncias de banco de dados e instâncias ASM com sqlplus ou srvctl (RAC)</p>
<p>Exemplo SQLPLUS:</p>
<p>setenv ORACLE_SID +ASM<br />
sqlplus &#8216;/ as sysdba&#8217;<br />
SQL&gt; shutdown immediate</p>
<p>setenv ORACLE_SID DBSCOTT<br />
sqlplus &#8216;/ as sysdba&#8217;<br />
SQL&gt; shutdown immediate</p>
<p>SRVCTL (RAC) Exemplo:</p>
<p>srvctl stop asm -n &lt;node name 1&gt;<br />
srvctl stop asm -n &lt;node name 2&gt;<br />
srvctl stop database -d &lt;DB_NAME&gt;</p>
<p><strong>PASSO 3: USE DD PARA LIMPAR O METADATA de discos ASM</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; -</p>
<p>Todos os metadados ASM devem ser limpos antes de tentar re-criar instâncias ASM e diskgroups. Comando exemplo:</p>
<p>dd if=/dev/zero of=/dev/rdsk/c1t4d0s4 bs=8192 count=12800</p>
<p><strong>PASSO 4: Recriar o seu grupo de disco(s) ASM</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Definir o seu ORACLE_SID à sua instância ASM e criar uma novo diskgroup.<br />
Exemplo:<br />
setenv ORACLE_SID +ASM<br />
sqlplus &#8216;/ as sysdba&#8217;<br />
SQL&gt; startup nomount<br />
SQL&gt; create diskgroup data disk &#8216;/dev/rdsk/c1t4d0s4&#8242;;<br />
SQL&gt; shutdown immediate<br />
SQL&gt; startup mount</p>
<p><strong>PASSO 5: DATABASES RESTORE</strong><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
1. Use RMAN para restaurar os control_files e o banco de dados.<br />
Exemplo:<br />
rman target /<br />
RMAN&gt; restore controlfile from &#8216;/u03/backup/ctrlf_&lt;string&gt;&#8217;; &#8212; onde &lt;string&gt; é uma string unica gerada pelo %U.<br />
RMAN&gt; alter database mount;<br />
RMAN&gt; restore database;<br />
RMAN&gt; recover database;<br />
RMAN&gt; alter database open resetlogs;</p>
<p>2. Se conecte à instância ASM e obtenha o nome do controlfile.<br />
Exemplo:<br />
setenv ORACLE_SID +ASM<br />
sqlplus &#8216;/ as sysdba&#8217;<br />
SQL&gt; select name, alias_directory from v$asm_alias;</p>
<p>Procure o nome controlfile no diretório on estão os CONTROLFILES :Exemplo</p>
<p>4. Editar o init &lt;SID&gt;. Ora e alterare o parâmetro para apontar para control_files, aquele identificado a partir da view v$asm_alias do ASM.</p>
<p>5. Recrie o spfile. Exemplo:</p>
<p>SQL&gt; create spfile=&#8217;+DATA/V10FJ/spfileV10FJ.ora&#8217;<br />
from pfile=&#8217;/u03/app/oracle/product/10.1.0/dbs/pfile.out&#8217;;</p>
<p>6. Deslige e reinicie a instância para usar o spfile recém-criado.</p>
<p>7. Repita o &#8220;PASSO 5&#8243; seção para bancos de dados adicionais.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>APÓS TODOS ESSES PASSOS É SOMENTE SUBIR A INTANCIA.</p>
<p>Inicie a instância usando a cópia local de seu pfile a partir do passo 1.</p>
<p>setenv ORACLE_SID DBALE<br />
sqlplus &#8216;/ as sysdba&#8217;<br />
SQL&gt; startup nomount pfile=init&lt;sid&gt;.ora</p>
<p>É isso aí, espero ajudar muitas pessoas que sofreram com esse problema como eu sofri.</p>
Number of View :785]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/recriando-instancias-asm-e-resolvendo-problemas-com-disckgroups-corrompidos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sobre o desenvolvimento de aplicativos móveis</title>
		<link>http://www.tiespecialistas.com.br/2012/04/sobre-o-desenvolvimento-de-aplicativos-moveis/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/sobre-o-desenvolvimento-de-aplicativos-moveis/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 11:22:02 +0000</pubDate>
		<dc:creator>Cezar Taurion</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Mercado]]></category>
		<category><![CDATA[Mobilidade]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[aplicativos móveis]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[app móveis]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[celular]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[xoom]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16239</guid>
		<description><![CDATA[Semana passada tive um almoço muito legal com um empreendedor que está criando uma empresa voltada para o desenvolvimento de aplicativos móveis.]]></description>
			<content:encoded><![CDATA[<p>Semana passada tive um almoço muito legal com um empreendedor que está criando uma empresa voltada para o desenvolvimento de aplicativos móveis. A conversa então girou em torno do potencial deste mercado e as oportunidades de negócio que ele teria pela frente. Os smartphones e tablets já fazem parte do nosso dia a dia e estão rapidamente se integrando a todas as atividades humanas. Estes aparelhos estão cada vez mais sofisticados e embutem diversos dispositivos que permitem conexão de banda larga, sensores e funcionalidade de geolocalização, entre outras funções, que nos abre inúmeras oportunidades de exploração. Por exemplo, na conversa identificamos o potencial de seu uso na área de saúde. Já existem aplicativos que medem a frequência cardíaca, testam acuidade visual e daltonismo, ajudam no controle da gestação e do controle glicêmico. Um aparelho de pressão acoplado a um smartphone implementa um canal direto de comunicação e informação com o médico. Podemos pensar também em um glicosímetro acoplado a um smartphone, permitindo que o próprio paciente controle a dieta e as doses de insulina e estas informações sejam repassadas ao seu médico. Com estes aparelhos acoplados a smartphones e tablets, implementamos a automonitoração e comunicação direta entre médico e paciente, criando um mecanismo de telemedicina, de forma barata e simples.</p>
<p>Além destas aplicações específicas, está se abrindo um espaço imenso para o uso de tablets e smartphones em qualquer setor de negócios. Hoje já somos tão dependentes dos nossos smartphones e tablets que nenhuma empresa pode impedir ou restringir seu uso corporativo. Um smartphone de hoje tem tanto poder computacional quanto um supercomputador dos anos 80, como o então famoso Cray (na época). Portanto, nenhuma empresa pode ignorar a potencialidade que cada usuário tem em suas mãos ou em seu bolso. Pelo contrário, deve incentivá-lo mais ainda, mesmo que isto demande novos desafios para a área de TI.</p>
<p>Uma maneira de vermos as mudanças que já estão em curso é olharmos para trás e compararmos o atual momento com o surgimento dos PCs. Na chamada era PC, existiam dois mundos: a Web, usada de forma pessoal, para buscas e acesso a sites, mais focada em entretenimento e utilizada em casa. Nas empresas o acesso às informações e sistemas ficava restrito aos PCs oficiais instalados dentro de seus escritórios. Os funcionários só tinham acesso aos sistemas desenvolvidos e mantidos pela área de TI. Com a disseminação da Web 2.0 e as mídias sociais, os funcionários passaram a acessar a Web também de seus PCs e laptops oficiais. Agora a Web já fazia parte das atividades profissionais. No atual mundo dos tablets e smartphones vemos que os funcionários estão conectados a qualquer hora e lugar, acessando não apenas sistemas internos, mas também a Web e de forma inovadora vemos aplicações integrando estes sistemas internos com apps externas disponíveis em apps markets. Um exemplo é acoplar o FourSquare e outras mídias sociais a aplicativos corporativos disponíveis ao pessoal de vendas, para eles encontrarem e reforçarem seus laços de relacionamento com seus potenciais clientes.</p>
<p>Outra mudança significativa é que antes a TI era única que homologava, comprava e emprestava os PCs e laptops aos funcionários. Nos tempos do BlackBerry também&#8230; mas, hoje os próprios funcionários trazem de casa seus tablets e smartphones e querem usá-lo na empresa. Saímos de um ambiente homogêneo e controlado para um ambiente heterogêneo, com cada usuário dispondo não só de smartphones diferentes, mas cada um deles acessando não apenas os aplicativos da empresa, mas os aplicativos que ele, usuário, seleciona nos mercados de apps.</p>
<p>Querem ter uma ideia das diferenças de uso entre laptops e smartphones? Vejam a tabela abaixo:</p>
<div id="attachment_16240" class="wp-caption aligncenter" style="width: 534px"><a href="http://imagens.tiespecialistas.com.br/2012/04/tabelaappmoveis.png"><img class="wp-image-16240 " title="Tabela de Apps Móveis" src="http://imagens.tiespecialistas.com.br/2012/04/tabelaappmoveis.png" alt="Tabela de Apps Móveis" width="524" height="188" /></a><p class="wp-caption-text">Tabela de Apps Móveis</p></div>
<p>O desafio para a área de TI é que estes aparelhos estão entrando nas empresas por todos os lados. Impedir seu uso é impossível, mas é necessário criar procedimentos que garantam a segurança e privacidade dos dados considerados críticos para o negócio. Sim, é um belo desafio. Os modelos tradicionais de controle e homologação não são mais adequados ao mundo dos smartphones. Não é simples separar o lado profissional do pessoal. O FourSquare que citei no exemplo acima. É de uso pessoal? Mas se acoplado ao sistema de CRM da empresa, não passa a ser corporativo? A área de TI tem que começar colocar em prática novos métodos de gestão, adotando tecnologias específicas de MDM (Mobile Device Management), que permitam obter um nível de gerenciamento adequado aos seus requerimentos de governança, muitos deles forçados pelo compliance a regulações a que estão sujeitas. Recomendo a leitura de um artigo muito interessante, publicado em 2010, pela InfoWorld, que mostra uma tabela comparativa dos recursos de segurança dos sistemas operacionais dos smartphones. Vejam em http://tinyurl.com/4vh8rm3. Não está 100% atualizado, mas serve de referência para um estudo mais aprofundado. Outra alternativa a ser considerada é o uso de virtualização nos próprios smartphones, criando ambientes separados (pessoal e profissional) no mesmo dispositivo. Existem algumas alternativas despontando no mercado como a MVP (Mobile Virtualization Platform) da VMWare e o conceito de hypervisor, adotado pela Open Kernel Labs.</p>
<p>O mundo dos smartphones e tablets abre oportunidades de interação que não existiam nos laptops e PCs. Nestes a interação era basicamente o consumo e a criação de conteúdo, que requer apenas um interface simples, como tela e mouse/teclado. Com recursos como GPS, câmeras fotográficas/vídeo e novos interfaces como voz, gestos e outros, o engajamento e interação dos usuários com os aplicativos torna-se muito mais abrangente. Um exemplo simples: você interage de forma totalmente diferente com um game através do Kinect ou Wii que usando apenas os teclados e o mouse. Neles você imerge no próprio jogo. Com novos interfaces dos smartphones será a mesma coisa. O nível de engajamento será diferente do simples ouvir, falar e teclar.</p>
<p>Temos aí outro desafio para a área de TI. Os seus aplicativos deverão ter sua camada de interface redesenhadas para explorar as características dos smartphones e tablets. Hoje foram desenhados para explorar o paradigma do interface via teclado e mouse. Não tem interfaces intuitivos como as apps dos smarthones e isso vai demandar um bom trabalho de redesenho dos interfaces. Provavelmente veremos HTML5 começando a dar sinais de vida nos aplicativos corporativos! Veremos também a área de TI escrevendo novos aplicativos, voltados para explorar as funcionalidades intrínsecas dos smartphones como localização geográfica, acelerômetros, compassos, sensores de proximidade, câmeras fotográficas, etc. Estes aplicativos deverão explorar o fato dos usuários estarem com seus smartphones em locais e situações que não estariam com seus PCs e laptops e ao mesmo tempo eles querem que sua experiência de uso seja similar a que já estão acostumados a ter nestes dispositivos.</p>
<p>Os CIOs não podem esperar o mundo dos smartphones chegar. Ele já chegou. No mundo do PCs ele tinha o controle da situação. Hoje, os usuários podem acessar dados e apps de nuvens sem passar pela área de TI. Podem baixar aplicativos e os usarem em lugar de aplicativos oficiais. E manter os dados em nuvens como o DropBox. O que os CIOs devem fazer? Não lutar contra.</p>
<p>Mas, engajar-se ativamente e fazer com que a área de TI seja a influenciadora deste mundo wireless. O usuário tem em suas mãos um supercomputador dos anos 80 e impedir seu uso seria um contrassenso. Mas, apoiando e influenciando melhores práticas para seu uso é uma estratégia vencedora.</p>
<p>A conversa gerou algumas conclusões interessantes, que compartilho aqui:</p>
<p>a) TI não poderá desenvolver tudo sozinho. Deixe os usuários desenvolverem e escolherem seus aplicativos, mas exerça influência sobre o processo. Crie iniciativas de “P&amp;D” interno, apoiando os usuários a criarem suas próprias soluções e interfaceando estas soluções via APIs seguras (estas desenvolvidas por TI) aos sistemas corporativos.</p>
<p>b) Adote práticas, métodos e tecnologias que permitam implementar a política de BYOD (Bring Your Own Device) na empresa. Uma sugestão é começar ao poucos, liberando a política primeiro a alguns setores e depois aos demais. É um aprendizado que só se vai se dar na prática. Não existe nenhum manual que oriente como fazer isso com sucesso.</p>
<p>c) Não seja pessimista e nem otimista ao extremo. Provavelmente durante muito tempo existirão PCs, laptops, smartphones e tablets. Alguns funcionários deixarão de usar laptops e PCs, mas outros continuarão a usá-los. Uma estratégia de adoção e disseminação da mobilidade e estudos de payback ajudarão na tomada de decisão. Não esqueça que um uso descontrolado de redes 3G poderá aumentar em muito os custos operacionais.</p>
<p>d) Mude o modelo de gestão e governança de TI. Os modelos atuais foram criados para o mundo PC. Modelos como o BYOD e a heterogeneidade de dispositivos vai demandar novas práticas e processos. Uma sugestão seria adotar um processo evolutivo, ajustando e aperfeiçoando as práticas à medida que mais experiências forem sendo adquiridas, tanto pelos usuários, como pela própria área de TI.</p>
<p>e) Não ignore a necessidade de novos skills e tecnologias. Os seus desenvolvedores tem fluência em HTML5, Android e iOS? Existem tecnologias de MDM na organização? A sua equipe de segurança está devidamente preparada para este novo mundo?</p>
<p>No final ficou a questão: Os CIOs tem a grande oportunidade de catalisar, liderar e influenciar este mundo dos smartphones e tablets. Mas o trem já está deixando a estação. Não podem apenas ficar olhando&#8230; Neste caso outros liderarão o processo.</p>
Number of View :892]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/sobre-o-desenvolvimento-de-aplicativos-moveis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quem pode se beneficiar com as metodologias ágeis?</title>
		<link>http://www.tiespecialistas.com.br/2012/04/quem-pode-se-beneficiar-com-as-metodologias-ageis/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/quem-pode-se-beneficiar-com-as-metodologias-ageis/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 17:00:09 +0000</pubDate>
		<dc:creator>Leandro Garcia</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Mercado]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[Adaptive Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Agile Unified Process]]></category>
		<category><![CDATA[ASD]]></category>
		<category><![CDATA[AUP]]></category>
		<category><![CDATA[Crystal]]></category>
		<category><![CDATA[DSDM]]></category>
		<category><![CDATA[Dynamic Systems Development Method]]></category>
		<category><![CDATA[Essential Unified Process]]></category>
		<category><![CDATA[EssUP]]></category>
		<category><![CDATA[FDD]]></category>
		<category><![CDATA[Feature Driven Development]]></category>
		<category><![CDATA[Kanban]]></category>
		<category><![CDATA[Lean Software Development]]></category>
		<category><![CDATA[metodologia ágil]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[xp]]></category>
		<category><![CDATA[xtreme Programming]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=16154</guid>
		<description><![CDATA[Alguns céticos acreditam que os métodos ágeis só servem aos interesses dos desenvolvedores (e sim! ela também serve e deve servir), mas não serve somente para eles porque ser ágil não é entregar mais rápido e sim gerar valor mais rápido e de forma mais humana. Temos que agregar valor aos acionistas na entrega de [...]]]></description>
			<content:encoded><![CDATA[<p>Alguns céticos acreditam que os métodos ágeis só servem aos interesses dos desenvolvedores (e sim! ela também serve e deve servir), mas não serve somente para eles porque ser ágil não é entregar mais rápido e sim gerar valor mais rápido e de forma mais humana.</p>
<p>Temos que agregar valor aos acionistas na entrega de cada projeto e temos que fazer nosso trabalho de forma mais humana e em parte para que possamos fazer coisas melhores.</p>
<p>Agregando valor de forma rápida, os gestores e os acionistas dentre outros tornam o negócio mais rentável e também tiram proveito dos métodos ágeis.</p>
<p>Minha sensação é que tem sido explicado e conversado muito sobre ser ágil, mas para as pessoas de negócios nunca é suficiente, pois todas as coisas maravilhosas sobre métodos ágeis representam para muitos executivos somente algo bonito numa apresentação e/ou anarquista onde o projeto vai perder o controle. Porém, ao estudar e entender os frameworks ágeis fica claro que não existe anarquia, nem perda de controle e sim um foco na entrega de valor.</p>
<p>Existem vários frameworks ágeis e dentre eles estão Extreme Programming (XP), Scrum, Lean Software Development, Kanban, Feature Driven Development (FDD), Adaptive Software Development (ASD), Agile Unified Process (AUP), Essential Unified Process (EssUP), Dynamic Systems Development Method (DSDM), Crystal, etc.</p>
<p>Claro que não existe bala de prata nos métodos ágeis que mate todos os monstros que virão, mas existe um foco no valor e isso é o mais relevante.</p>
<p>Finalmente, para quem ainda é cético, vale a pena olhar a certificação ágil criada pelo PMI e os estudos apresentados pelo Gartner Group dentre outros, pois deixam claro que é possível se beneficiar desta forma de pensar.</p>
Number of View :748]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/quem-pode-se-beneficiar-com-as-metodologias-ageis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ERP X APF (Análise por Ponto de Função)</title>
		<link>http://www.tiespecialistas.com.br/2012/04/erp-x-apf-analise-por-ponto-de-funcao/</link>
		<comments>http://www.tiespecialistas.com.br/2012/04/erp-x-apf-analise-por-ponto-de-funcao/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 13:12:15 +0000</pubDate>
		<dc:creator>Walmir Basevic</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Gerência de Projetos]]></category>
		<category><![CDATA[Governança]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[análise por ponto de função]]></category>
		<category><![CDATA[Análise por Pontos de Função]]></category>
		<category><![CDATA[APF]]></category>
		<category><![CDATA[erp]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=15836</guid>
		<description><![CDATA[Este artigo visa apresentar os motivos pelos quais não se utiliza a técnica APF (Análise por Ponto de Função) nos processos e projetos relacionados à implementação, suporte e melhorias de ERPs.]]></description>
			<content:encoded><![CDATA[<h5>1 &#8211; Objetivo</h5>
<p>Este artigo visa apresentar os motivos pelos quais não se utiliza a técnica APF (Análise por Ponto de Função) nos processos e projetos relacionados à implementação, suporte e melhorias de ERPs.</p>
<h5>2 &#8211; ERP</h5>
<h5>2.1 &#8211; Definição</h5>
<p>Sistemas Integrados de Gestão Empresarial (SIGE ou SIG), em inglês Enterprise Resource Planning (ERP), são sistemas de informação que integram todos os dados e processos de uma organização em um único sistema. A integração pode ser vista sob a perspectiva funcional (sistemas de: finanças, contabilidade, recursos humanos, fabricação, marketing, vendas, compras, etc.) e sob a perspectiva sistêmica (sistema de processamento de transações, sistemas de informações gerenciais, sistemas de apoio à decisão, etc.). Os ERPs, em termos gerais, são uma plataforma de software desenvolvida para integrar os diversos departamentos de uma empresa, possibilitando a automação e armazenamento de todas as informações de negócios.</p>
<h5>2.2 &#8211; Objetivo</h5>
<p>O objetivo do ERP é a gestão integrada dos negócios das Empresas.</p>
<h5>2.3 &#8211; Tarefas Envolvidas</h5>
<p>A seguir descrevemos sucintamente as tarefas envolvidas no ciclo de vida de um ERP numa Empresa.</p>
<h5>2.3.1 &#8211; Implementação</h5>
<p>As tarefas a seguir estão relacionadas com o ciclo de Implementação, ou Instalação, do ERP na Empresa usuária.</p>
<h5>2.3.1.1 &#8211; Levantamento das Necessidades</h5>
<p>Esta tarefa consiste em obter todas as informações necessárias à Implementação correta do ERP na Empresa usuária de forma que o mesmo cubra a maior parte das necessidades de negócio da Empresa que estejam no escopo previsto na contratação do ERP.</p>
<p>Este levantamento é realizado através de entrevistas com os Usuários Chave da Empresa usuária e a definição do escopo detalhado deve ser validada tanto pela fornecedora do ERP, quanto pela Direção da Empresa usuária a fim de alinhar todas as expectativas que envolvem a Implementação do ERP.</p>
<p>Esta tarefa se inicia durante o processo de pré-venda do ERP em um nível superficial e vai, passo a passo, sendo aprofundado durante o processo técnico-comercial e chega a seu ponto de maior profundidade no início do Projeto de Implementação do ERP.</p>
<p>Esta tarefa envolve tanto o conhecimento do negócio por parte dos Usuários Chave da Empresa usuária, quanto o conhecimento das melhores práticas de mercado e das funcionalidades fornecidas pelo ERP por parte dos Consultores do Fornecedor do ERP, para que possam ser definidos, ao final desta tarefa, qual será a abrangência das demais tarefas no Projeto de Implementação, isto é, Parametrização/Configuração, Customização, Capacitação, Testes Unitários e Testes Integrados.</p>
<p>Esta tarefa pode utilizar até 10% (dez por cento) dos esforços envolvidos no Projeto de Implementação.</p>
<h5>2.3.1.2 &#8211; Parametrização/Configuração</h5>
<p>Esta tarefa consiste em Parametrizar/Configurar o ERP para atender às Necessidades de Negócio da Empresa usuária conforme resultado da tarefa Levantamento das Necessidades anteriormente executada.</p>
<p>Parametrizar/Configurar consiste em imputar valores nos parâmetros disponíveis no ERP a fim de que este se comporte da maneira pretendida pelo Fornecedor do ERP e desejada pela Empresa usuária.</p>
<p>Parametrizar/Configurar <strong>NÃO</strong> envolve qualquer tipo de programação/codificação, uma vez que toda Parametrização/Configuração se restringe às funcionalidades oferecidas como padrão pelo ERP.</p>
<p>Esta tarefa pode utilizar até 50% (cinquenta por cento) dos esforços envolvidos no Projeto de Implementação.</p>
<h5>2.3.1.3 &#8211; Customização</h5>
<p>Esta tarefa consiste em ajustar, através de programação/codificação, as funcionalidades oferecidas como padrão pelo ERP a fim de atender às Necessidades de Negócio da Empresa usuária que não possam ser atendidas através de Parametrização/Customização das funcionalidades oferecidas como padrão pelo ERP conforme resultado da tarefa Levantamento das Necessidades anteriormente executada.</p>
<p>Esta tarefa consiste, ainda, em desenvolver, através de programação/codificação, novas funcionalidades, originalmente não oferecidas como padrão pelo ERP, a fim de atender às Necessidades de Negócio da Empresa usuária que não possam ser atendidas através de Parametrização/Customização das funcionalidades oferecidas como padrão pelo ERP conforme resultado da tarefa Levantamento das Necessidades anteriormente executada.</p>
<p>Esta tarefa pode utilizar até 20% (vinte por cento) dos esforços envolvidos no Projeto de Implementação.</p>
<h5>2.3.1.4 &#8211; Capacitação</h5>
<p>Esta tarefa consiste em capacitar os Usuários, Chave e/ou Finais, da Empresa usuária nas funcionalidades padrão do ERP Parametrizadas/Configuradas, bem como nas funcionalidades padrão do ERP Customizadas e nas funcionalidades Desenvolvidas, para o atendimento às Necessidades de Negócio da Empresa usuária conforme resultado da tarefa Levantamento das Necessidades anteriormente executada.</p>
<p>Esta tarefa pode utilizar até 5% (cinco por cento) dos esforços envolvidos no Projeto de Implementação, e, proporcionalmente, até 1% (um por cento) deste esforço, especificamente para a Capacitação nas Customizações.</p>
<h5>2.3.1.5 &#8211; Testes Unitários</h5>
<p>Esta tarefa consiste em testar, de forma unitária, cada uma das funcionalidades Parametrizadas/Configuradas ou Customizadas nas tarefas anteriores a fim de garantir sua aderência individual em relação ao resultado da tarefa Levantamento das Necessidades anteriormente executada.</p>
<p>Esta tarefa pode utilizar até 10% (dez por cento) dos esforços envolvidos no Projeto de Implementação, e, proporcionalmente, até 2% (dois por cento) deste esforço, especificamente para a Capacitação nas Customizações.</p>
<h5>2.3.1.6 &#8211; Testes Integrados</h5>
<p>Esta tarefa consiste em testar, de forma integrada, todas as funcionalidades Parametrizadas/Configuradas e Customizadas nas tarefas anteriores a fim de garantir sua aderência, como conjunto, em relação ao resultado da tarefa Levantamento das Necessidades anteriormente executada.</p>
<p>Esta tarefa pode utilizar até 20% (vinte por cento) dos esforços envolvidos no Projeto de Implementação, e, proporcionalmente, até 4% (quatro por cento) deste esforço, especificamente para a Capacitação nas Customizações.</p>
<h5>2.3.2 &#8211; Suporte Pós-Implementação</h5>
<p>As tarefas a seguir estão relacionadas com o ciclo de vida que ocorre após a Implementação, ou Instalação, do ERP na Empresa usuária.</p>
<h5>2.3.2.1 &#8211; Software</h5>
<p>As tarefas a seguir estão relacionadas com o ERP propriamente dito enquanto conjunto de programas de computador que oferece uma miríade de funcionalidades que visam atender, de forma padrão, às Necessidades de Negócio das Empresas usuárias.</p>
<p>Estas tarefas são de responsabilidade exclusiva do fornecedor do ERP e são cobertas pelo contrato de Manutenção e Suporte firmado entre o fornecedor do ERP e as Empresas usuárias.</p>
<h5>2.3.2.1.1 &#8211; Correção</h5>
<p>Esta tarefa consiste em corrigir comportamentos diferentes do previsto/definido por algum dos programas que compõe o ERP e consiste em ajustar, através de programação/codificação, a funcionalidade em desalinho.</p>
<h5>2.3.2.1.2 &#8211; Melhoria</h5>
<p>Esta tarefa consiste em ampliar o espectro de abrangência de uma funcionalidade já disponibilizada no ERP, ou incluir uma nova funcionalidade na lista das já oferecidas às Empresas usuárias.</p>
<p>Esta tarefa consiste em ajustar, ou desenvolver, através de programação/codificação, a funcionalidade a ser aprimorada ou incluída.</p>
<h5>2.3.2.2 &#8211; Parametrização/Configuração</h5>
<p>As tarefas a seguir estão relacionadas com o Projeto de Implementação do ERP na Empresa usuária e depende de alterações no cenário em que esta Empresa atua, quer por motivos internos (aumento de vendas, mudanças de processo, etc.), quer por motivos externos (ruptura tecnológica, mudanças em seu mercado de atuação, alterações legais ou fiscais, etc.), ou é consequência de incorretude na execução das tarefas Teste Unitário e Teste Integrado descritas acima.</p>
<p>Parametrizar/Configurar <strong>NÃO</strong> envolve qualquer tipo de programação/codificação, uma vez que toda Parametrização/Configuração se restringe às funcionalidades oferecidas como padrão pelo ERP.</p>
<h5>2.3.2.2.1 &#8211; Correção</h5>
<p>Esta tarefa consiste em corrigir comportamentos diferentes do previsto/definido por alguma das parametrizações/configurações das funcionalidades padrão do ERP e consiste em ajustar, através de configuração/parametrização a funcionalidade em desalinho.</p>
<h5>2.3.2.2.2 &#8211; Melhoria</h5>
<p>Esta tarefa consiste em ajustar às novas necessidades de negócio da Empresa usuária os comportamentos diferentes dos atualmente necessários, por alguma alteração no cenário em que esta Empresa atua, as parametrizações/configurações das funcionalidades padrão do ERP em desalinho.</p>
<h5>2.3.3 &#8211; Customização</h5>
<p>As tarefas a seguir estão relacionadas com o Projeto de Implementação do ERP na Empresa usuária e depende de alterações no cenário em que esta Empresa atua, quer por motivos internos (aumento de vendas, mudanças de processo, etc.), quer por motivos externos (ruptura tecnológica, mudanças em seu mercado de atuação, alterações legais ou fiscais, etc.), ou é consequência de incorretude na execução das tarefas Teste Unitário e Teste Integrado descritas acima.</p>
<h5>2.3.3.1.1 &#8211; Correção</h5>
<p>Esta tarefa consiste em corrigir comportamentos diferentes do previsto/definido por alguma das customizações e consiste em ajustar, através de programação/codificação, a funcionalidade em desalinho.</p>
<h5>2.3.3.1.2 &#8211; Melhoria</h5>
<p>Esta tarefa consiste em ajustar às novas necessidades de negócio da Empresa usuária os comportamentos diferentes dos atualmente necessários, por alguma alteração no cenário em que esta Empresa atua, as customizações e consiste em ajustar, através de programação/codificação, a funcionalidade em desalinho.</p>
<h5>2.3.4 &#8211; Elucidação de Dúvidas de Usuários</h5>
<p>Esta tarefa consiste em elucidar dúvidas dos Usuários, Chave ou Finais, da Empresa usuária em relação ao pleno uso das funcionalidades do ERP implementadas nesta Empresa, quer através de Parametrização/Configuração, quer através de Customização, bem como elucidar dúvidas destes Usuários quanto à possibilidade de incremento destas funcionalidades a fim de efetivar todo o potencial que é oferecido pelo ERP.</p>
<p>Esta tarefa <strong>NÃO</strong> envolve qualquer tipo de Programação/Codificação ou Parametrização/Configuração.<strong> </strong></p>
<h5>3 &#8211; APF (Análise por Ponto de Função)</h5>
<h5>3.1 &#8211; Definição</h5>
<p>Método Padrão para medir Software do ponto de vista do Usuário através da quantificação da funcionalidade fornecida e prevê que estas medidas são “afinadas” pela repetição de projetos equivalentes.</p>
<h5>3.2 &#8211; Objetivo</h5>
<p>Medir o desenvolvimento e melhoria/manutenção de <strong>SOFTWARE</strong> de forma independente da tecnologia utilizada para sua implementação.</p>
<h5>3.3 &#8211; Resultados</h5>
<p>A APF é uma técnica eficaz na geração de indicadores para a gerência de projetos de software<a title="" href="/Users/Walmir%20Basevic/Documents/Basevic/Artigos/ERX%20X%20APF%20(An%C3%A1lise%20por%20Ponto%20de%20Fun%C3%A7%C3%A3o).docx#_ftn1">[1]</a>.</p>
<h5>4 &#8211; Conclusão</h5>
<p>Em função da APF (Análise por Ponto de Função) ser um Método cujo objetivo é a medição prévia e a gestão de Projetos de Software, e os Projetos de Implementação e Pós-Implementação de ERP não poderem ser caracterizados como Projetos de Software uma vez que não são intrinsecamente ligados à codificação/programação, os Projetos de Implementação e de Pós-Implementação não podem ser metrificados e/ou gerenciados pela APF.</p>
<p>No limite, apenas 27% (vinte e sete por cento) de um Projeto de Implementação de ERP estão intrinsecamente ligados à codificação/programação, conforme lista de tarefas a seguir:</p>
<ul>
<li>Customização</li>
<li>Capacitação (no que tange às Customizações)</li>
<li>Testes Unitários (no que tange às Customizações)</li>
<li>Testes Integrados (no que tange às Customizações)</li>
</ul>
<p>Este percentual não é suficientemente relevante para que todo o Projeto de Implementação de ERP seja metrificado e/ou gerenciado pela APF.</p>
<p>Os Projetos de Implementação de ERP não possuem repetição em relação aos itens de Customização, uma vez que se estes itens passarem a se repetir a funcionalidade inerente a estes deve passar a ser fornecida de maneira padrão pelo ERP e deixará de ser Customização, passando a se tratar de uma Parametrização/Configuração e, novamente, não podendo ser metrificada e/ou gerenciada pela APF.</p>
<p>Em se tratando de Projetos de Pós-Implementação, das seguintes tarefas, apenas as duas últimas estão relacionadas com as Empresas usuárias do ERP, e são de volume estatisticamente pouco representativo, cerca de 25% (vinte e cinco por cento), o que não as torna suficientemente relevante para que todo o Projeto de Pós-Implementação de ERP seja metrificado e/ou gerenciado pela APF.</p>
<ul>
<li>Correções de Software (de responsabilidade e visibilidade restritas ao fornecedor do ERP)</li>
<li>Melhorias de Software (de responsabilidade e visibilidade restritas ao fornecedor do ERP)</li>
<li>Correções de Customizações</li>
<li>Melhorias de Customizações</li>
</ul>
<p>Assim, pelas razões expostas acima, o APF não se aplica a Projetos de Implementação e Pós-Implementação de ERPs.</p>
<div>
<hr align="left" size="1" width="33%" />
<div>
<p><a title="" href="/Users/Walmir%20Basevic/Documents/Basevic/Artigos/ERX%20X%20APF%20(An%C3%A1lise%20por%20Ponto%20de%20Fun%C3%A7%C3%A3o).docx#_ftnref1">[1]</a> Projetos de Software são projetos que tem como entregável principal um ou mais produtos de software (programas de computador). Portanto estes projetos se caracterizam por tarefas intrinsecamente ligadas à codificação/programação.</p>
</div>
</div>
Number of View :750]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/04/erp-x-apf-analise-por-ponto-de-funcao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reduzindo Custos Através da Assinatura Digital</title>
		<link>http://www.tiespecialistas.com.br/2012/03/reduzindo-custos-atraves-da-assinatura-digital/</link>
		<comments>http://www.tiespecialistas.com.br/2012/03/reduzindo-custos-atraves-da-assinatura-digital/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 11:24:57 +0000</pubDate>
		<dc:creator>Waldemar Felippe</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[assinador de contratos]]></category>
		<category><![CDATA[assinador de documentos]]></category>
		<category><![CDATA[assinatura de contratos]]></category>
		<category><![CDATA[assinatura digital]]></category>
		<category><![CDATA[assinatura digital de contratos]]></category>
		<category><![CDATA[assinatura digital de documentos]]></category>
		<category><![CDATA[assinatura digital de procurações]]></category>
		<category><![CDATA[assinatura eletrônica]]></category>
		<category><![CDATA[Assinaturas Digitais]]></category>
		<category><![CDATA[certificação digital]]></category>
		<category><![CDATA[certificado digital]]></category>
		<category><![CDATA[contrato]]></category>
		<category><![CDATA[contrato digital]]></category>
		<category><![CDATA[contrato eletrônico]]></category>
		<category><![CDATA[contratos]]></category>
		<category><![CDATA[contratos digitais]]></category>
		<category><![CDATA[contratos eletrônicos]]></category>
		<category><![CDATA[controle de poderes]]></category>
		<category><![CDATA[controle de poderes e alçadas]]></category>
		<category><![CDATA[documento]]></category>
		<category><![CDATA[documento digital]]></category>
		<category><![CDATA[Documento Eletrônico]]></category>
		<category><![CDATA[documentos]]></category>
		<category><![CDATA[documentos digitais]]></category>
		<category><![CDATA[documentos e poderes]]></category>
		<category><![CDATA[Documentos Eletrônicos]]></category>
		<category><![CDATA[firmas e poderes]]></category>
		<category><![CDATA[ICP Brasil]]></category>
		<category><![CDATA[poderes e alçadas]]></category>
		<category><![CDATA[Procuração Eletrônica]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[workflow de assinaturas]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=15973</guid>
		<description><![CDATA[Para continuar sobrevivendo nos dias atuais, as empresas precisam buscar continuamente caminhos para cortar custos operacionais e obter vantagens competitivas, pois se assim não o fizerem seus concorrentes certamente o farão, deixando-as para trás.]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Arial, Helvetica, sans-serif;"><img class="size-full wp-image-15976 alignright" src="http://imagens.tiespecialistas.com.br/2012/03/bn_assinaturadigital.jpg" alt="Assinatura Digital" width="197" height="104" />Para continuar sobrevivendo nos dias atuais, as empresas precisam buscar continuamente caminhos para cortar custos operacionais e obter vantagens competitivas, pois se assim não o fizerem seus concorrentes certamente o farão, deixando-as para trás. Uma das formas que as empresas têm procurado para se manter competitivas é automatizar seus fluxos de trabalho através do uso de aplicações de produtividade tais como ferramentas de gerenciamento de conteúdo eletrônico (ECM) e automação de escritório. </span></p>
<p><span style="font-family: Arial, Helvetica, sans-serif;">Entretanto, devido ao fato destes processos requererem aprovações formais e estarem sujeitos a regulamentações, as empresas são levadas a pensar que seus sistemas de gerenciamento de conteúdo eletrônico não são capazes de operar sem o uso do papel. Assim, elas voltam a imprimir documentos em papel para que sejam fisicamente assinados, depois digitalizados, arquivados, encaminhados aos seus signatários e, muitas vezes, extraviados durante este processo. Isto literalmente emperra processos de negócios tidos como eficientes, ao mesmo tempo em que aumenta os custos operacionais.</span></p>
<h5><strong><span style="font-family: Arial, Helvetica, sans-serif;">Automatizando Processos de Aprovação e Formalização</span></strong></h5>
<p><span style="font-family: Arial, Helvetica, sans-serif;">Muitos processos dentro do fluxo de trabalho de uma empresa requerem aprovações ou autorizações formais. Um caminho ideal para resolver esta questão passa pela adoção de uma solução corporativa de assinatura digital que permita automatizar os processos de aprovações, formalizações e autorizações, possibilitando à empresa manter um controle completo sobre todo o fluxo, desde a criação do documento até a sua formalização (assinatura), arquivamento e auditoria. Esta solução aumenta o retorno que a empresa terá sobre o investimento inicial, necessário para a implantação do processo de automatização do negócio, à medida que não será mais necessário interromper o processo eletrônico para reintroduzir o papel (documento físico) no processo.</span></p>
<p><span style="font-family: Arial, Helvetica, sans-serif;"><strong>Cada contrato em papel</strong>, formalizado através da assinatura de próprio punho, <strong>custa para as empresas</strong>, dentro de uma estimativa extremamente conservadora, a importância de <strong>R$ 37,87</strong> em impressão, cartórios, transporte e encaminhamento, digitalização, arquivamento e perda e recuperação de documentos. Embora um pouco menores (cerca de 30% menores) estes mesmos custos são experimentados pelas outras partes de cada contrato (fornecedores, parceiros, etc.).</span></p>
<p><span style="font-family: Arial, Helvetica, sans-serif;">Implementar uma solução de assinatura digital de contratos eletrônicos pode significar uma <strong>redução</strong>, dependendo do cenário analisado, <strong>de até 80% dos custos</strong> tidos com o processo de formalização de contratos baseados em papel. Como o investimento inicial para a implantação da solução é extremamente baixo, o prazo para o retorno do investimento é seguramente muito curto, não ultrapassando pouquíssimos meses ou até mesmo dias, mesmo em cenários onde existe a necessidade de serviços de integração e/ou personalização. Com a assinatura digital, seus clientes, fornecedores e parceiros de negócios também estarão se beneficiando, não só da redução dos custos, mas também da otimização dos processos.</span></p>
<p><span style="font-family: Arial, Helvetica, sans-serif;">Nos próximos artigos estaremos detalhando os custos inerentes ao processo de formalização de contratos, demonstrando as vantagens da adoção da assinatura digital.</span></p>
Number of View :661]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/03/reduzindo-custos-atraves-da-assinatura-digital/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GREEN HAT – Uma Visão Geral, Virtualizando o Ambiente de Testes</title>
		<link>http://www.tiespecialistas.com.br/2012/03/green-hat-uma-visao-geral-virtualizando-o-ambiente-de-testes/</link>
		<comments>http://www.tiespecialistas.com.br/2012/03/green-hat-uma-visao-geral-virtualizando-o-ambiente-de-testes/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 17:00:36 +0000</pubDate>
		<dc:creator>Andrea Rodacki</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Gerência de Projetos]]></category>
		<category><![CDATA[Gestão de Processos]]></category>
		<category><![CDATA[Governança]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[TI Corporativa]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[educação]]></category>
		<category><![CDATA[gerencia de projetos]]></category>
		<category><![CDATA[gestão de projetos]]></category>
		<category><![CDATA[governança]]></category>
		<category><![CDATA[inovação]]></category>
		<category><![CDATA[planejamento]]></category>
		<category><![CDATA[processos]]></category>
		<category><![CDATA[qualidade]]></category>
		<category><![CDATA[qualidade de software]]></category>
		<category><![CDATA[sucesso]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[tecnologia da informação]]></category>
		<category><![CDATA[Teste]]></category>
		<category><![CDATA[teste de software]]></category>

		<guid isPermaLink="false">http://www.tiespecialistas.com.br/?p=15932</guid>
		<description><![CDATA[Este artigo é o primeiro de uma série chamada “Green Hat: conhecendo esta aquisição da IBM que revolucionará o mercado de testes” e visa mostrar, em poucas linhas, os benefícios das poderosas soluções oferecidas.]]></description>
			<content:encoded><![CDATA[<p>Este artigo é o primeiro de uma série chamada “<a href="http://www.greenhat.com/">Green Hat</a>: conhecendo esta aquisição da IBM que revolucionará o mercado de testes” e visa mostrar, em poucas linhas, os benefícios das poderosas soluções oferecidas.</p>
<p>A <a href="http://www.greenhat.com/">Green Hat</a> foi adquirida pela IBM no início de 2012 com o objetivo de integrar o portfólio de produtos RATIONAL voltados à qualidade de software e assim fortalecer a estratégia da IBM em oferecer soluções que favorecem o desenvolvimento ágil.</p>
<p>Um dos princípios da metodologia ágil é “satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado” e isto pode ser alcançado com as soluções <a href="http://www.greenhat.com/">Green Hat</a>, que permitem aos desenvolvedores conduzir testes durante a fase de desenvolvimento, através de um ambiente virtualizado, o qual tem a capacidade de simular serviços dependentes e aplicações inteiras, proporcionando testes de integração com outros sistemas sem a necessidade de se construir um laboratório de testes, com todos os artefatos de hardware e software que compõem o ambiente de produção.</p>
<p>Imagine o desenvolvimento de uma aplicação que se comunica com muitos outros sistemas e com os mais diversos protocolos e tecnologias como HTTP, <em>web services</em>, SOA, JMS, TIBCO, IBM WebSphere MQ e SAP. Nestes casos, construir uma infraestrutura física ou instâncias na nuvem para fins de teste vai demandar tempo dos desenvolvedores além de ser caro para a empresa. Com as soluções <a href="http://www.greenhat.com/">Green Hat</a> é possível a criação de “serviços virtuais” que simulam o comportamento de um aplicativo inteiro. Estes “serviços virtuais” podem rodar em um hardware <em>commodity,</em> em uma nuvem privada ou pública e assim, cada desenvolvedor e analista de testes, pode facilmente ter seu próprio ambiente de teste.</p>
<p>Utilizar o tempo dos desenvolvedores para garantir produtos de alta qualidade, minimizar o custo de desenvolvimento e entregar produtos com maior agilidade é primordial em todos os mercados.</p>
<p>Considerando a atual demanda de mercados em expansão como <em>smartphones</em> e <em>tablets</em>, que requerem cada vez mais aplicações, estes requisitos são ainda mais evidentes, pois os consumidores esperam produtos que atendam totalmente as suas expectativas, de maneira segura e sem <em>bugs</em>. Neste cenário, ao utilizar as soluções <a href="http://www.greenhat.com/">Green Hat</a>, um ambiente de teste virtual pode ser configurado numa questão de minutos versus semanas, e também, por uma fração do custo que seria montar este ambiente físico.</p>
<p>Sintetizando, as soluções <a href="http://www.greenhat.com/">Green Hat</a> promovem:</p>
<ul>
<li>Redução do Custo de Testes de Software:
<ul>
<li>Custos de infraestrutura na construção do laboratório de testes podem ser reduzidos em até 90%;</li>
<li>O trabalho envolvido na criação de ambientes de teste pode ser reduzido em até 80%;</li>
<li>O custo atrelado a testes envolvendo tecnologias de terceiros e taxas de serviço podem ser diminuídos  ou eliminados.</li>
</ul>
</li>
<li>Redução do Ciclo de Desenvolvimento do Software:
<ul>
<li>Ambientes de teste podem ser configurados em minutos versus semanas;</li>
<li>Os analistas de testes podem focar sua atuação nos testes, ao invés de usarem seu tempo na configuração dos ambientes de teste;</li>
<li>Mais testes de regressão podem ser feitos durante o desenvolvimento, ou seja, haverá maior garantia que não surgirão novos defeitos em componentes já testados.</li>
</ul>
</li>
<li>Aumento da Qualidade do Software:
<ul>
<li>Os desenvolvedores possuem recursos para testar o software durante o desenvolvimento, ainda na camada API (<em>Application Programming Interface</em>).</li>
<li>Grandes equipes que trabalham em diferentes partes de um aplicativo podem efetivamente fazer desenvolvimento paralelo por meio da virtualização de diferentes partes do sistema, promovendo a colaboração.</li>
</ul>
</li>
</ul>
<p>Acompanhe os próximos artigos e saiba mais sobre a solução <a href="http://www.greenhat.com/">Green Hat</a>, pois falaremos sobre casos reais e como empresas nos Estados Unidos, Europa e Austrália estão se beneficiando destas soluções.</p>
<p>Para mais informações, contate <a href="mailto:arodacki@br.ibm.com">arodacki@br.ibm.com</a></p>
Number of View :1679]]></content:encoded>
			<wfw:commentRss>http://www.tiespecialistas.com.br/2012/03/green-hat-uma-visao-geral-virtualizando-o-ambiente-de-testes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

