[oracle_br] Segurança na Camada TNS do Oraqcle

2020-06-10 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Olá senhores, tem uma situação em que temos as senhas dos usuários armazenadas 
em uma tabela com hash md5.
Para validar basta executar um como o abaixo:
select md5('minhasenha') from dual;

MD5('MINHASENHA')

7C67E713A4B4139702DE1A4FAC672344
Minha duvida consiste no seguinte: Aqui mesmo no grupo já vi exemplo de 
conseguir ler as instruções SQLs que estão nos pacotes de rede, e como o sql 
contem a senha verdadeira do usuario, gostaria de saber como protejo as 
"conversas" entre a aplicação e o Banco de dados.



Obrigado.
Alessandro Lúcio Cordeiro da Silva Analista de Sistema



þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Re: [oracle_br] Res: CONTAINS não Retorna Dados

2020-03-11 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Obrigado Jorge

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema


þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

 

Em quarta-feira, 11 de março de 2020 14:46:10 AMT, Jorge luiz 
jota_l...@yahoo.com.br [oracle_br]  escreveu:  
 
     

Bug 12618046

Certain Oracle Text functionality based on third-party technologies, including 
AUTO_LEXER and CTX_ENTITY, have been disabled in release 11.2.0.4 (reference 
Bug 12618046). For BASIC_LEXER, the usage of the INDEX_STEMS attribute values 
that depend on third-party technologies, is also affected. If this impacts an 
existing application, contact Oracle Support Services for guidance.

JLVAZ  

Em quarta-feira, 11 de março de 2020 15:40:02 BRT, Alessandro Lúcio 
Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br] 
 escreveu:  
 
     

Pessoal,
O esquema que tem a tabela livro é o ERPEDU_PRODUCAO, na verdade é o schema que 
tem todas as tabelas do sistema, o esquema DBAEFIKASE é o esquema que uso para 
administrar o banco, e ele não tem nenhuma tabela de negocio, somente umas que 
criou para monitorar/controlar alguma tarefas administrativa do banco.
A versão do Banco é Oracle 11.2.0.4 rodando em um Oracle Linux 6.5. E, 
possivelmente é um BUG mesmo, pois importei a tabela para o Oracle 18C e a 
tabela funcionou normalmente. Vejam.;





sqlplus ERPEDU_PRODUCAO/disco@orpdbt05
SQL*Plus: Release 18.0.0.0.0 Production on Wed Mar 11 14:33:28 2020Version 
18.1.0.0.0
Copyright (c) 1982, 2017, Oracle.  All rights reserved.
Last Successful login time: Wed Mar 11 2020 14:32:04 -04:00
Connected to:Oracle Database 18c EE Extreme Perf Release 18.0..0.0.0 - 
ProductionVersion 18.1.0.0.0
SQL> select liv_titulo from LIVRO where CONTAINS(LIV_TITULO,'direito',1) > 0 
and rownum <=5;
LIV_TITULO10
 de dezembro de 1948: a declaracao universal do direito humanos1000 perguntas 
de direito civilA Republica Federativa do Brasil e o seus fundamentos na 
formac?o do estado democratico de direito
A Republica Federativa do Brasil e o seus fundamentos na formac?o do estado 
democratico de direito
A anencefalia e o direito a antecipac?o do parto
SQL>



Obrigado!

Alessandro Lúcio Cordeiro da Silva Analista de Sistema



þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

 

Em quarta-feira, 11 de março de 2020 12:32:28 AMT, Jose Laurindo Chiappa 
jlchia...@yahoo.com.br [oracle_br]  escreveu:  
 
     

 E um detalhe ** crítico ** notar que quando VOCÊ criou o índice, vc indicou um 
LEXER DBAEFIKASE.MIXED_CASE_LEXER_PREF :

 CREATE INDEX IDX_SEARCH_LIV_TITULO ON  "LIVRO" ("LIV_TITULO")    INDEXTYPE IS 
"CTXSYS"."CONTEXT"  PARAMETERS ('LEXER DBAEFIKASE.MIXED_CASE_LEXER_PREF')


==> veja no MEU exemplo que eu criei o LEXER no *** MESMO  schema onde 
estão a tabela e o índice :

SCOTT@xepdb1::CONTAINER=XEPDB1> l
  1  BEGIN
  2    CTX_DDL.CREATE_PREFERENCE ('MIXED_CASE_LEXER_PREF','BASIC_LEXER');
  3    CTX_DDL.SET_ATTRIBUTE ('MIXED_CASE_LEXER_PREF', 'mixed_case', 
'FALSE');
  4    CTX_DDL.SET_ATTRIBUTE ('MIXED_CASE_LEXER_PREF', 'base_letter', 
'TRUE');
  5* END;
SCOTT@xepdb1::CONTAINER=XEPDB1> /

Procedimento PL/SQL concludo com sucesso.

SCOTT@xepdb1::CONTAINER=XEPDB1> CREATE INDEX IDX_SEARCH_LIV_TITULO ON  LIVRO 
(LIV_TITULO)    INDEXTYPE IS
  2* "CTXSYS"."CONTEXT"  PARAMETERS ('LEXER MIXED_CASE_LEXER_PREF');
SCOTT@xepdb1::CONTAINER=XEPDB1> /

Índice criado.



==>> EU NÃO USEI esse tal schema DBAEFIKASE  NOVAMENTE, DEPOIS de 
confirmado que tudo está criado ok, primeiro REFAÇA o meu exemplo de tudo estar 
no mesmo schema , para só DEPOIS testar objetos em schemas diferentes.
[]s

  Chiappa

Em quarta-feira, 11 de março de 2020 13:24:55 BRT, Jose Laurindo Chiappa 
jlchia...@yahoo.com.br [oracle_br]  escreveu:  
 
 

 Então, pra mim a questão é SIMPLES : como eu disse, se depois de uma 
verificação COMPLETA vc confirmar que além do OWNER os SCHEMAS aonde foram 
criados o LEXER e o índice , a Tabela onde foi criado o índice, etc, etc, 
estiver tudo 100% correto, só RESTA a chance de BUG na sua versão (que pra 
variar vc não diz qual é) OU de erro no seu procedimento (digamos, índice não 
atualizado, talvez)
Abraços,
  Chiappa

---------
Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br] 
Para:oracle...@yahoogrupos.com.brqua., 11 de mar. 
às 12:30



O OWNER é o mesmo nos dois sql's, so deixei o owner em um e no outro coloquei..
Mas o mais intrigante é que quando pesquiso somente a palavra mediciona, o sql 
retorna dados..  
A

Re: [oracle_br] Res: CONTAINS não Retorna Dados

2020-03-11 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Pessoal,
O esquema que tem a tabela livro é o ERPEDU_PRODUCAO, na verdade é o schema que 
tem todas as tabelas do sistema, o esquema DBAEFIKASE é o esquema que uso para 
administrar o banco, e ele não tem nenhuma tabela de negocio, somente umas que 
criou para monitorar/controlar alguma tarefas administrativa do banco.
A versão do Banco é Oracle 11.2.0.4 rodando em um Oracle Linux 6.5. E, 
possivelmente é um BUG mesmo, pois importei a tabela para o Oracle 18C e a 
tabela funcionou normalmente. Vejam.;





sqlplus ERPEDU_PRODUCAO/disco@orpdbt05
SQL*Plus: Release 18.0.0.0.0 Production on Wed Mar 11 14:33:28 2020Version 
18.1.0.0.0
Copyright (c) 1982, 2017, Oracle.  All rights reserved.
Last Successful login time: Wed Mar 11 2020 14:32:04 -04:00
Connected to:Oracle Database 18c EE Extreme Perf Release 18.0.0.0.0 - 
ProductionVersion 18.1.0.0.0
SQL> select liv_titulo from LIVRO where CONTAINS(LIV_TITULO,'direito',1) > 0 
and rownum <=5;
LIV_TITULO10
 de dezembro de 1948: a declaracao universal do direito humanos1000 perguntas 
de direito civilA Republica Federativa do Brasil e o seus fundamentos na 
formac?o do estado democratico de direito
A Republica Federativa do Brasil e o seus fundamentos na formac?o do estado 
democratico de direito
A anencefalia e o direito a antecipac?o do parto
SQL>



Obrigado!

Alessandro Lúcio Cordeiro da Silva Analista de Sistema



þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

 

Em quarta-feira, 11 de março de 2020 12:32:28 AMT, Jose Laurindo Chiappa 
jlchia...@yahoo.com.br [oracle_br]  escreveu:  
 
     

 E um detalhe ** crítico ** notar que quando VOCÊ criou o índice, vc indicou um 
LEXER DBAEFIKASE.MIXED_CASE_LEXER_PREF :

 CREATE INDEX IDX_SEARCH_LIV_TITULO ON  "LIVRO" ("LIV_TITULO")    INDEXTYPE IS 
"CTXSYS"."CONTEXT"  PARAMETERS ('LEXER DBAEFIKASE.MIXED_CASE_LEXER_PREF')


==> veja no MEU exemplo que eu criei o LEXER no *** MESMO  schema onde 
estão a tabela e o índice :

SCOTT@xepdb1::CONTAINER=XEPDB1> l
  1  BEGIN
  2    CTX_DDL.CREATE_PREFERENCE ('MIXED_CASE_LEXER_PREF','BASIC_LEXER');
  3    CTX_DDL.SET_ATTRIBUTE ('MIXED_CASE_LEXER_PREF', 'mixed_case', 
'FALSE');
  4    CTX_DDL.SET_ATTRIBUTE ('MIXED_CASE_LEXER_PREF', 'base_letter', 
'TRUE');
  5* END;
SCOTT@xepdb1::CONTAINER=XEPDB1> /

Procedimento PL/SQL concludo com sucesso.

SCOTT@xepdb1::CONTAINER=XEPDB1> CREATE INDEX IDX_SEARCH_LIV_TITULO ON  LIVRO 
(LIV_TITULO)    INDEXTYPE IS
  2* "CTXSYS"."CONTEXT"  PARAMETERS ('LEXER MIXED_CASE_LEXER_PREF');
SCOTT@xepdb1::CONTAINER=XEPDB1> /

Índice criado.



==>> EU NÃO USEI esse tal schema DBAEFIKASE  NOVAMENTE, DEPOIS de 
confirmado que tudo está criado ok, primeiro REFAÇA o meu exemplo de tudo estar 
no mesmo schema , para só DEPOIS testar objetos em schemas diferentes.
[]s

  Chiappa

Em quarta-feira, 11 de março de 2020 13:24:55 BRT, Jose Laurindo Chiappa 
jlchia...@yahoo.com.br [oracle_br]  escreveu:  
 
 

 Então, pra mim a questão é SIMPLES : como eu disse, se depois de uma 
verificação COMPLETA vc confirmar que além do OWNER os SCHEMAS aonde foram 
criados o LEXER e o índice , a Tabela onde foi criado o índice, etc, etc, 
estiver tudo 100% correto, só RESTA a chance de BUG na sua versão (que pra 
variar vc não diz qual é) OU de erro no seu procedimento (digamos, índice não 
atualizado, talvez)
Abraços,
  Chiappa

---------
Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br] 
Para:oracle...@yahoogrupos.com.brqua., 11 de mar. 
às 12:30



O OWNER é o mesmo nos dois sql's, so deixei o owner em um e no outro coloquei..
Mas o mais intrigante é que quando pesquiso somente a palavra mediciona, o sql 
retorna dados..  
Alessandro Lúcio Cordeiro da Silva Analista de Sistema






   #yiv6847206197 #yiv6847206197 -- #yiv6847206197ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv6847206197 
#yiv6847206197ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv6847206197 
#yiv6847206197ygrp-mkp #yiv6847206197hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv6847206197 #yiv6847206197ygrp-mkp #yiv6847206197ads 
{margin-bottom:10px;}#yiv6847206197 #yiv6847206197ygrp-mkp .yiv6847206197ad 
{padding:0 0;}#yiv6847206197 #yiv6847206197ygrp-mkp .yiv6847206197ad p 
{margin:0;}#yiv6847206197 #yiv6847206197ygrp-mkp .yiv6847206197ad a 
{color:#ff;text-decoration:none;}#yiv6847206197 #yiv6847206197ygrp-sponsor 
#yiv6847206197ygrp-lc {font-family:Arial;}#yiv6847206197 
#yiv6847206197ygrp-sponsor #yiv6847206197ygrp-lc #yiv6847206197hd {margin:10px 
0px;font-weight:700;font-size:78%;line-h

Re: [oracle_br] Res: CONTAINS não Retorna Dados

2020-03-11 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]




O OWNER é o mesmo nos dois sql's, so deixei o owner em um e no outro coloquei.
Mas o mais intrigante é que quando pesquiso somente a palavra mediciona, o sql 
retorna dados.  
Alessandro Lúcio Cordeiro da Silva Analista de Sistema



þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

 

Em quarta-feira, 11 de março de 2020 11:23:15 AMT, Jorge luiz 
jota_l...@yahoo.com.br [oracle_br]  escreveu:  
 
     

Os selects são diferentes :
SQL> select liv_titulo from LIVRO where CONTAINS(LIV_TITULO,'direito',1) > 0;
nÒo hß linhas selecionadas
SQL> select liv_titulo from ERPEDU_PRODUCAO.LIVRO where 
CONTAINS(LIV_TITULO,'direito and nasce',1) > 0;

Não sei de onde ele está buscando o primeiro select, mas foi onde vc criou os 
índices.
Verifique o OWNER. É complicado responder só observando, mas parece que tem 
algo de estranho nessa segunda execução.
Abçs  #yiv4032025139 #yiv4032025139 -- #yiv4032025139ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv4032025139 
#yiv4032025139ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv4032025139 
#yiv4032025139ygrp-mkp #yiv4032025139hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv4032025139 #yiv4032025139ygrp-mkp #yiv4032025139ads 
{margin-bottom:10px;}#yiv4032025139 #yiv4032025139ygrp-mkp .yiv4032025139ad 
{padding:0 0;}#yiv4032025139 #yiv4032025139ygrp-mkp ..yiv4032025139ad p 
{margin:0;}#yiv4032025139 #yiv4032025139ygrp-mkp .yiv4032025139ad a 
{color:#ff;text-decoration:none;}#yiv4032025139 #yiv4032025139ygrp-sponsor 
#yiv4032025139ygrp-lc {font-family:Arial;}#yiv4032025139 
#yiv4032025139ygrp-sponsor #yiv4032025139ygrp-lc #yiv4032025139hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv4032025139 
#yiv4032025139ygrp-sponsor #yiv4032025139ygrp-lc .yiv4032025139ad 
{margin-bottom:10px;padding:0 0;}#yiv4032025139 #yiv4032025139actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv4032025139 
#yiv4032025139activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv4032025139
 #yiv4032025139activity span {font-weight:700;}#yiv4032025139 
#yiv4032025139activity span:first-child 
{text-transform:uppercase;}#yiv4032025139 #yiv4032025139activity span a 
{color:#5085b6;text-decoration:none;}#yiv4032025139 #yiv4032025139activity span 
span {color:#ff7900;}#yiv4032025139 #yiv4032025139activity span 
.yiv4032025139underline {text-decoration:underline;}#yiv4032025139 
.yiv4032025139attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv4032025139 .yiv4032025139attach div a 
{text-decoration:none;}#yiv4032025139 .yiv4032025139attach img 
{border:none;padding-right:5px;}#yiv4032025139 .yiv4032025139attach label 
{display:block;margin-bottom:5px;}#yiv4032025139 .yiv4032025139attach label a 
{text-decoration:none;}#yiv4032025139 blockquote {margin:0 0 0 
4px;}#yiv4032025139 .yiv4032025139bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv4032025139 
.yiv4032025139bold a {text-decoration:none;}#yiv4032025139 dd.yiv4032025139last 
p a {font-family:Verdana;font-weight:700;}#yiv4032025139 dd.yiv4032025139last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv4032025139 
dd.yiv4032025139last p span.yiv4032025139yshortcuts 
{margin-right:0;}#yiv4032025139 div.yiv4032025139attach-table div div a 
{text-decoration:none;}#yiv4032025139 div.yiv4032025139attach-table 
{width:400px;}#yiv4032025139 div.yiv4032025139file-title a, #yiv4032025139 
div.yiv4032025139file-title a:active, #yiv4032025139 
div.yiv4032025139file-title a:hover, #yiv4032025139 div.yiv4032025139file-title 
a:visited {text-decoration:none;}#yiv4032025139 div.yiv4032025139photo-title a, 
#yiv4032025139 div.yiv4032025139photo-title a:active, #yiv4032025139 
div.yiv4032025139photo-title a:hover, #yiv4032025139 
div.yiv4032025139photo-title a:visited {text-decoration:none;}#yiv4032025139 
div#yiv4032025139ygrp-mlmsg #yiv4032025139ygrp-msg p a 
span.yiv4032025139yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv4032025139 
.yiv4032025139green {color:#628c2a;}#yiv4032025139 .yiv4032025139MsoNormal 
{margin:0 0 0 0;}#yiv4032025139 o {font-size:0;}#yiv4032025139 
#yiv4032025139photos div {float:left;width:72px;}#yiv4032025139 
#yiv4032025139photos div div {border:1px solid 
#66;min-height:62px;overflow:hidden;width:62px;}#yiv4032025139 
#yiv4032025139photos div label 
{color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv4032025139
 #yiv4032025139reco-category {font-size:77%;}#yiv4032025139 
#yiv4032025139reco-desc {font-size:77%;}#yiv4032025139 .yiv4032025139replbq 
{margin:4px;}#yiv4032025139 #yiv4032025139ygrp-actbar div a:first-child 
{margin-right:2px;padding-right:5px;}#yiv4032025139 #yiv4032025139ygrp-

[oracle_br] CONTAINS não Retorna Dados

2020-03-10 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]

Olá Senhores,
Estou com uma situação que realmente não consigo entender. Existe muitos livros 
com a palavra direito e quando uso o CONTAINS  o Oracle não me retorna nenhuma 
linha.
Veja como fiz  
* Criei uma preferencia para se case-insentive e ignorar acentos.
BEGIN



  CTX_DDL.CREATE_PREFERENCE ('MIXED_CASE_LEXER_PREF','BASIC_LEXER');

  CTX_DDL.SET_ATTRIBUTE('MIXED_CASE_LEXER_PREF', 'mixed_case', 'FALSE');

 CTX_DDL.SET_ATTRIBUTE ('MIXED_CASE_LEXER_PREF', 'base_letter', 'TRUE'); 

END;
/
* Depois criei o index sobre a coluna LIV_TITULO.


  CREATE INDEX IDX_SEARCH_LIV_TITULO ON  "LIVRO" ("LIV_TITULO")    INDEXTYPE IS 
"CTXSYS"."CONTEXT"  PARAMETERS ('LEXER DBAEFIKASE.MIXED_CASE_LEXER_PREF')

Quando Executo o SQL veja o que ocorre;

 SQL> select liv_titulo from LIVRO where CONTAINS(LIV_TITULO,'direito',1) > 0;
nÒo hß linhas selecionadas
SQL> select liv_titulo from ERPEDU_PRODUCAO.LIVRO where 
CONTAINS(LIV_TITULO,'direito and nasce',1) > 0;
LIV_TITULOComo
 nasce o direito
Como nasce o direitoComo nasce o direito

Observem que a primeira consulta e é abrangente não traz linhas, mas quando 
pesquiso por "direito" AND "nasce" o Oracle encontra as linhas. Alguém consegue 
entender este comportamento?

Obrigado. 






Re: [oracle_br] Re: Erro ora-19599 ao Fazer o Restore

2019-04-18 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Bom dia ,
Cesar, então fazer a copia a nível de S.O (scp cp ,rsync) OU via banco com 
"Backup Backupset" do Banco de Produção para o Banco de teste funciona normal, 
o problema esta se antes de ir para o servidor de teste o backup "passar" pelo 
servidor de Backup, não importa como, se é via S.O ou banco.
Chiappa, o mapeamento é via NFS adicionando o compartilhamento em /etc/exports 
e depois fazendo mount no client. E como disse transferir do servidor de 
PRODUCAO para o de TESTE o restore funciona normalmente, o problema somente 
ocorre se o backup for transferido para o Servidor CentOs 7 (concentrador de 
Backup). Porque originalmente o backup é feito local e depois copiado para o de 
Backup ENTÃO só depois o servidor de TESTE usaria o backup do CentOs, mas ai dá 
o pau.

Todavia vou fazer um teste, vou mudar o S.O de CentOs 7 para Oracle Linux 6 e 
vê o que ocorre.


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema


þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

 

Em quarta-feira, 17 de abril de 2019 20:09:53 BRT, jlchia...@yahoo.com.br 
[oracle_br]  escreveu:  
 
     
Não sabemos se esse tal "mapeamento de rede" que vc diz que tá usando junto co 
o backup backupset tá corrompendo o backup, tá causando algum problema, sabemos 
lá ... Eu recomendaria que vc fizesse o seguinte teste : pega os arquivos de 
backup que foram gerados diretamente no servidor Oracle de produção, TRANSFERE 
eles (com ftp em modo binário, ou scp, digamos) para o servidor Oracle de 
testes onde vc já tem o software Oracle instalado certinho,  faça um CHECKSUM 
dos arquivos desse backup na origem E no destino, pra confirmar que transferiu 
eles ok...
 Aí então RECUPERE o backup do controlfile e do spfile, suba uma instância em 
mount com esse controlfile, DELETE os metadados de backup que porventura hajam 
nesse controlfile, cataloga neles esses arquivos de backup que vc transferiu 
diretamente de Prod, e aí sim faça o procediemnto normal de RESTORE e RECOVER 
do banco
 
 []s
 
   Chiappa
  #yiv8100161120 #yiv8100161120 -- #yiv8100161120ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv8100161120 
#yiv8100161120ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv8100161120 
#yiv8100161120ygrp-mkp #yiv8100161120hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv8100161120 #yiv8100161120ygrp-mkp #yiv8100161120ads 
{margin-bottom:10px;}#yiv8100161120 #yiv8100161120ygrp-mkp .yiv8100161120ad 
{padding:0 0;}#yiv8100161120 #yiv8100161120ygrp-mkp .yiv8100161120ad p 
{margin:0;}#yiv8100161120 #yiv8100161120ygrp-mkp .yiv8100161120ad a 
{color:#ff;text-decoration:none;}#yiv8100161120 #yiv8100161120ygrp-sponsor 
#yiv8100161120ygrp-lc {font-family:Arial;}#yiv8100161120 
#yiv8100161120ygrp-sponsor #yiv8100161120ygrp-lc #yiv8100161120hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv8100161120 
#yiv8100161120ygrp-sponsor #yiv8100161120ygrp-lc .yiv8100161120ad 
{margin-bottom:10px;padding:0 0;}#yiv8100161120 #yiv8100161120actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv8100161120 
#yiv8100161120activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv8100161120
 #yiv8100161120activity span {font-weight:700;}#yiv8100161120 
#yiv8100161120activity span:first-child 
{text-transform:uppercase;}#yiv8100161120 #yiv8100161120activity span a 
{color:#5085b6;text-decoration:none;}#yiv8100161120 #yiv8100161120activity span 
span {color:#ff7900;}#yiv8100161120 #yiv8100161120activity span 
.yiv8100161120underline {text-decoration:underline;}#yiv8100161120 
.yiv8100161120attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv8100161120 .yiv8100161120attach div a 
{text-decoration:none;}#yiv8100161120 .yiv8100161120attach img 
{border:none;padding-right:5px;}#yiv8100161120 .yiv8100161120attach label 
{display:block;margin-bottom:5px;}#yiv8100161120 .yiv8100161120attach label a 
{text-decoration:none;}#yiv8100161120 blockquote {margin:0 0 0 
4px;}#yiv8100161120 .yiv8100161120bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv8100161120 
.yiv8100161120bold a {text-decoration:none;}#yiv8100161120 dd.yiv8100161120last 
p a {font-family:Verdana;font-weight:700;}#yiv8100161120 dd.yiv8100161120last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv8100161120 
dd.yiv8100161120last p span.yiv8100161120yshortcuts 
{margin-right:0;}#yiv8100161120 div.yiv8100161120attach-table div div a 
{text-decoration:none;}#yiv8100161120 div.yiv8100161120attach-table 
{width:400px;}#yiv8100161120 div.yiv8100161120file-title a, #yiv8100161120 
div.yiv8100161120file-title a:active, #yiv8100161120 
div.yiv8100161120file-title a:hover, #yiv8100161120 div.yiv8100161120file-title 
a

[oracle_br] Erro ora-19599 ao Fazer o Restore

2019-04-17 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Olá Senhores,
    Meu cenário é o seguinte, temos três servidores, o primeiro é produção com 
Oracle 11.2.0.4 em S.O Oracle Linux 6, o segundo é um banco de teste usando 
Oracle 11.2.0.4 em Oracle Linux 6, e o terceiro que é um servidor para Backup 
usando CentOs 7.
    Ocorre que os backups são feito primeiramente no Servidor de Produção e 
depois uma cópia deste backup usando "backup backupset" para o Servidor 3 
(CentOs 7), tento um disco mapeado no servidor de Produção.

     Ao fazer a restauração no Banco de teste (servidor 2) usando os backups 
que encontra-se no servidor de backup (servidor 3), a operação falha com o erro 
ora-19599, mesmo se a operação for lendo os backups diretamente do servidor de 
backup , (pois o servidor 2 também mapeia o servidor de backup), como se enviar 
o backup do Servidor de Backup para o Servidor de Teste.
     Se o "backup backupset" for feito diretamente para o servidor de teste OU 
o servidor de teste ler os backups que se encontram no servidor de produção, 
funciona normalmente. Entretanto se o backup "passar" pelo servidor de backup, 
tanto usando "backup backupset", como copiar o backup via S.O (Scp ou CP)  o 
backup fica em crash. ( e o pior que o log de todas estas operações retorna com 
sucesso!)
    Eu pensei que o problema seria de disco, mas foi trocado por um HD novo, 
mas o problema persiste. E o que me chama mais atenção e que tenho este mesmo 
cenário em outros cliente e não dão problema. E também exclui o problema com 
"filesystemio_options=SETALL" , pois este parametro esta o padrão.

  Outra observação é que o disco do Servidor de Backup como de Teste usa 
formatação Ext4 , mudei o servidor de backup para Ext3, mas o erro persiste.
    Obrigado!


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema


þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



[oracle_br] Validar o backupset

2019-04-15 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
   Bom dia pessoal,
Na minha estrategia de backup, eu faço primeiramente um backup Rman no disco 
local, e depois eu faço um backup do backup usando o "backup backupset" em um 
disco em outra maquina mapeada no servido.

Então eu executo o VALIDATE para saber se os meus backups estão íntegros , 
passando o KEY do conjunto de backup. exemplo
  RMAN> VALIDATE BACKUPSET 22;
Ocorre que o Backup como o "Backup do backup" temo o mesmo KEY, e quando 
executo o comando acima, o RMAN somente chega o backup do HD local, eu preciso 
que ele valide a cópia que esta no HD do outro servidor mapeado no servidor de 
Banco de dados.

Alguma sugestão?
Obrigado!

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema


þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Assunto: [oracle_br] Lentidão no Update

2018-08-09 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Olá Marcos, tive este problema devido à coluna add ter referência a uma tabela 
com milhares de linha. A solução foi criar um índice sobre a nova coluna. 

Enviado do Yahoo Mail no Android 
 
  Em Qui, 9 9e ago 9e 2018 às 17:36, Marcos Soares marcos@gmail.com 
[oracle_br] escreveu:       

Pessoal, Blz?
Alguém de vocês já teve problemas de performance com updates após a adicionar 
uma nova coluna em uma tabela? Estamos com este problema aqui no nosso 
ambiente. Já analisamos e não há migração de linhas. Fizemos redefinition da 
tabela e não surtiu efeito. O mais estranho é que no ambiente de desenv não 
houve queda de performance.Obs.: ambiente de prod utiliza o Dataguard da 
Oracle. Oracle 11g 11.2.0.4.0 64bit
Obrigado.
Marcos  #yiv1609448090 #yiv1609448090 -- #yiv1609448090ygrp-mkp {border:1px 
solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv1609448090 
#yiv1609448090ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv1609448090 
#yiv1609448090ygrp-mkp #yiv1609448090hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv1609448090 #yiv1609448090ygrp-mkp #yiv1609448090ads 
{margin-bottom:10px;}#yiv1609448090 #yiv1609448090ygrp-mkp .yiv1609448090ad 
{padding:0 0;}#yiv1609448090 #yiv1609448090ygrp-mkp .yiv1609448090ad p 
{margin:0;}#yiv1609448090 #yiv1609448090ygrp-mkp .yiv1609448090ad a 
{color:#ff;text-decoration:none;}#yiv1609448090 #yiv1609448090ygrp-sponsor 
#yiv1609448090ygrp-lc {font-family:Arial;}#yiv1609448090 
#yiv1609448090ygrp-sponsor #yiv1609448090ygrp-lc #yiv1609448090hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv1609448090 
#yiv1609448090ygrp-sponsor #yiv1609448090ygrp-lc .yiv1609448090ad 
{margin-bottom:10px;padding:0 0;}#yiv1609448090 #yiv1609448090actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv1609448090 
#yiv1609448090activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv1609448090
 #yiv1609448090activity span {font-weight:700;}#yiv1609448090 
#yiv1609448090activity span:first-child 
{text-transform:uppercase;}#yiv1609448090 #yiv1609448090activity span a 
{color:#5085b6;text-decoration:none;}#yiv1609448090 #yiv1609448090activity span 
span {color:#ff7900;}#yiv1609448090 #yiv1609448090activity span 
.yiv1609448090underline {text-decoration:underline;}#yiv1609448090 
.yiv1609448090attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv1609448090 ..yiv1609448090attach div a 
{text-decoration:none;}#yiv1609448090 .yiv1609448090attach img 
{border:none;padding-right:5px;}#yiv1609448090 .yiv1609448090attach label 
{display:block;margin-bottom:5px;}#yiv1609448090 .yiv1609448090attach label a 
{text-decoration:none;}#yiv1609448090 blockquote {margin:0 0 0 
4px;}#yiv1609448090 .yiv1609448090bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv1609448090 
.yiv1609448090bold a {text-decoration:none;}#yiv1609448090 dd.yiv1609448090last 
p a {font-family:Verdana;font-weight:700;}#yiv1609448090 dd.yiv1609448090last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv1609448090 
dd.yiv1609448090last p span.yiv1609448090yshortcuts 
{margin-right:0;}#yiv1609448090 div.yiv1609448090attach-table div div a 
{text-decoration:none;}#yiv1609448090 div.yiv1609448090attach-table 
{width:400px;}#yiv1609448090 div.yiv1609448090file-title a, #yiv1609448090 
div.yiv1609448090file-title a:active, #yiv1609448090 
div.yiv1609448090file-title a:hover, #yiv1609448090 div.yiv1609448090file-title 
a:visited {text-decoration:none;}#yiv1609448090 div.yiv1609448090photo-title a, 
#yiv1609448090 div.yiv1609448090photo-title a:active, #yiv1609448090 
div.yiv1609448090photo-title a:hover, #yiv1609448090 
div.yiv1609448090photo-title a:visited {text-decoration:none;}#yiv1609448090 
div#yiv1609448090ygrp-mlmsg #yiv1609448090ygrp-msg p a 
span.yiv1609448090yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv1609448090 
.yiv1609448090green {color:#628c2a;}#yiv1609448090 .yiv1609448090MsoNormal 
{margin:0 0 0 0;}#yiv1609448090 o {font-size:0;}#yiv1609448090 
#yiv1609448090photos div {float:left;width:72px;}#yiv1609448090 
#yiv1609448090photos div div {border:1px solid 
#66;min-height:62px;overflow:hidden;width:62px;}#yiv1609448090 
#yiv1609448090photos div label 
{color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv1609448090
 #yiv1609448090reco-category {font-size:77%;}#yiv1609448090 
#yiv1609448090reco-desc {font-size:77%;}#yiv1609448090 .yiv1609448090replbq 
{margin:4px;}#yiv1609448090 #yiv1609448090ygrp-actbar div a:first-child 
{margin-right:2px;padding-right:5px;}#yiv1609448090 #yiv1609448090ygrp-mlmsg 
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv1609448090 
#yiv1609448090ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv1609448090 
#yiv1609448090ygrp-mlmsg select, #yiv1609448090 input, #yiv1609448090 textarea 
{font:99% Arial, 

[oracle_br] Limitar o uso da CPU

2018-06-05 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]

Bom dia Senhores,
Esta semana uma aplicação de um banco de dados Oracle 11.2.04 em linux que 
administro começou a consumir 100% do uso da CPU, (detectamos que era um erro 
de logica que fez o uso excessivo) ocorre que devido a isso as demais sessões 
ficaram prejudicadas.
Então pensei em limitar o uso de CPU à 70%, usei o pacote DBMS_RESOURCE_MANAGER 
para criar um grupo de trabalha e coloquei o usuário da aplicação neste grupo 
com o plano. Executando uma Query problematica, apidamente percebi que a 
maquina começou a bater 100% do uso da CPU.

Revendo o uso do resource manager, vi que se ninguém estiver usando ele não 
limitará, este limite seria se existisse sessões concorrentes. Entretanto 
fiquei com uma duvida de como configurar isso no meu ambiente.
1) O Sistema é WEB, então temos um único usuário a nível de Banco. Como 
especificar (ou criar mais grupo) o balanço 70% 30%?
O que preciso e que a sessão problemática (se vier ter novas) não consuma todo 
o cpu.
Obrigado!


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema


þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Re: [oracle_br] [ORACLE_XE] Problema ao tentar abrir o BD

2018-04-20 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Samuel, tenta informar o caminho completo do logfile ao usar o comando recover 
, ao inves de digitar auto.
Faça isso para todos os logfile do banco.

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema


þ http://alecordeirosilva.blogspot.com/


Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

 

Em quinta-feira, 19 de abril de 2018 14:59:11 AMT, Alessandro Lúcio 
Cordeiro da Silva <alecordeirosi...@yahoo.com.br> escreveu:  
 
  Olá Samuel,
Ao executador "SQL> recover database until cancel;" , digite ao inves de AUTO o 
caminho completo , com o arquivo, o logfile.
Exemplo:SQL> recover database until cancel;
/u01/app/oracle/log/log1.log;


Você deve tentar com um LOG, tentar abrir, se não der ser vai tentando com os 
demais. 




Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Quinta-feira, 19 de Abril de 2018 9:58, "Samuel Santos 
samuel.gsan...@gmail.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     PessoAll;

Estou com problema para colocar o BD Oracle XE (sistema operacional:
Suse Linux), após uma queda de energia, o banco ao tentar 'subir'
automaticamente, ele apenas foca mp status MOUNT, e não abre o banco
de dados.

Passos seguidos para tentar colocar o ambiente no 'AR', mas o que
parece o datafile da tablespace SYSTEM está corrompida. Esta máquina
NÃO possui backup.

SQL>
SQL> select status from v$instance;

STATUS

MOUNTED

SQL> recover database until cancel;
ORA-00279: change 13061423182 generated at needed for thread 1

Specify log: {=suggested | filename | AUTO | CANCEL}
AUTO
ORA-00266: name of archived log file needed

ORA-10879: error signaled in parallel recovery slave
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/app/oracle/oradata/XE/system.dbf'

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u01/app/oracle/oradata/XE/system.dbf'

Caso não haja como recuperar, seria possível efetuar o EXPORT
(expdp/exp) de todos os schemas com a base de dados no status MOUNT

Desde já agradeço a todos pela atenção.
  #yiv2618967838 -- #yiv2618967838ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv2618967838 
#yiv2618967838ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv2618967838 
#yiv2618967838ygrp-mkp #yiv2618967838hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv2618967838 #yiv2618967838ygrp-mkp #yiv2618967838ads 
{margin-bottom:10px;}#yiv2618967838 #yiv2618967838ygrp-mkp .yiv2618967838ad 
{padding:0 0;}#yiv2618967838 #yiv2618967838ygrp-mkp .yiv2618967838ad p 
{margin:0;}#yiv2618967838 #yiv2618967838ygrp-mkp .yiv2618967838ad a 
{color:#ff;text-decoration:none;}#yiv2618967838 #yiv2618967838ygrp-sponsor 
#yiv2618967838ygrp-lc {font-family:Arial;}#yiv2618967838 
#yiv2618967838ygrp-sponsor #yiv2618967838ygrp-lc #yiv2618967838hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv2618967838 
#yiv2618967838ygrp-sponsor #yiv2618967838ygrp-lc .yiv2618967838ad 
{margin-bottom:10px;padding:0 0;}#yiv2618967838 #yiv2618967838actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv2618967838 
#yiv2618967838activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv2618967838
 #yiv2618967838activity span {font-weight:700;}#yiv2618967838 
#yiv2618967838activity span:first-child 
{text-transform:uppercase;}#yiv2618967838 #yiv2618967838activity span a 
{color:#5085b6;text-decoration:none;}#yiv2618967838 #yiv2618967838activity span 
span {color:#ff7900;}#yiv2618967838 #yiv2618967838activity span 
.yiv2618967838underline {text-decoration:underline;}#yiv2618967838 
.yiv2618967838attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv2618967838 .yiv2618967838attach div a 
{text-decoration:none;}#yiv2618967838 .yiv2618967838attach img 
{border:none;padding-right:5px;}#yiv2618967838 .yiv2618967838attach label 
{display:block;margin-bottom:5px;}#yiv2618967838 .yiv2618967838attach label a 
{text-decoration:none;}#yiv2618967838 blockquote {margin:0 0 0 
4px;}#yiv2618967838 .yiv2618967838bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv2618967838 
.yiv2618967838bold a {text-decoration:none;}#yiv2618967838 
dd..yiv2618967838last p a {font-family:Verdana;font-weight:700;}#yiv2618967838 
dd.yiv2618967838last p span 
{margin-right:10px;font-family:Verdana;font-weight:700;}#yiv2618967838 
dd.yiv2618967838last p span.yiv2618967838yshortcuts 
{marg

[oracle_br] Tamanho do Archives Log

2018-01-18 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Bom dia a todos,
Eu tomo conta de um banco de dados Oracle 12.2.0.1 em Oracle Linux 6.5, neste 
banco é para aplicação Protheus.

Nestes últimos meses ocorreram duas migrações, uma do Banco que era Windows e 
foi para Linux e outra da aplicação Protheus  que foi da versão 11 para 12.
O Banco tem cerca de 500 gigas, porem por estes dias o banco gera mais de 400 
gigas de archives por dia, o que deu um salto muito alto, antes gerava cerca de 
4  a 5 gigas.

Alguem tem alguma ideia do porque disso? A solução (gerar menos archives) é 
somente a nivel de aplicação ou tem algo a nivel de banco a ser feito?
Obrigado!

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-18 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Chiappa,
  No caso da pergunta "Xo entender, a tua PRODUÇÃO está em Windows " Não. 
Até porque o linux foi instalado na mesma maquina que anteriormente era 
Windows. Então depois deste dois dias mencionado, produção estava rodando em 
linux. E teste de backup era de LINUX para LINUX.
 Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Quarta-feira, 18 de Outubro de 2017 17:29, "jlchia...@yahoo.com.br 
[oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Pois é, Alessandro, temos duas coisas aí : primeiro, o procedimento de 
restaurar um backup feito no Windows em uma máquina Linux , nesse cenário tá 
Absolutamente Claro que vc Não Precisa (nem deve, nem tem como Exceto 
gambiarrando/imitando standby físico) nem restaurar os backups de archives E 
muito menos os aplicar, pois Necessariamente o backup WIndows foi feito FULL e 
Consistente, Não demandando NADA MAIS pra poder fazer o OPEN RESETLOGS depois 
do simples RESTORE DATABASE, sem ** nenhum tipo de RECOVER **... Isso tá claro, 
né ?? E é isso o que vc disse que fez originalmente, certinho

A minha dúvida é no segundo paràgrafo, quando vc disse :

"Depois de uns 2 dias que o banco já estava em linux, criamos uma outra maquina 
linux e tentando restaurar o banco de produção nesta nova maquina (para 
testes/homologação de backup). Neste cenário, como o banco de produção esta 
fazendo backup a quente, com banco no modo open, ai precisaria dos archives.
"

Xo entender, a tua PRODUÇÃO está em Windows  Se sim, as notas e refs todas 
que indicamos COMPROVAM que é absolutamente Não Suportado e/ou Documentado vc 
restaurar no Linux um backup a quente/inconsistente feito no Windows (que por 
ser à quente/não full/inconsistente PRECISA dos archives gerados lá no Windows 
para fazer o RECOVER DATABASE no Linux) : se foi isso que vc fez, vc deu uma 
sorte Imensa, vc fez um procedimento não-suportado / não garantido  e que 
funcionou  É isso que o Luis questionou anteriormente...

[]s

  Chiappa  #yiv5942045981 #yiv5942045981 -- #yiv5942045981ygrp-mkp {border:1px 
solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv5942045981 
#yiv5942045981ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv5942045981 
#yiv5942045981ygrp-mkp #yiv5942045981hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv5942045981 #yiv5942045981ygrp-mkp #yiv5942045981ads 
{margin-bottom:10px;}#yiv5942045981 #yiv5942045981ygrp-mkp .yiv5942045981ad 
{padding:0 0;}#yiv5942045981 #yiv5942045981ygrp-mkp .yiv5942045981ad p 
{margin:0;}#yiv5942045981 #yiv5942045981ygrp-mkp .yiv5942045981ad a 
{color:#ff;text-decoration:none;}#yiv5942045981 #yiv5942045981ygrp-sponsor 
#yiv5942045981ygrp-lc {font-family:Arial;}#yiv5942045981 
#yiv5942045981ygrp-sponsor #yiv5942045981ygrp-lc #yiv5942045981hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv5942045981 
#yiv5942045981ygrp-sponsor #yiv5942045981ygrp-lc .yiv5942045981ad 
{margin-bottom:10px;padding:0 0;}#yiv5942045981 #yiv5942045981actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv5942045981 
#yiv5942045981activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv5942045981
 #yiv5942045981activity span {font-weight:700;}#yiv5942045981 
#yiv5942045981activity span:first-child 
{text-transform:uppercase;}#yiv5942045981 #yiv5942045981activity span a 
{color:#5085b6;text-decoration:none;}#yiv5942045981 #yiv5942045981activity span 
span {color:#ff7900;}#yiv5942045981 #yiv5942045981activity span 
.yiv5942045981underline {text-decoration:underline;}#yiv5942045981 
.yiv5942045981attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv5942045981 .yiv5942045981attach div a 
{text-decoration:none;}#yiv5942045981 .yiv5942045981attach img 
{border:none;padding-right:5px;}#yiv5942045981 .yiv5942045981attach label 
{display:block;margin-bottom:5px;}#yiv5942045981 .yiv5942045981attach label a 
{text-decoration:none;}#yiv5942045981 blockquote {margin:0 0 0 
4px;}#yiv5942045981 .yiv5942045981bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv5942045981 
.yiv5942045981bold a {text-decoration:none;}#yiv5942045981 dd.yiv5942045981last 
p a {font-family:Verdana;font-weight:700;}#yiv5942045981 dd.yiv5942045981last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv5942045981 
dd.yiv5942045981last p span.yiv5942045981yshortcuts 
{margin-right:0;}#yiv5942045981 div.yiv5942045981attach-table div div a 
{text-decoration:none;}#yiv5942045981 div.yiv5942045981attach-table 
{width:400px;}#yiv5942045981 div.yiv5942045981file-title a, #yiv5942045981 
div.yiv5942045981file-title a:active, #yiv5942045981 
div.yiv5942045981file-title a:hover, #yiv5942045981 di

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-18 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Chiappa,

No caso, eu não precisei aplicar archives para migrar de Linux para Windows. 
Foi mesmo só o Restore database e open resetlogs.

Depois de uns 2 dias que o banco já estava em linux, criamos uma outra maquina 
linux e tentando restaurar o banco de produção nesta nova maquina (para 
testes/homologação de backup). Neste cenário, como o banco de produção esta 
fazendo backup a quente, com banco no modo open, ai precisaria dos archives.

Foi neste ultimo cenário que detectamos que não conseguíamos restaurar os 
backup's do archives gerado pelo servidor de produção linux no linux de teste. 
Indo mais a fundo na nossa pesquisa, descobrimos que em produção não 
conseguíamos executar nenhum comando referente aos Archives (tais como 
crosscheck, delete obsolete archiveg all, entre outros), mas o backup 
archivelog sim.
Para resolver este problema temos duas saídas, recriar o controlfile a partir 
do trace (solução adotada para o ambiente de homologação de backup) ou aguardar 
uns 7 a 10 dias até todos os archives de registro do Windows do ControlFile 
entre como obsolete e então seja excluído devido ao parâmetro 
control_file_record_keep_time. Em produção resolvemos aguardar este dias para a 
"auto-cura" do Oracle.

 Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Quarta-feira, 18 de Outubro de 2017 13:00, "Luis Freitas 
lfreita...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Chiappa,
   No procedimento que o Alexandre mandou, ele fez o backup original com o 
banco em "mount", e não rodou o "recover database" antes de fazer o "open". 
Então não teve mesmo aplicação de archive. 
   Talvez eu tenha entendido errado, mas lendo as notas me parece que é 
possível fazer backups "hot", e apenas um ultimo backup incremental precisaria 
ser "cold".
    Tem alguma mágica que acontece no dataguard que permite fazer dataguard 
físico entre plataformas (Item 7 da lista). Nesse caso tem aplicação de 
archives, mas é pelo dataguard.
Atc,Luis Freitas 

On Wednesday, October 18, 2017 12:33 PM, "jlchia...@yahoo.com.br 
[oracle_br]" <oracle_br@yahoogrupos.com.br> wrote:
 

     Imagino que sim, e deve ser alguma coisa ainda não totalmente 
Suportada/Documentada, pois tanto a nota "Clone Database from Windows To Linux 
(Lower patchset to Higher) using RMAN" (Doc ID 2143991.1) quanto a "How to 
Restore Crossplatform Database from OMF to OMF Format Using Rman SET NEWNAME 
Command" (Doc ID 1940303.1) e (principalmente) a "RMAN 
DUPLICATE/RESTORE/RECOVER Mixed Platform Support" (Doc ID 1079563.1) dizem que 
se vc optar por restaurar o Backup feito no Windows no Linux ele ** TEM *** que 
ser  cold/consistent, pois Não é Suportada a aplicação de redo gerado no 
Windows no Linux, cfrme a nota "Restore From Windows To Linux using RMAN Fails" 
(Note 2003327.1)   Acho que restaurar e aplicar os archives backupeados no 
Windows no banco restaurado no Linux deve Mesmo ser alguma nova feature 12cR2, 
OU talvez recém-incluida no último patchset/cpu/psu de versão abaixo, sim...

[]s

  Chiappa  

 #yiv1306886399 #yiv1306886399 -- #yiv1306886399ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv1306886399 
#yiv1306886399ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv1306886399 
#yiv1306886399ygrp-mkp #yiv1306886399hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv1306886399 #yiv1306886399ygrp-mkp #yiv1306886399ads 
{margin-bottom:10px;}#yiv1306886399 #yiv1306886399ygrp-mkp .yiv1306886399ad 
{padding:0 0;}#yiv1306886399 #yiv1306886399ygrp-mkp .yiv1306886399ad p 
{margin:0;}#yiv1306886399 #yiv1306886399ygrp-mkp .yiv1306886399ad a 
{color:#ff;text-decoration:none;}#yiv1306886399 #yiv1306886399ygrp-sponsor 
#yiv1306886399ygrp-lc {font-family:Arial;}#yiv1306886399 
#yiv1306886399ygrp-sponsor #yiv1306886399ygrp-lc #yiv1306886399hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv1306886399 
#yiv1306886399ygrp-sponsor #yiv1306886399ygrp-lc .yiv1306886399ad 
{margin-bottom:10px;padding:0 0;}#yiv1306886399 #yiv1306886399actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv1306886399 
#yiv1306886399activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv1306886399
 #yiv1306886399activity span {font-weight:700;}#yiv1306886399 
#yiv1306886399activity span:first-child 
{text-transform:uppercase;}#yiv1306886399 #yiv1306886399activity span a 
{color:#5085b6;text-decoration:none;}#yiv1306886399 #yiv1306886399activity span 
span {color:#ff7900;}#yiv1306886399 #yiv1306886399activity span 
.yiv1306886399underline {text-decoration:underline;}#yiv1306

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-17 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 No caso eu fiz um backup nivel 0 com o banco no estado mount no Windows, e 
autobackup do controlfile. 
Depois instalei o Linux neste servidor e o Oracle. Feito isso fiz o restaure do 
banco, com algo mais ou menos assim...
run { set dbid=x;         set controlfile autobackup format for device type 
disk to '';         
catalog start with 'diretorio onde salvei o backup nivel 0 do Windows no 
linux';         restore controlfile from autobackup;         alter database 
mount;         sql 'alter system set 
db_create_file_dest="/u01/app/oracle/oradata"';         set newname for 
database to new;         restore database;         switch datafile all;         
alter database open resetlogs;       }

 depois disso consegui excluir do catalogo do controlfile os backup do Windows, 
mas os archives dara os erros...        
 Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Terça-feira, 17 de Outubro de 2017 14:54, "Luis Freitas 
lfreita...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Alessandro,
   É um cenário bem diferente.
   Talvez não seja preciso recriar o controlfile depois que os archives sairem 
do controlfile, se no restore eles assumirem nomes compatíveis com linux.
   Mas um restore de um backup antigo feito no Windows em um servidor Linux, 
seria preciso fazer a conversão novamente no meio do restore?
Atc,Luis Freitas
    

On Tuesday, October 17, 2017 3:47 PM, "Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> wrote:
 

     Olá Luis,
Eu descobrir o problema.

Ocorre que a poucos dias este banco foi migrado do Windows Server 2012 para 
Oracle Linux 6.5, e por isso tinha no catalogo do controlfile alguns archives 
que tinha a estrutura do Windows. 

Por isso qualquer operação sobre os archives (crosscheck; delete archivelog 
all; delete obsolete...) apresentava erro. Para conseguir restaura-lo o backup 
do archive eu tive que recriar o controfile a partir do trace.
Ocorre que PRODUCAO ainda esta com este problema, mas conforme pesquisei depois 
de algum tempo esta informação "lixo" do windows irá sumir por causa do 
parametro control_file_record_keep_time, que padrão é 07 dias.
No momento vou aguardar Produção se "auto-curar" e se por uma eventualidade 
precisar restaurar o banco de produção, sei que preciso recriar o controlfile.

 Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Terça-feira, 17 de Outubro de 2017 12:43, "Luis Freitas 
lfreita...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Alessandro,
   Tem algum datafile com $ no meio do nome?
Atc,Luis Freitas 

On Monday, October 16, 2017 7:37 PM, "jlchia...@yahoo.com.br [oracle_br]" 
<oracle_br@yahoogrupos.com.br> wrote:
 

     Nem precisava ter recriado : ao que parece era mesmo backup pieces não 
catalogados corretamente, para limpar/remover as entradas já existentes nesse 
controlfile vc poderia ter simplesmente conectado o RMAN nesse controlfile já 
existente (via RMAN TARGET=usuario/senha NOCATALOG) e daí dentro do RMAN vc 
fazia um DELETE de todos os backups catalogados e depois um CATALOG START 
WITH 

Mas ok, reconstruir o controlfile Também funciona no sentido de remover todos 
os backups nele catalogados...

[]s

  Chiappa  

 

 

 #yiv9400259881 #yiv9400259881 -- #yiv9400259881ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv9400259881 
#yiv9400259881ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv9400259881 
#yiv9400259881ygrp-mkp #yiv9400259881hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv9400259881 #yiv9400259881ygrp-mkp #yiv9400259881ads 
{margin-bottom:10px;}#yiv9400259881 #yiv9400259881ygrp-mkp .yiv9400259881ad 
{padding:0 0;}#yiv9400259881 #yiv9400259881ygrp-mkp .yiv9400259881ad p 
{margin:0;}#yiv9400259881 #yiv9400259881ygrp-mkp .yiv9400259881ad a 
{color:#ff;text-decoration:none;}#yiv9400259881 #yiv9400259881ygrp-sponsor 
#yiv9400259881ygrp-lc {font-family:Arial;}#yiv9400259881 
#yiv9400259881ygrp-sponsor #yiv9400259881ygrp-lc #yiv9400259881hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv9400259881 
#yiv9400259881ygrp-sponsor #yiv9400259881ygrp-lc .yiv9400259881ad 
{margin-bottom:10px;padding:0 0;}#yiv9400259881 #yiv9400259881actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv9400259881 
#yiv9400259881activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv94

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-17 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Olá Luis,
Eu descobrir o problema.

Ocorre que a poucos dias este banco foi migrado do Windows Server 2012 para 
Oracle Linux 6.5, e por isso tinha no catalogo do controlfile alguns archives 
que tinha a estrutura do Windows. 

Por isso qualquer operação sobre os archives (crosscheck; delete archivelog 
all; delete obsolete...) apresentava erro. Para conseguir restaura-lo o backup 
do archive eu tive que recriar o controfile a partir do trace.
Ocorre que PRODUCAO ainda esta com este problema, mas conforme pesquisei depois 
de algum tempo esta informação "lixo" do windows irá sumir por causa do 
parametro control_file_record_keep_time, que padrão é 07 dias.
No momento vou aguardar Produção se "auto-curar" e se por uma eventualidade 
precisar restaurar o banco de produção, sei que preciso recriar o controlfile.

 Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Terça-feira, 17 de Outubro de 2017 12:43, "Luis Freitas 
lfreita...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Alessandro,
   Tem algum datafile com $ no meio do nome?
Atc,Luis Freitas 

On Monday, October 16, 2017 7:37 PM, "jlchia...@yahoo.com.br [oracle_br]" 
<oracle_br@yahoogrupos.com.br> wrote:
 

     Nem precisava ter recriado : ao que parece era mesmo backup pieces não 
catalogados corretamente, para limpar/remover as entradas já existentes nesse 
controlfile vc poderia ter simplesmente conectado o RMAN nesse controlfile já 
existente (via RMAN TARGET=usuario/senha NOCATALOG) e daí dentro do RMAN vc 
fazia um DELETE de todos os backups catalogados e depois um CATALOG START 
WITH 

Mas ok, reconstruir o controlfile Também funciona no sentido de remover todos 
os backups nele catalogados...

[]s

  Chiappa  

 #yiv5445632774 #yiv5445632774 -- #yiv5445632774ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv5445632774 
#yiv5445632774ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv5445632774 
#yiv5445632774ygrp-mkp #yiv5445632774hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv5445632774 #yiv5445632774ygrp-mkp #yiv5445632774ads 
{margin-bottom:10px;}#yiv5445632774 #yiv5445632774ygrp-mkp .yiv5445632774ad 
{padding:0 0;}#yiv5445632774 #yiv5445632774ygrp-mkp .yiv5445632774ad p 
{margin:0;}#yiv5445632774 #yiv5445632774ygrp-mkp .yiv5445632774ad a 
{color:#ff;text-decoration:none;}#yiv5445632774 #yiv5445632774ygrp-sponsor 
#yiv5445632774ygrp-lc {font-family:Arial;}#yiv5445632774 
#yiv5445632774ygrp-sponsor #yiv5445632774ygrp-lc #yiv5445632774hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv5445632774 
#yiv5445632774ygrp-sponsor #yiv5445632774ygrp-lc .yiv5445632774ad 
{margin-bottom:10px;padding:0 0;}#yiv5445632774 #yiv5445632774actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv5445632774 
#yiv5445632774activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv5445632774
 #yiv5445632774activity span {font-weight:700;}#yiv5445632774 
#yiv5445632774activity span:first-child 
{text-transform:uppercase;}#yiv5445632774 #yiv5445632774activity span a 
{color:#5085b6;text-decoration:none;}#yiv5445632774 #yiv5445632774activity span 
span {color:#ff7900;}#yiv5445632774 #yiv5445632774activity span 
.yiv5445632774underline {text-decoration:underline;}#yiv5445632774 
.yiv5445632774attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv5445632774 .yiv5445632774attach div a 
{text-decoration:none;}#yiv5445632774 .yiv5445632774attach img 
{border:none;padding-right:5px;}#yiv5445632774 .yiv5445632774attach label 
{display:block;margin-bottom:5px;}#yiv5445632774 .yiv5445632774attach label a 
{text-decoration:none;}#yiv5445632774 blockquote {margin:0 0 0 
4px;}#yiv5445632774 .yiv5445632774bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv5445632774 
.yiv5445632774bold a {text-decoration:none;}#yiv5445632774 dd.yiv5445632774last 
p a {font-family:Verdana;font-weight:700;}#yiv5445632774 dd.yiv5445632774last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv5445632774 
dd.yiv5445632774last p span.yiv5445632774yshortcuts 
{margin-right:0;}#yiv5445632774 div.yiv5445632774attach-table div div a 
{text-decoration:none;}#yiv5445632774 div.yiv5445632774attach-table 
{width:400px;}#yiv5445632774 div.yiv5445632774file-title a, #yiv5445632774 
div.yiv5445632774file-title a:active, #yiv5445632774 
div.yiv5445632774file-title a:hover, #yiv5445632774 div.yiv5445632774file-title 
a:visited {text-decoration:none;}#yiv5445632774 div.yiv5445632774photo-title a, 
#yiv5445632774 div.yiv5445632774photo-title a:active, #yiv5445632774 
div.yiv5445632774photo-title a:hover, #yiv5445

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-16 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Apenas informando :

Sim esta maquina esta acessando o servidor remoto, pois o restore dos datafiles 
foram feitos acessando os backup's do servidor remoto.
O restore eu queria fazer na maquina local a partir do backup dos archivelos 
que estão na rede.


Para contornar isso eu mandei recriei o controlfile via Trace e cataloguei os 
backups que existiam e agora funcionou normalmente.  
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Segunda-feira, 16 de Outubro de 2017 15:35, "jlchia...@yahoo.com.br 
[oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

    

 Hmmm Se o backup foi feito (e no momento está) num disco REMOTO, ie, um 
disco que não é Local da máquina aonde vc quer fazer o RESTORE, vc TEM CERTEZA 
que a nova máquina está acessando corretamente esse disco remoto ??? Com todas 
as Permissões adequadas ???
 O teste de RESTORE sem banco de catálogo (apagando os backups já registrados 
nesse controlfile E recatalogando com CATALOG START WITH) anteriormente 
sugerido Também serve para comprovar que a nova máquina tá conseguindo ler o 
conteúdo desse disco remoto de boa...

[]s

  Chiappa  #yiv3361245598 -- #yiv3361245598ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv3361245598 
#yiv3361245598ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv3361245598 
#yiv3361245598ygrp-mkp #yiv3361245598hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv3361245598 #yiv3361245598ygrp-mkp #yiv3361245598ads 
{margin-bottom:10px;}#yiv3361245598 #yiv3361245598ygrp-mkp .yiv3361245598ad 
{padding:0 0;}#yiv3361245598 #yiv3361245598ygrp-mkp .yiv3361245598ad p 
{margin:0;}#yiv3361245598 #yiv3361245598ygrp-mkp .yiv3361245598ad a 
{color:#ff;text-decoration:none;}#yiv3361245598 #yiv3361245598ygrp-sponsor 
#yiv3361245598ygrp-lc {font-family:Arial;}#yiv3361245598 
#yiv3361245598ygrp-sponsor #yiv3361245598ygrp-lc #yiv3361245598hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv3361245598 
#yiv3361245598ygrp-sponsor #yiv3361245598ygrp-lc .yiv3361245598ad 
{margin-bottom:10px;padding:0 0;}#yiv3361245598 #yiv3361245598actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv3361245598 
#yiv3361245598activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv3361245598
 #yiv3361245598activity span {font-weight:700;}#yiv3361245598 
#yiv3361245598activity span:first-child 
{text-transform:uppercase;}#yiv3361245598 #yiv3361245598activity span a 
{color:#5085b6;text-decoration:none;}#yiv3361245598 #yiv3361245598activity span 
span {color:#ff7900;}#yiv3361245598 #yiv3361245598activity span 
.yiv3361245598underline {text-decoration:underline;}#yiv3361245598 
.yiv3361245598attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv3361245598 .yiv3361245598attach div a 
{text-decoration:none;}#yiv3361245598 .yiv3361245598attach img 
{border:none;padding-right:5px;}#yiv3361245598 .yiv3361245598attach label 
{display:block;margin-bottom:5px;}#yiv3361245598 .yiv3361245598attach label a 
{text-decoration:none;}#yiv3361245598 blockquote {margin:0 0 0 
4px;}#yiv3361245598 .yiv3361245598bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv3361245598 
.yiv3361245598bold a {text-decoration:none;}#yiv3361245598 dd.yiv3361245598last 
p a {font-family:Verdana;font-weight:700;}#yiv3361245598 dd.yiv3361245598last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv3361245598 
dd.yiv3361245598last p span.yiv3361245598yshortcuts 
{margin-right:0;}#yiv3361245598 div.yiv3361245598attach-table div div a 
{text-decoration:none;}#yiv3361245598 div.yiv3361245598attach-table 
{width:400px;}#yiv3361245598 div.yiv3361245598file-title a, #yiv3361245598 
div.yiv3361245598file-title a:active, #yiv3361245598 
div.yiv3361245598file-title a:hover, #yiv3361245598 div.yiv3361245598file-title 
a:visited {text-decoration:none;}#yiv3361245598 div.yiv3361245598photo-title a, 
#yiv3361245598 div.yiv3361245598photo-title a:active, #yiv3361245598 
div.yiv3361245598photo-title a:hover, #yiv3361245598 
div.yiv3361245598photo-title a:visited {text-decoration:none;}#yiv3361245598 
div#yiv3361245598ygrp-mlmsg #yiv3361245598ygrp-msg p a 
span.yiv3361245598yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv3361245598 
.yiv3361245598green {color:#628c2a;}#yiv3361245598 .yiv3361245598MsoNormal 
{margin:0 0 0 0;}#yiv3361245598 o {font-size:0;}#yiv3361245598 
#yiv3361245598photos div {float:left;width:72px;}#yiv3361245598 
#yiv3361245598photos div div {border:1px solid 
#66;min-height:62px;overflow:hidden;width:62px;}#yiv3361245598 
#yiv3361245598photos div label 
{color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:n

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-16 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Exatamente é um teste de Restore. O init/spfile são o que foram criados no 
momento que criava o Oracle em outra maquina.

Antes de apresentar problema só tinha mesmo as variaveis de ambiente do 
ORACLE_BASE, ORACLE_HOME e ORACLE_SID, que são exatamente iguais (diretorios 
tb) de produção. Depois de apresentar o problema setei a 
"NLS_DATE_FORMAT='DD-MON-YY HH24:MI:SS' para teste, mas o mesmo erro.

Posso fazer normalmente shutdown e startup mount. No momento só apareceu o erro 
quando tento restaurar o archivelog.
 Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Segunda-feira, 16 de Outubro de 2017 15:03, "Alessandro Lúcio Cordeiro 
da Silva alecordeirosi...@yahoo.com.br [oracle_br]" 
<oracle_br@yahoogrupos.com.br> escreveu:
 

     Não. O backup esta sendo feito em um disco compartilhado do Windows. 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Segunda-feira, 16 de Outubro de 2017 14:53, "jlchia...@yahoo.com.br 
[oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Vc tem 100% de certeza disso ? Pois tipicamente erros do tipo tem a ver 
com argumentos inadequados para o ENV num channel, e isso tem muito mais a ver 
com media managers (e portanto fitas) do que discos
 RECHEQUE isso e nos mostre os scripts exatos que foram usados tanto para o 
backup quanto para a tentativa de restore dos archives, bem como um SHOW ALL no 
RMAN e uma lista dos parâmetros de init de banco não-default, para vermos se 
tem algum setting flagrantemente errado... 
 Isso feito, veja se os backups estão MESMO corretamente catalogados no banco 
de catalog (se vc o usa) ou os recatalogue no controlfile se for o caso...

[]s

  Chiappa  

 #yiv0333102594 #yiv0333102594 -- #yiv0333102594ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv0333102594 
#yiv0333102594ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv0333102594 
#yiv0333102594ygrp-mkp #yiv0333102594hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv0333102594 #yiv0333102594ygrp-mkp #yiv0333102594ads 
{margin-bottom:10px;}#yiv0333102594 #yiv0333102594ygrp-mkp .yiv0333102594ad 
{padding:0 0;}#yiv0333102594 #yiv0333102594ygrp-mkp .yiv0333102594ad p 
{margin:0;}#yiv0333102594 #yiv0333102594ygrp-mkp .yiv0333102594ad a 
{color:#ff;text-decoration:none;}#yiv0333102594 #yiv0333102594ygrp-sponsor 
#yiv0333102594ygrp-lc {font-family:Arial;}#yiv0333102594 
#yiv0333102594ygrp-sponsor #yiv0333102594ygrp-lc #yiv0333102594hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv0333102594 
#yiv0333102594ygrp-sponsor #yiv0333102594ygrp-lc .yiv0333102594ad 
{margin-bottom:10px;padding:0 0;}#yiv0333102594 #yiv0333102594actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv0333102594 
#yiv0333102594activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv0333102594
 #yiv0333102594activity span {font-weight:700;}#yiv0333102594 
#yiv0333102594activity span:first-child 
{text-transform:uppercase;}#yiv0333102594 #yiv0333102594activity span a 
{color:#5085b6;text-decoration:none;}#yiv0333102594 #yiv0333102594activity span 
span {color:#ff7900;}#yiv0333102594 #yiv0333102594activity span 
.yiv0333102594underline {text-decoration:underline;}#yiv0333102594 
.yiv0333102594attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv0333102594 .yiv0333102594attach div a 
{text-decoration:none;}#yiv0333102594 .yiv0333102594attach img 
{border:none;padding-right:5px;}#yiv0333102594 .yiv0333102594attach label 
{display:block;margin-bottom:5px;}#yiv0333102594 .yiv0333102594attach label a 
{text-decoration:none;}#yiv0333102594 blockquote {margin:0 0 0 
4px;}#yiv0333102594 .yiv0333102594bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv0333102594 
.yiv0333102594bold a {text-decoration:none;}#yiv0333102594 dd.yiv0333102594last 
p a {font-family:Verdana;font-weight:700;}#yiv0333102594 dd.yiv0333102594last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv0333102594 
dd.yiv0333102594last p span.yiv0333102594yshortcuts 
{margin-right:0;}#yiv0333102594 div.yiv0333102594attach-table div div a 
{text-decoration:none;}#yiv0333102594 div.yiv0333102594attach-table 
{width:400px;}#yiv0333102594 div.yiv0333102594file-title a, #yiv0333102594 
div.yiv0333102594file-title a:active, #yiv0333102594 
div.yiv0333102594file-title a:hover, #yiv0333102594 div.yiv0333102594file-title 
a:visited {text-decoration:none;}#yiv0333102594 div.yiv0333102594photo-title a, 
#yiv0333102594 div.yiv033310259

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-16 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Não. O backup esta sendo feito em um disco compartilhado do Windows. Alessandro 
Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Segunda-feira, 16 de Outubro de 2017 14:53, "jlchia...@yahoo.com.br 
[oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Vc tem 100% de certeza disso ? Pois tipicamente erros do tipo tem a ver 
com argumentos inadequados para o ENV num channel, e isso tem muito mais a ver 
com media managers (e portanto fitas) do que discos
 RECHEQUE isso e nos mostre os scripts exatos que foram usados tanto para o 
backup quanto para a tentativa de restore dos archives, bem como um SHOW ALL no 
RMAN e uma lista dos parâmetros de init de banco não-default, para vermos se 
tem algum setting flagrantemente errado... 
 Isso feito, veja se os backups estão MESMO corretamente catalogados no banco 
de catalog (se vc o usa) ou os recatalogue no controlfile se for o caso...

[]s

  Chiappa  #yiv8323076161 #yiv8323076161 -- #yiv8323076161ygrp-mkp {border:1px 
solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv8323076161 
#yiv8323076161ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv8323076161 
#yiv8323076161ygrp-mkp #yiv8323076161hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv8323076161 #yiv8323076161ygrp-mkp #yiv8323076161ads 
{margin-bottom:10px;}#yiv8323076161 #yiv8323076161ygrp-mkp .yiv8323076161ad 
{padding:0 0;}#yiv8323076161 #yiv8323076161ygrp-mkp .yiv8323076161ad p 
{margin:0;}#yiv8323076161 #yiv8323076161ygrp-mkp .yiv8323076161ad a 
{color:#ff;text-decoration:none;}#yiv8323076161 #yiv8323076161ygrp-sponsor 
#yiv8323076161ygrp-lc {font-family:Arial;}#yiv8323076161 
#yiv8323076161ygrp-sponsor #yiv8323076161ygrp-lc #yiv8323076161hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv8323076161 
#yiv8323076161ygrp-sponsor #yiv8323076161ygrp-lc .yiv8323076161ad 
{margin-bottom:10px;padding:0 0;}#yiv8323076161 #yiv8323076161actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv8323076161 
#yiv8323076161activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv8323076161
 #yiv8323076161activity span {font-weight:700;}#yiv8323076161 
#yiv8323076161activity span:first-child 
{text-transform:uppercase;}#yiv8323076161 #yiv8323076161activity span a 
{color:#5085b6;text-decoration:none;}#yiv8323076161 #yiv8323076161activity span 
span {color:#ff7900;}#yiv8323076161 #yiv8323076161activity span 
.yiv8323076161underline {text-decoration:underline;}#yiv8323076161 
.yiv8323076161attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv8323076161 .yiv8323076161attach div a 
{text-decoration:none;}#yiv8323076161 .yiv8323076161attach img 
{border:none;padding-right:5px;}#yiv8323076161 .yiv8323076161attach label 
{display:block;margin-bottom:5px;}#yiv8323076161 .yiv8323076161attach label a 
{text-decoration:none;}#yiv8323076161 blockquote {margin:0 0 0 
4px;}#yiv8323076161 .yiv8323076161bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv8323076161 
.yiv8323076161bold a {text-decoration:none;}#yiv8323076161 dd.yiv8323076161last 
p a {font-family:Verdana;font-weight:700;}#yiv8323076161 dd.yiv8323076161last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv8323076161 
dd.yiv8323076161last p span.yiv8323076161yshortcuts 
{margin-right:0;}#yiv8323076161 div.yiv8323076161attach-table div div a 
{text-decoration:none;}#yiv8323076161 div.yiv8323076161attach-table 
{width:400px;}#yiv8323076161 div.yiv8323076161file-title a, #yiv8323076161 
div.yiv8323076161file-title a:active, #yiv8323076161 
div.yiv8323076161file-title a:hover, #yiv8323076161 div.yiv8323076161file-title 
a:visited {text-decoration:none;}#yiv8323076161 div.yiv8323076161photo-title a, 
#yiv8323076161 div.yiv8323076161photo-title a:active, #yiv8323076161 
div.yiv8323076161photo-title a:hover, #yiv8323076161 
div.yiv8323076161photo-title a:visited {text-decoration:none;}#yiv8323076161 
div#yiv8323076161ygrp-mlmsg #yiv8323076161ygrp-msg p a 
span.yiv8323076161yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv8323076161 
.yiv8323076161green {color:#628c2a;}#yiv8323076161 .yiv8323076161MsoNormal 
{margin:0 0 0 0;}#yiv8323076161 o {font-size:0;}#yiv8323076161 
#yiv8323076161photos div {float:left;width:72px;}#yiv8323076161 
#yiv8323076161photos div div {border:1px solid 
#66;min-height:62px;overflow:hidden;width:62px;}#yiv8323076161 
#yiv8323076161photos div label 
{color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv8323076161
 #yiv8323076161reco-category {font-size:77%;}#yiv8323076161 
#yiv8323076161reco-desc {font-size:77%;}#yiv8323076161 .yiv8323076161replbq 
{margin:4px;}#yiv8323076161 #y

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-16 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Eu tentei das duas maneiras. Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Segunda-feira, 16 de Outubro de 2017 14:53, "jlchia...@yahoo.com.br 
[oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Vc tem 100% de certeza disso ? Pois tipicamente erros do tipo tem a ver 
com argumentos inadequados para o ENV num channel, e isso tem muito mais a ver 
com media managers (e portanto fitas) do que discos
 RECHEQUE isso e nos mostre os scripts exatos que foram usados tanto para o 
backup quanto para a tentativa de restore dos archives, bem como um SHOW ALL no 
RMAN e uma lista dos parâmetros de init de banco não-default, para vermos se 
tem algum setting flagrantemente errado... 
 Isso feito, veja se os backups estão MESMO corretamente catalogados no banco 
de catalog (se vc o usa) ou os recatalogue no controlfile se for o caso...

[]s

  Chiappa  #yiv8323076161 #yiv8323076161 -- #yiv8323076161ygrp-mkp {border:1px 
solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv8323076161 
#yiv8323076161ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv8323076161 
#yiv8323076161ygrp-mkp #yiv8323076161hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv8323076161 #yiv8323076161ygrp-mkp #yiv8323076161ads 
{margin-bottom:10px;}#yiv8323076161 #yiv8323076161ygrp-mkp .yiv8323076161ad 
{padding:0 0;}#yiv8323076161 #yiv8323076161ygrp-mkp .yiv8323076161ad p 
{margin:0;}#yiv8323076161 #yiv8323076161ygrp-mkp .yiv8323076161ad a 
{color:#ff;text-decoration:none;}#yiv8323076161 #yiv8323076161ygrp-sponsor 
#yiv8323076161ygrp-lc {font-family:Arial;}#yiv8323076161 
#yiv8323076161ygrp-sponsor #yiv8323076161ygrp-lc #yiv8323076161hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv8323076161 
#yiv8323076161ygrp-sponsor #yiv8323076161ygrp-lc .yiv8323076161ad 
{margin-bottom:10px;padding:0 0;}#yiv8323076161 #yiv8323076161actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv8323076161 
#yiv8323076161activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv8323076161
 #yiv8323076161activity span {font-weight:700;}#yiv8323076161 
#yiv8323076161activity span:first-child 
{text-transform:uppercase;}#yiv8323076161 #yiv8323076161activity span a 
{color:#5085b6;text-decoration:none;}#yiv8323076161 #yiv8323076161activity span 
span {color:#ff7900;}#yiv8323076161 #yiv8323076161activity span 
.yiv8323076161underline {text-decoration:underline;}#yiv8323076161 
.yiv8323076161attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv8323076161 .yiv8323076161attach div a 
{text-decoration:none;}#yiv8323076161 .yiv8323076161attach img 
{border:none;padding-right:5px;}#yiv8323076161 .yiv8323076161attach label 
{display:block;margin-bottom:5px;}#yiv8323076161 .yiv8323076161attach label a 
{text-decoration:none;}#yiv8323076161 blockquote {margin:0 0 0 
4px;}#yiv8323076161 .yiv8323076161bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv8323076161 
.yiv8323076161bold a {text-decoration:none;}#yiv8323076161 dd.yiv8323076161last 
p a {font-family:Verdana;font-weight:700;}#yiv8323076161 dd.yiv8323076161last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv8323076161 
dd.yiv8323076161last p span.yiv8323076161yshortcuts 
{margin-right:0;}#yiv8323076161 div.yiv8323076161attach-table div div a 
{text-decoration:none;}#yiv8323076161 div.yiv8323076161attach-table 
{width:400px;}#yiv8323076161 div.yiv8323076161file-title a, #yiv8323076161 
div.yiv8323076161file-title a:active, #yiv8323076161 
div.yiv8323076161file-title a:hover, #yiv8323076161 div.yiv8323076161file-title 
a:visited {text-decoration:none;}#yiv8323076161 div.yiv8323076161photo-title a, 
#yiv8323076161 div.yiv8323076161photo-title a:active, #yiv8323076161 
div.yiv8323076161photo-title a:hover, #yiv8323076161 
div.yiv8323076161photo-title a:visited {text-decoration:none;}#yiv8323076161 
div#yiv8323076161ygrp-mlmsg #yiv8323076161ygrp-msg p a 
span.yiv8323076161yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv8323076161 
.yiv8323076161green {color:#628c2a;}#yiv8323076161 .yiv8323076161MsoNormal 
{margin:0 0 0 0;}#yiv8323076161 o {font-size:0;}#yiv8323076161 
#yiv8323076161photos div {float:left;width:72px;}#yiv8323076161 
#yiv8323076161photos div div {border:1px solid 
#66;min-height:62px;overflow:hidden;width:62px;}#yiv8323076161 
#yiv8323076161photos div label 
{color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv8323076161
 #yiv8323076161reco-category {font-size:77%;}#yiv8323076161 
#yiv8323076161reco-desc {font-size:77%;}#yiv8323076161 .yiv8323076161replbq 
{margin:4px;}#yiv8323076161 #yiv8323076161ygrp-actbar div a:first-child 
{

Re: [oracle_br] Erro ao Restaurar os Archivelogs

2017-10-16 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Não. O backup do archivelog foi feita em disco e o restore deste tb. Alessandro 
Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Segunda-feira, 16 de Outubro de 2017 13:57, "Vitor Junior 
vitorj...@gmail.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     É fita?
 

Att,/Regards,


Vitor Jr.LinkedIn Profile
Em 16 de outubro de 2017 14:48, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> 
escreveu:

     Bom tarde pessoal,

Eu estou tentado restaurar o banco de dados Oracle 11.2.0.4 em um outro 
servidor Oracle Linux 6.5. Primeiramente fiz a instalação do Oracle e depois 
fiz o Restore do Banco.

Após isso precisaria aplicar os Archives Logs para poder abrir o banco com 
ResetLogs, mas ao tentar restaurar os archives com o backup de archives 
apresenta o erro abaixo:
      
      ora-07217: sltln: environment cannot be evaluated. 
O comando que uso é este abaixo:
  rman> run { SET ARCHIVELOG DESTINATION TO '/u01/backup/archives'; restore 
archivelog all; }

Não sei o que é, pelo que pesquise é problema com variavel de ambiente, mas as 
variaveis ORACLE_HOME, ORACLE_BASE e ORACLE_SID estão certas, ja passou por 
algo deste tipo?
 Alessandro Lúcio Cordeiro da Silva 

   

  #yiv6752110588 #yiv6752110588 -- #yiv6752110588ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv6752110588 
#yiv6752110588ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv6752110588 
#yiv6752110588ygrp-mkp #yiv6752110588hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv6752110588 #yiv6752110588ygrp-mkp #yiv6752110588ads 
{margin-bottom:10px;}#yiv6752110588 #yiv6752110588ygrp-mkp .yiv6752110588ad 
{padding:0 0;}#yiv6752110588 #yiv6752110588ygrp-mkp .yiv6752110588ad p 
{margin:0;}#yiv6752110588 #yiv6752110588ygrp-mkp .yiv6752110588ad a 
{color:#ff;text-decoration:none;}#yiv6752110588 #yiv6752110588ygrp-sponsor 
#yiv6752110588ygrp-lc {font-family:Arial;}#yiv6752110588 
#yiv6752110588ygrp-sponsor #yiv6752110588ygrp-lc #yiv6752110588hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv6752110588 
#yiv6752110588ygrp-sponsor #yiv6752110588ygrp-lc .yiv6752110588ad 
{margin-bottom:10px;padding:0 0;}#yiv6752110588 #yiv6752110588actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv6752110588 
#yiv6752110588activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv6752110588
 #yiv6752110588activity span {font-weight:700;}#yiv6752110588 
#yiv6752110588activity span:first-child 
{text-transform:uppercase;}#yiv6752110588 #yiv6752110588activity span a 
{color:#5085b6;text-decoration:none;}#yiv6752110588 #yiv6752110588activity span 
span {color:#ff7900;}#yiv6752110588 #yiv6752110588activity span 
.yiv6752110588underline {text-decoration:underline;}#yiv6752110588 
.yiv6752110588attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv6752110588 .yiv6752110588attach div a 
{text-decoration:none;}#yiv6752110588 .yiv6752110588attach img 
{border:none;padding-right:5px;}#yiv6752110588 .yiv6752110588attach label 
{display:block;margin-bottom:5px;}#yiv6752110588 .yiv6752110588attach label a 
{text-decoration:none;}#yiv6752110588 blockquote {margin:0 0 0 
4px;}#yiv6752110588 .yiv6752110588bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv6752110588 
.yiv6752110588bold a {text-decoration:none;}#yiv6752110588 dd.yiv6752110588last 
p a {font-family:Verdana;font-weight:700;}#yiv6752110588 dd.yiv6752110588last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv6752110588 
dd.yiv6752110588last p span.yiv6752110588yshortcuts 
{margin-right:0;}#yiv6752110588 div.yiv6752110588attach-table div div a 
{text-decoration:none;}#yiv6752110588 div.yiv6752110588attach-table 
{width:400px;}#yiv6752110588 div.yiv6752110588file-title a, #yiv6752110588 
div.yiv6752110588file-title a:active, #yiv6752110588 
div.yiv6752110588file-title a:hover, #yiv6752110588 div.yiv6752110588file-title 
a:visited {text-decoration:none;}#yiv6752110588 div.yiv6752110588photo-title a, 
#yiv6752110588 div.yiv6752110588photo-title a:active, #yiv6752110588 
div.yiv6752110588photo-title a:hover, #yiv6752110588 
div.yiv6752110588photo-title a:visited {text-decoration:none;}#yiv6752110588 
div#yiv6752110588ygrp-mlmsg #yiv6752110588ygrp-msg p a 
span.yiv6752110588yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv6752110588 
.yiv6752110588green {color:#628c2a;}#yiv6752110588 .yiv6752110588MsoNormal 
{margin:0 0 0 0;}#yiv6752110588 o {font-size:0;}#yiv6752110588 
#yiv6752110588photos div {float:left;width:72px;}#yiv6752110588 
#yiv6752110588photos div div {border:1px solid 
#66;min-height:62px;o

[oracle_br] Erro ao Restaurar os Archivelogs

2017-10-16 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Bom tarde pessoal,

Eu estou tentado restaurar o banco de dados Oracle 11.2.0.4 em um outro 
servidor Oracle Linux 6.5. Primeiramente fiz a instalação do Oracle e depois 
fiz o Restore do Banco.

Após isso precisaria aplicar os Archives Logs para poder abrir o banco com 
ResetLogs, mas ao tentar restaurar os archives com o backup de archives 
apresenta o erro abaixo:
      
      ora-07217: sltln: environment cannot be evaluated. 
O comando que uso é este abaixo:
  rman> run { SET ARCHIVELOG DESTINATION TO '/u01/backup/archives'; restore 
archivelog all; }

Não sei o que é, pelo que pesquise é problema com variavel de ambiente, mas as 
variaveis ORACLE_HOME, ORACLE_BASE e ORACLE_SID estão certas, ja passou por 
algo deste tipo?
 Alessandro Lúcio Cordeiro da Silva 



Re: [oracle_br] "

2016-05-19 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]

 Ao que parece existe alguma trigger que dispara no comando alter user que esta 
com erro de conversão de valores.
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Quinta-feira, 19 de Maio de 2016 11:25, "Rafael Mendonca 
raffaell.t...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     ** Oracle 11.2.0.4 EE

SQL> conn xuxa/xuxa@INSTANCIA
ERROR:
ORA-28001: the password has expired


Changing password for xuxa
New password:
Retype new password:
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 26


Password unchanged


Senhores, esse problema vem ocorrendo há 2 semanas, o usuário "xuxa" possui 
privilégio de "ALTER USER".
O profile do usuário é o DEFAULT onde todas opções estão UNLIMITED, com exceção 
do PASSWORD_LOCK_TIME=1; PASSWORD_GRACE_TIME=7; FAILED_LOGIN_ATTEMPTS=1; 
PASSWORD_VERIFY_FUNCTION=NULL

Alguém pode ajudar?


  #yiv1434132132 #yiv1434132132 -- #yiv1434132132ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv1434132132 
#yiv1434132132ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv1434132132 
#yiv1434132132ygrp-mkp #yiv1434132132hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv1434132132 #yiv1434132132ygrp-mkp #yiv1434132132ads 
{margin-bottom:10px;}#yiv1434132132 #yiv1434132132ygrp-mkp .yiv1434132132ad 
{padding:0 0;}#yiv1434132132 #yiv1434132132ygrp-mkp .yiv1434132132ad p 
{margin:0;}#yiv1434132132 #yiv1434132132ygrp-mkp .yiv1434132132ad a 
{color:#ff;text-decoration:none;}#yiv1434132132 #yiv1434132132ygrp-sponsor 
#yiv1434132132ygrp-lc {font-family:Arial;}#yiv1434132132 
#yiv1434132132ygrp-sponsor #yiv1434132132ygrp-lc #yiv1434132132hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv1434132132 
#yiv1434132132ygrp-sponsor #yiv1434132132ygrp-lc .yiv1434132132ad 
{margin-bottom:10px;padding:0 0;}#yiv1434132132 #yiv1434132132actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv1434132132 
#yiv1434132132activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv1434132132
 #yiv1434132132activity span {font-weight:700;}#yiv1434132132 
#yiv1434132132activity span:first-child 
{text-transform:uppercase;}#yiv1434132132 #yiv1434132132activity span a 
{color:#5085b6;text-decoration:none;}#yiv1434132132 #yiv1434132132activity span 
span {color:#ff7900;}#yiv1434132132 #yiv1434132132activity span 
.yiv1434132132underline {text-decoration:underline;}#yiv1434132132 
.yiv1434132132attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv1434132132 .yiv1434132132attach div a 
{text-decoration:none;}#yiv1434132132 .yiv1434132132attach img 
{border:none;padding-right:5px;}#yiv1434132132 .yiv1434132132attach label 
{display:block;margin-bottom:5px;}#yiv1434132132 .yiv1434132132attach label a 
{text-decoration:none;}#yiv1434132132 blockquote {margin:0 0 0 
4px;}#yiv1434132132 .yiv1434132132bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv1434132132 
.yiv1434132132bold a {text-decoration:none;}#yiv1434132132 dd.yiv1434132132last 
p a {font-family:Verdana;font-weight:700;}#yiv1434132132 dd.yiv1434132132last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv1434132132 
dd.yiv1434132132last p span.yiv1434132132yshortcuts 
{margin-right:0;}#yiv1434132132 div.yiv1434132132attach-table div div a 
{text-decoration:none;}#yiv1434132132 div.yiv1434132132attach-table 
{width:400px;}#yiv1434132132 div.yiv1434132132file-title a, #yiv1434132132 
div.yiv1434132132file-title a:active, #yiv1434132132 
div.yiv1434132132file-title a:hover, #yiv1434132132 div.yiv1434132132file-title 
a:visited {text-decoration:none;}#yiv1434132132 div.yiv1434132132photo-title a, 
#yiv1434132132 div.yiv1434132132photo-title a:active, #yiv1434132132 
div.yiv1434132132photo-title a:hover, #yiv1434132132 
div.yiv1434132132photo-title a:visited {text-decoration:none;}#yiv1434132132 
div#yiv1434132132ygrp-mlmsg #yiv1434132132ygrp-msg p a 
span.yiv1434132132yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv1434132132 
.yiv1434132132green {color:#628c2a;}#yiv1434132132 .yiv1434132132MsoNormal 
{margin:0 0 0 0;}#yiv1434132132 o {font-size:0;}#yiv1434132132 
#yiv1434132132photos div {float:left;width:72px;}#yiv1434132132 
#yiv1434132132photos div div {border:1px solid 
#66;height:62px;overflow:hidden;width:62px;}#yiv1434132132 
#yiv1434132132photos div label 
{color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv1434132132
 #yiv1434132132reco-category {font-size:77%;}#yiv1434132132 
#yiv1434132132reco-desc {font-size:77%;}#yiv1434132132 .yiv143413

Re: [oracle_br] enq: TX - row lock contention

2016-04-13 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 v_sysdate         
date := sysdate;    v_qtde            integer;  begin
    for c in c_espera_por_lock loop


      if c.OBJECT_TYPE_locado in ('TABLE', 'MVIEW', 'VIEW') then        begin   
       v_rowid_wait := dbms_rowid.rowid_create ( 1, c.row_wait_obj#, 
c.row_wait_file#, c.row_wait_block#, c.row_wait_row# );        exception        
  when others then            v_rowid_wait := null;        end;      end if;
      /*if c.seconds_in_wait >= 300 then -- Se for mais de 5 minutos de espera, 
mata a sessão que esta bloqueando o registro...        execute immediate 
c.KILL_EM_BLOCK;        continue;      end if;*/
      insert into monitora.rowlock (RLODATE,                                    
SID_BLOCK,                                    SERIAL_BLOCK,                     
               USER_BLOCK,                                    MODULE_BLOCK,     
                               PROGRAM_BLOCK,                                   
 TERMINAL_BLOCK,                                    SID_WAIT,                   
                 SERIAL_WAIT,                                    USER_WAIT,     
                               MODULE_WAIT,                                    
PROGRAM_WAIT,                                    TERMINAL_WAIT,                 
                   SECONDS_IN_WAIT,                                    
EVENT_WAIT,                                    OBJ_LOCADO,                      
              ROWID_WAIT,                                    OBJETO_PLSQL,      
                              OBJETO_TYPE,                                    
TEXTO_SQL)        values (v_sysdate,                c.sid_block,                
c.seria_block,                c.user_block,                c.module_block,      
          c.program_block,                c.terminal_block,                
c.sid_wait,                c.seria_wait,                c.user_wait,            
    c.module_wait,                c.program_wait,                
c.terminal_wait,                c.seconds_wait,                c.event_wait,    
            c.obj_locado,                v_rowid_wait,                
c.objeto_plsql,                c.objeto_plsql_type,                (select 
s.SQL_FULLTEXT from v$sql s where sql_id = c.sql_id and rownum =1));
      commit;
    end loop;  end registra_espera_por_lock;


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Quarta-feira, 13 de Abril de 2016 9:37, "Rafael Mendonca 
raffaell.t...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Senhores, bom dia.
Cenário:
Oracle Enterprise Edition 11.2.0.4 - ASM Single Instance - RH 6.0


Problema:
Um determinado sistema que atende diversos estados do Brasil (cada um com seu 
database individual com as mesmas características citadas acima) está tendo um 
grande problema de LOCK de transação há uns 4 meses. Em conversa com a equipe 
de desenvolvimento nada mudou. No banco de dados também nada foi alterado. O 
engraçado é que esse mesmo sistema em outros estados não está ocorrendo esse 
problema de Lock TX, somente em um estado o problema de LOCK está muito 
agravante.
Monitoramento:
O que fiz foi monitorar vários aspectos do database. Primeiramente a 
V$SESSION_WAIT, depois a V$SESSION_EVENT e a V$SYSTEM_EVENT. Realmente a campeã 
dos eventos em espera é a enq: TX - row lock contention.
Após a primeira análise, verifiquei as sessões ativas dos usuários que estavam 
sendo locados. Detectei que é sempre um UPDATE em DIVERSAS tabelas do sistema. 
Não é em um uma tabela ou específica ou duas, são em várias. Passei as 
informações para a equipe de desenvolvimento verificar a possibilidade de 
colocar o COMMIT; logo após algumas instruções (no caso os UPDATES detectados), 
mesmo assim não adiantou.
Expliquei para o cliente que o grande problema de lock de transação é 
justamente o DESIGN da aplicação. Que isso é um comportamento normal do RDBMS 
Oracle, entre outros RDBMS. Mas o que o cliente questiona, é que antes não 
existia esse problema de lock, e que o mesmo sistema atende outros estados e o 
problema não se replica nesses estados.

Portanto, peço ajuda aos senhores para que possam me ajudar com suas 
expertises. Não sei mais o que fazer em relação a esse problema.



  #yiv6107778046 #yiv6107778046 -- #yiv6107778046ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv6107778046 
#yiv6107778046ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv6107778046 
#yiv6107778046ygrp-mkp #yiv6107778046hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv6107778046 #yiv6107778046ygrp-mkp #yiv6107778046ads 
{margin-bottom:10px;}#yiv6107778046 #yiv6107778046ygrp-mkp .yiv6107778046ad 
{padding:0 0;}#yiv6107778046 #yiv6107778046ygrp-mkp .yiv6107778046ad p 
{marg

Re: [oracle_br] Repetir linha na consulta

2016-04-13 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 Eu acho que é um caso muito especifico.
Por isso acredito que o Melhor é você criar uma função pipelined, que permite 
retornar um resultSet. Dê uma procurada no Google que você encontra vários 
exemplos

  Alessandro Lúcio Cordeiro da Silva Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Quarta-feira, 13 de Abril de 2016 9:07, "Eduardo Dornelles 
eod.edua...@gmail.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Bom dia.
Preciso de uma solução para mostrar um registro mais de uma vez no retorno de 
um relatório, em uma situação específica.
Na seguinte situação: Um produto quando solicitado em volume maior que 500ml, 
deve retornar uma linha para cada 500ml, exemplo:





Produto 1        500ml             descriçãoProduto 2        1L                 
 descriçãoProduto 3        2L                  descrição

Deve retornar o seguinte:
produto 1         500ml             descriçãoproduto 2         500ml            
 descriçãoproduto 2         500ml             descrição
produto 3         500ml             descrição
produto 3         500ml             descrição
produto 3         500ml             descrição
produto 3         500ml             descrição


Ou seja, preciso conseguir repetir uma linha uma ou mais vezes, em uma 
determinada condição.
Alguém tem alguma ideia pra resolver isso?Muito obrigado.

At.te,Eduardo Dornelles  #yiv8716162210 #yiv8716162210 -- 
#yiv8716162210ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 
0;padding:0 10px;}#yiv8716162210 #yiv8716162210ygrp-mkp hr {border:1px solid 
#d8d8d8;}#yiv8716162210 #yiv8716162210ygrp-mkp #yiv8716162210hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv8716162210 #yiv8716162210ygrp-mkp #yiv8716162210ads 
{margin-bottom:10px;}#yiv8716162210 #yiv8716162210ygrp-mkp .yiv8716162210ad 
{padding:0 0;}#yiv8716162210 #yiv8716162210ygrp-mkp .yiv8716162210ad p 
{margin:0;}#yiv8716162210 #yiv8716162210ygrp-mkp .yiv8716162210ad a 
{color:#ff;text-decoration:none;}#yiv8716162210 #yiv8716162210ygrp-sponsor 
#yiv8716162210ygrp-lc {font-family:Arial;}#yiv8716162210 
#yiv8716162210ygrp-sponsor #yiv8716162210ygrp-lc #yiv8716162210hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv8716162210 
#yiv8716162210ygrp-sponsor #yiv8716162210ygrp-lc .yiv8716162210ad 
{margin-bottom:10px;padding:0 0;}#yiv8716162210 #yiv8716162210actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv8716162210 
#yiv8716162210activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv8716162210
 #yiv8716162210activity span {font-weight:700;}#yiv8716162210 
#yiv8716162210activity span:first-child 
{text-transform:uppercase;}#yiv8716162210 #yiv8716162210activity span a 
{color:#5085b6;text-decoration:none;}#yiv8716162210 #yiv8716162210activity span 
span {color:#ff7900;}#yiv8716162210 #yiv8716162210activity span 
.yiv8716162210underline {text-decoration:underline;}#yiv8716162210 
.yiv8716162210attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv8716162210 .yiv8716162210attach div a 
{text-decoration:none;}#yiv8716162210 .yiv8716162210attach img 
{border:none;padding-right:5px;}#yiv8716162210 .yiv8716162210attach label 
{display:block;margin-bottom:5px;}#yiv8716162210 .yiv8716162210attach label a 
{text-decoration:none;}#yiv8716162210 blockquote {margin:0 0 0 
4px;}#yiv8716162210 .yiv8716162210bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv8716162210 
.yiv8716162210bold a {text-decoration:none;}#yiv8716162210 dd.yiv8716162210last 
p a {font-family:Verdana;font-weight:700;}#yiv8716162210 dd.yiv8716162210last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv8716162210 
dd.yiv8716162210last p span.yiv8716162210yshortcuts 
{margin-right:0;}#yiv8716162210 div.yiv8716162210attach-table div div a 
{text-decoration:none;}#yiv8716162210 div.yiv8716162210attach-table 
{width:400px;}#yiv8716162210 div.yiv8716162210file-title a, #yiv8716162210 
div.yiv8716162210file-title a:active, #yiv8716162210 
div.yiv8716162210file-title a:hover, #yiv8716162210 div.yiv8716162210file-title 
a:visited {text-decoration:none;}#yiv8716162210 div.yiv8716162210photo-title a, 
#yiv8716162210 div.yiv8716162210photo-title a:active, #yiv8716162210 
div.yiv8716162210photo-title a:hover, #yiv8716162210 
div.yiv8716162210photo-title a:visited {text-decoration:none;}#yiv8716162210 
div#yiv8716162210ygrp-mlmsg #yiv8716162210ygrp-msg p a 
span.yiv8716162210yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv8716162210 
.yiv8716162210green {color:#628c2a;}#yiv8716162210 .yiv8716162210MsoNormal 
{margin:0 0 0 0;}#yiv8716162210 o {font-size:0;}#yiv8716162210 
#yiv8716162210photos div {float:left;width:72px;}#yiv8716162210 
#yiv8716

Re: [oracle_br] Oracle em Cloud

2016-03-19 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Olá Alexssandro,

Eu uso o serviço RDSda amazon para as minhas aplicações, todavia já vou logo 
avisando que não creioser uma boa utilização para empresas de grande porte, 
isto porque existe váriaslimitações para customização do banco, Exemplos:

· Não é possívelter tablespace com blocagem diferente.

· Não podeconfigurar um Wallet, se desejar enviar e-mail.

· Não podecriar diretório.

· Nenhumainteração com S.O

Como você mesmo disse,não é possível realizar comandos como ALTER DATABASE ou 
ALTER SYSTEM, o queexiste é um usuário com alguns Packages que permite fazer 
alguns comandos comoMatar Sessão, mas nada muito complexo.

Você pela interfaceWeb deles somente pode criar/destruir um database configurar 
para Multi-Zone eativar o backup, que eles geram SnapShot do Banco (acredito 
que via Storage) eos archives.

Para importar e/ouexportar um DUMP você precisa ter um outro banco e criar um 
database link entreeles e então fazer o Upload ou Download do DUMP do diretório 
padrão da amazon(só existe este e como disse não é possível criar mais 
diretórios).

Também não é possível gravararquivos (TXT por exemplo) a partir de uma query e 
nem mesmo criar uma tabelaexterna, pois estes recurso necessariamente precisa 
ter interação com S.O.

Enfim, não acreditoser uma boa opção para empresas grandes, aconselho para 
empresas pequenas(principalmente aquelas que não consegue arcar com o custo de 
um bom DBA) e atéempresas médias que seus sistemas não precisam de nenhum 
destes recursos deBanco e claro que acreditam que não vão precisar.

    Agora ficamos com a opção EC2que é a maquina virtual da Amazon, 
esta é a melhor opção para uma empresagrande que tem o seu próprio DBA, você 
tem muito mais controle sobre o Banco dedados, além de poder criar layoutde 
organização dos seus arquivos de dados.

Sobre empresas degrande porte que usam a Amazon, temos Magazine Luiza, NetFlix, 
Sega, enfimnomes de peso é o que não falta.

    Falando sobre migração, eu seriaum pouco prudente, acredito que 
primeiramente migraria os backup’s para nuvemno S3 da amazon, isso porque até a 
propria Oracle acredita nisso, tanto que noLivro da Oracle Press "Oracle Rman 
11g Backup and Recover" nocapitulo 6 "Backing Up to Amazon Web ServicesUsing 
the Oracle Secure Backup Cloud Module" trata comorealizar Backup Rman 
diretamente nos Storages da Amazon. Feito isso aisim migraria depois o próprio 
Banco de dados.Todavia a minha opinião seria quegrandes empresas em geral 
migrem os Backup’s (ou adiciona uma segurança a mais)com chave de acesso, para 
cloud,mas ter o Banco principal de produção naT.I própria.

    Parafinalizar, você podem pensar em usar outro servidor na 
nuvem, não existesomente a Amazon,um que esta sendo elogiado é a DigitalOcean. 
É uma empresaamericana e tem os custos bem mais baixos além de ter uma ótima 
estabilidade,só não tem tantas variedades de serviços que o AWS tem. Alessandro 
Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

Em Quinta-feira, 17 de Março de 2016 9:46, "alexssandro0...@yahoo.com.br 
[oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Bom dia!
Pessoal, aqui na empresa se abriu uma discussão sobre a ida ou não da infra 
para a nuvem, provavelmente para a Amazon, desta forma gostaria de ouvir a 
opinião de vocês sobre tal.
Então, gostaria de saber se alguém está trabalhando com algum ambiente Oracle 
em nuvem, se ele está no EC2 ou em RDS.
Uma outra questão é referente ao RDS, no qual a Amazon vende por gerenciável 
por eles, sem a necessidade de uma pessoa para fazer isso(DBA). Isso é valido 
para qualquer tipo de ambiente, ou é voltado a ambiente considerado pequeno, 
sem um grau de criticidade. Alguém sabe até que nível eles gerenciam??EX: Em um 
determinado ponto se faz necessário fazer tuning de instancia, eles fazem 
isso?? Pois o usuário por eles disponível não tem acesso de alter 
database,alter system etc. Ou eles mantem um padrão de configuração de 
instancia sem possibilidade de alteração?? 
Um outro ponto seria se alguém conhece alguma empresa com um ambiente 
expressivo(criticidade etc) no ambiente cloud, seja ele no EC2 ou RDS.
Então, se possível o pessoal compartilhar um pouco da experiencia em se 
trabalhar com o ambiente de banco de dados em nuvem, prós/contras etc.



  #yiv0575807198 #yiv0575807198 -- #yiv0575807198ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv0575807198 
#yiv0575807198ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv0575807198 
#yiv0575807198ygrp-mkp #yiv0575807198hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv0575807198 #yiv0575807198ygrp-mkp #yiv0575807198ads 
{margin-bottom:10px;}#yiv0575807198 #yi

[oracle_br] Arquivos de Imagens e Videos.

2016-01-29 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 Bom dia Senhores,
Gostaria da opinião de vocês sobre onde gravar os arquivos de Imagens e de 
Videos de uma aplicação. 
Seria melhor guardar no banco em um campo blob, ou externamente em algum 
diretório do S.O/Storage?
Estou fazendo alguns testes usando o SecureFiles, bem como também a aplicação 
fazer insert em uma View que está descarrega a Imagem/Vídeo para o diretório.
Desde já agradeço opinião de todos.   
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)


Re: [oracle_br] Lentidão após nova instalação - Oracle 10g

2015-10-29 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 Problema de lentidão pode ter vários fatores, é sempre bom começar a pesquisa 
pelo Eventos de Espera do Oracle para detectar o problema.
Isso, me ajudou a encontrar o problema que já tive como, por exemplo:
1-> O Drive que controla os discos RAID da DELL estava com problema e com isso 
estava usando o drive genérico do Windows.
2-> A recomendação é a usar 40% da memoria do servidor para o Banco e você esta 
usando cerca de 60% (usando cerca de 20 Giga dos 32 do Hardware)Neste cenário, 
( usando mais de 40% de memoria e servidor Oracle dedicado ) eu aconselho a 
desligar o cache do Windows, pois o Oracle já tem o seu próprio cache e 
realização de Swap. 

Veja por exemplo o este trecho tirado da documentação da Oracle.
Tuning Windows to Optimize Oracle Database

|   |
|   |   |   |   |   |
| Tuning Windows to Optimize Oracle Database7 Tuning Windows to Optimize Oracle 
Database This chapter describes how to tune the Windows Server operating system 
to ensure that Oracle Database is running in the best possible environment.  |
|  |
| Visualizar em docs.oracle.com | Visualizado por Yahoo |
|  |
|   |


“Windows Server memory manager tries to balance each application's usage of 
memory by dynamically paging memory between physical RAM and a virtual memory 
paging file. If an application is particularly memory-intensive (like Oracle 
Database) or if a large number of applications run concurrently, then combined 
memory requirements of the applications may exceed physical memory capacity.
The large proportion of memory reserved for file caching (41%) can be quite 
beneficial to file and print servers. But it may not be advantageous to 
application servers that often run memory-intensive network applications. A 
Windows Server file cache is particularly unnecessary for Oracle Database, 
which performs its own caching through System Global Area"


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 


 Em Quinta-feira, 29 de Outubro de 2015 8:14, "martinez.si...@gmail.com 
[oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
   

     Prezados,  Possuo um cliente com três instalações Oracle em 
servidoresdiferentes (Produção, Desenv e Homologação)Meu cliente adquiriu um 
novo servidor, com o objetivo desubstituir o servidor de Produção.  Nesse novo 
servidor, foi realizada a MESMA instalação deSistema Operacional, Oracle e 
criação da base de dados existente nos outrosservidores:- Windows Server2008 R2 
Standard SP1 - 64 bits- Oracle Standard 10.2.0.4 - 64 bits- Modo de servidor 
Dedicado- Objetivo: Base OLTP usada em um ERP  O Hardware do novo servidor é 
superior ao dos já existentes(os outros possuem apenas 8Gb de memória RAM e 
processadores inferiores), porémapós instalação do Banco e tentativa de Import 
(IMPDP), o processo ficou muuuitomais lento do que a mesma instrução IMPDP 
realizada nos outros servidores.Hoje, essa rotina de IMPORT demora 40 minutos 
nos bancos de DESENV eHOMOLOGACAO. Nesse novo servidor, demorou aproximadamente 
5 horas. Onde épossível perceber que a criação dos dados nas tabelas e dos 
índices demora muitotempo.  Outra coisa que percebi, é que após os dados 
importados, umaconsulta simples executada pela primeira vez "Select count(*) 
frommaior_tabela_do_sistema", demora quase 10x mais do que nas outras bases 
dedados.  Segue abaixo algumas informações desse novo servidor DELL edados da 
SGA criada:- Processador: Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz- Memória 
RAM: 32 GB- Dois Discos em RAID 1: DELL PERC S110 SCSI  
*V$SGAInfo*Name:
       Size in MB:BufferCache Size  
    10528Fixed SGASize     
2Free SGAMemory Available   4096GranuleSize 
     16Java PoolSize   16Large PoolSize 
 16Maximum SGASize   
16384RedoBuffers  14Shared PoolSize 
       1680Startupoverhead in Shared Pool  
144StreamsPool Size      32  De todas as instalações, 
essa é a única em discos SCSI. Pelaforma como ficou lento o processo de import, 
desconfio em algo relacionado aoacesso à disco, porém não tenho ideia de como 
identificar. Gostaria de algumadica ou sugestão dos amigos do fórum.

Agradeço a ajuda.
  #yiv1554287910 #yiv1554287910 -- #yiv1554287910ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv1554287910 
#yiv1554287910ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv1554287910 
#yiv1554287910ygrp-mkp #yiv1554287910hd 
{color:#628c2a;font-siz

Re: [oracle_br] Restore database

2015-09-30 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 Bom dia Rafael,
Não sei se você consegui restaurar, mas vamos lá:
O comando "Restore Controlfile from autobackup" irar procurar o backup do 
controlfile no diretorio padrão (que não lembro agora de cabeça), mas vamos 
supor que o seu backup do controlfile não esteja neste diretorio padrão, então 
o processo de restauração seria assim:
SQLPLUS> startup nomount;
Rman> run                   { set dbid=;                     set 
controlfile autobackup format for device type disk to '\';  
                  restore controlfile from autobackup;                    alter 
database mount;                  }

Logue o no banco de Produção consulte o DBID e coloque no script no lugar de 
. Troque o a parte  pelo path onde esta os backup's do 
controlfile.Logue via rman do seu banco de Produção e consulte a configuração 
do seu controlFile com Show all;
Pode ser que esteja assim:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default 
Se este for o caso troque  por %F;
Ficando por exemplo assim:
run { set dbid=3924117592;   set controlfile autobackup format for device type 
disk to '/u02/XUXA/AUTOBACKUP/%F';  restore controlfile from autobackup;  alter 
database mount;}
Depois de restaurado o seu controlfile ai é so catalogar os seus backup, 
restaurar o seu banco.
Espero que ajude



Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 


 Em Segunda-feira, 28 de Setembro de 2015 12:27, "Rafael Mendonca 
raffaell.t...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
   

     Senhores, estou tentando restaurar um backup de 1 ano atrás em um novo 
host.
OE 11gR2

- Depois de realizar as configurações padrões de diretório, entre outras 
coisas, configurei o CATALOGO e a minha dúvida é na realização do restore do 
controlfile, database e do recover.


RMAN> list backup of controlfile;

BS Key  Type LV Size   Device Type Elapsed Time Completion Time
---  -- -- ---  ---
1423631 Full    85.50M SBT_TAPE    00:00:07 28-DEC-14
    BP Key: 1423633   Status: AVAILABLE  Compressed: NO  Tag: 
BACKUP_HOT_ANUAL
    Handle: full_XUXA_anual_20587_867457903_3bpr8mrf_1   Media: 54152
    Keep: BACKUP_LOGS    Until: 17-DEC-16
  Control File Included: Ckp SCN: 754085311743   Ckp time: 28-DEC-14

BS Key  Type LV Size   Device Type Elapsed Time Completion Time
---  -- -- ---  ---
1423651 Full    85.50M SBT_TAPE    00:00:09 28-DEC-14
    BP Key: 1423653   Status: AVAILABLE  Compressed: NO  Tag: 
BACKUP_ANUAL_XUXA_CF
    Handle: XUXA_867457928_20588_1   Media: 54153
    Keep: NOLOGS Until: 17-DEC-16
  Control File Included: Ckp SCN: 754085311825   Ckp time: 28-DEC-14








RMAN> backup of database;



BS Key  Type LV Size   Device Type Elapsed Time Completion Time
---  -- -- ---  ---
1423563 Full    9.16G  SBT_TAPE    00:12:01 28-DEC-14
    BP Key: 1423567   Status: AVAILABLE  Compressed: NO  Tag: 
BACKUP_HOT_ANUAL
    Handle: full_XUXA_anual_20583_867456663_37pr8lkn_1   Media: 54158
    Keep: BACKUP_LOGS    Until: 17-DEC-16
  List of Datafiles in backup set 1423563
  File LV Type Ckp SCN    Ckp Time  Name
   --  -- - 
  4   Full 754085258214 28-DEC-14 /u02/XUXA/datafile/.dbf
  5   Full 754085258214 28-DEC-14 /u02/XUXA/datafile/.dbf
.

  BS Key  Type LV Size   Device Type Elapsed Time Completion Time
---  -- -- ---  ---
1423564 Full    19.60G SBT_TAPE    00:20:18 28-DEC-14
    BP Key: 1423568   Status: AVAILABLE  Compressed: NO  Tag: 
BACKUP_HOT_ANUAL
    Handle: full_XUXA_anual_20584_867456663_38pr8lkn_1   Media: 54159
    Keep: BACKUP_LOGS    Until: 17-DEC-16
  List of Datafiles in backup set 1423564
  File LV Type Ckp SCN    Ckp Time  Name
   --  -- - 
  1   Full 754085258215 28-DEC-14 /u02/XUXA/datafile/.dbf
  2   Full 754085258215 28-DEC-14 /u02/XUXA/datafile/.dbf
  3   Full 754085258215 28-DEC-14 /u02/XUXA/datafile/.dbf..


Tentei realizar o seguinte comando para restaurar o controlfile:
  
RMAN> run {
ALLOCATE CHANNEL C1 TYPE 'SBT_TAPE' PARMS 'ENV=(TDPO_OPTFILE=xxx.opt)';
set until time to_date('dd/mm/', '28/12/2014');restore controlfile from 
autobackup;
}
O RMAN sai procurando, mas não acha.channel C1: looking for AUTOBACKUP on day: 
20141214
channel C1: looking for AUTOBACKUP on day: 20141213
channel C1: looking for AUTOBACKUP on day: 20141212
channel C1: looking for AUTOBACKUP on day: 20141211
channel C1: looking for AUTOBACKUP on day: 20141210
channel C1: looking f

Re: [oracle_br] Restore database

2015-09-30 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]

 Bom, fica claro que você tem os Backup feito a quente, pensei que era um 
abckup frio.
Vale lembrar que os Backup's incrementais (Level 1 ou superior) diferencia ou 
não, não é usando no restore, mas no recover, se você tem estes backup's, basta 
cataloga-los e restaurar o banco com estes backup's setando a data/hora com 
until time que seu LEVEL 1 tiver. A grosso modo os Backup's incremental é um 
"archivezão".
Agora, caso não tenha isso, pode tentar (sem garantia nenhuma) usar o parametro 
"_allow_resetlogs_corruption=TRUE" no seu pfile e tentar abrir o banco mesmo 
inconsistente.

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 


 Em Quarta-feira, 30 de Setembro de 2015 10:55, "Rafael Mendonca 
raffaell.t...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
   

     Alessandro, obrigado pelo retorno, mas consegui realizar o restore do 
controlfile e dos datafiles alocando o canal para fita e setando pelo nome do 
controlfile 
restore controlfile from 'nome_controlfile';
A questão do restore foi ok tb.
Agora no recover esta faltando archive para recuperar, estou vendo alguma 
alternativa de abrir o database sem precisar do recover, pois somente o restore 
dos datafiles pra mim já é suficiente.

no log do rman me mostra: unable to find archived log
archived log thread=1 sequence=644
Só possuo apenas 1 archive do dia 28 de dezembro de 2014 que foi gerado após o 
backup, o restante não existe mais.


 


 Em Quarta-feira, 30 de Setembro de 2015 11:33, "Alessandro Lúcio Cordeiro 
da Silva alecordeirosi...@yahoo.com.br [oracle_br]" 
<oracle_br@yahoogrupos.com.br> escreveu:
   

      Bom dia Rafael,
Não sei se você consegui restaurar, mas vamos lá:
O comando "Restore Controlfile from autobackup" irar procurar o backup do 
controlfile no diretorio padrão (que não lembro agora de cabeça), mas vamos 
supor que o seu backup do controlfile não esteja neste diretorio padrão, então 
o processo de restauração seria assim:
SQLPLUS> startup nomount;
Rman> run                   { set dbid=;                     set 
controlfile autobackup format for device type disk to '\';  
                  restore controlfile from autobackup;                    alter 
database mount;                  }

Logue o no banco de Produção consulte o DBID e coloque no script no lugar de 
. Troque o a parte  pelo path onde esta os backup's do 
controlfile.Logue via rman do seu banco de Produção e consulte a configuração 
do seu controlFile com Show all;
Pode ser que esteja assim:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default 
Se este for o caso troque  por %F;
Ficando por exemplo assim:
run { set dbid=3924117592;   set controlfile autobackup format for device type 
disk to '/u02/XUXA/AUTOBACKUP/%F';  restore controlfile from autobackup;  alter 
database mount;}
Depois de restaurado o seu controlfile ai é so catalogar os seus backup, 
restaurar o seu banco.
Espero que ajude



Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 


 Em Segunda-feira, 28 de Setembro de 2015 12:27, "Rafael Mendonca 
raffaell.t...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
   

     Senhores, estou tentando restaurar um backup de 1 ano atrás em um novo 
host.
OE 11gR2

- Depois de realizar as configurações padrões de diretório, entre outras 
coisas, configurei o CATALOGO e a minha dúvida é na realização do restore do 
controlfile, database e do recover.


RMAN> list backup of controlfile;

BS Key  Type LV Size   Device Type Elapsed Time Completion Time
---  -- -- ---  ---
1423631 Full    85.50M SBT_TAPE    00:00:07 28-DEC-14
    BP Key: 1423633   Status: AVAILABLE  Compressed: NO  Tag: 
BACKUP_HOT_ANUAL
    Handle: full_XUXA_anual_20587_867457903_3bpr8mrf_1   Media: 54152
    Keep: BACKUP_LOGS    Until: 17-DEC-16
  Control File Included: Ckp SCN: 754085311743   Ckp time: 28-DEC-14

BS Key  Type LV Size   Device Type Elapsed Time Completion Time
---  -- -- ---  ---
1423651 Full    85.50M SBT_TAPE    00:00:09 28-DEC-14
    BP Key: 1423653   Status: AVAILABLE  Compressed: NO  Tag: 
BACKUP_ANUAL_XUXA_CF
    Handle: XUXA_867457928_20588_1   Media: 54153
    Keep: NOLOGS Until: 17-DEC-16
  Control File Included: Ckp SCN: 754085311825   Ckp time: 28-DEC-14








RMAN> backup of database;



BS Key  Type LV Size   Device Type Elapsed Time Completion Time
---  -- -

Re: [oracle_br] ORA-01578: ORACLE data block corrupted

2015-03-19 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 Olá Ednilson,
Como o Oracle usa a Undo para realizar a recuperação de instância, é normal o 
Oracle não abrir. Você deve realizar recuperação de bloco da tablespace undo. 
Todavia se você não conseguir via backup Rman, ainda há esperança:
1) Coloque a Tablespace Undo como MANUAL;2) Coloque o Datafile da Tablespace 
como OFF;3) Drop a Tablepace de undo.4) Criar outra Tablespace de undo 5) 
Coloque esta tablespace como automatico e abrar o banco

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

 Em Quinta-feira, 19 de Março de 2015 5:02, 'Ednilson Silva' 
ednilson.si...@jbs.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
   

     Bom Dia,Essa madrugada ocorreram alguns problemas com o Storage e após 
resolverem fui tentar montar o banco e o datafile de UNDO ficou corrupted.  
SQL startup mountORACLE instance started.  Total System Global Area  536870912 
bytesFixed Size  1268460 bytesVariable Size 
171967764 bytesDatabase Buffers  352321536 bytesRedo Buffers
   11313152 bytesDatabase mounted.  SQL ALTER DATABASE OPEN;ALTER DATABASE 
OPEN*ERROR at line 1:ORA-01092: ORACLE instance terminated. Disconnection 
forced  ALERT_LOGThu Mar 19 05:30:58 2015Errors in file 
/d01/app/oracle/product/10gR2/rdbms/log/csfvgfp_ora_21974.trc:ORA-01578: ORACLE 
data block corrupted (file # 2, block # 89)ORA-01110: data file 2: 
'/d001/oradata/csfvgfp/rbs_undo01.dbf'  Não consigo abrir o banco para tentar 
recriar a UNDO.  Existe alguma forma de resolver isso?  Enquanto isso estou 
tentando recuperar o datafile via RMAN.  Grato,Ednilson Silva  #yiv9336467708 
-- #yiv9336467708ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv9336467708 
#yiv9336467708ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv9336467708 
#yiv9336467708ygrp-mkp #yiv9336467708hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv9336467708 #yiv9336467708ygrp-mkp #yiv9336467708ads 
{margin-bottom:10px;}#yiv9336467708 #yiv9336467708ygrp-mkp .yiv9336467708ad 
{padding:0 0;}#yiv9336467708 #yiv9336467708ygrp-mkp .yiv9336467708ad p 
{margin:0;}#yiv9336467708 #yiv9336467708ygrp-mkp .yiv9336467708ad a 
{color:#ff;text-decoration:none;}#yiv9336467708 #yiv9336467708ygrp-sponsor 
#yiv9336467708ygrp-lc {font-family:Arial;}#yiv9336467708 
#yiv9336467708ygrp-sponsor #yiv9336467708ygrp-lc #yiv9336467708hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv9336467708 
#yiv9336467708ygrp-sponsor #yiv9336467708ygrp-lc .yiv9336467708ad 
{margin-bottom:10px;padding:0 0;}#yiv9336467708 #yiv9336467708actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv9336467708 
#yiv9336467708activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv9336467708
 #yiv9336467708activity span {font-weight:700;}#yiv9336467708 
#yiv9336467708activity span:first-child 
{text-transform:uppercase;}#yiv9336467708 #yiv9336467708activity span a 
{color:#5085b6;text-decoration:none;}#yiv9336467708 #yiv9336467708activity span 
span {color:#ff7900;}#yiv9336467708 #yiv9336467708activity span 
.yiv9336467708underline {text-decoration:underline;}#yiv9336467708 
.yiv9336467708attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv9336467708 .yiv9336467708attach div a 
{text-decoration:none;}#yiv9336467708 .yiv9336467708attach img 
{border:none;padding-right:5px;}#yiv9336467708 .yiv9336467708attach label 
{display:block;margin-bottom:5px;}#yiv9336467708 .yiv9336467708attach label a 
{text-decoration:none;}#yiv9336467708 blockquote {margin:0 0 0 
4px;}#yiv9336467708 .yiv9336467708bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv9336467708 
.yiv9336467708bold a {text-decoration:none;}#yiv9336467708 dd.yiv9336467708last 
p a {font-family:Verdana;font-weight:700;}#yiv9336467708 dd.yiv9336467708last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv9336467708 
dd.yiv9336467708last p span.yiv9336467708yshortcuts 
{margin-right:0;}#yiv9336467708 div.yiv9336467708attach-table div div a 
{text-decoration:none;}#yiv9336467708 div.yiv9336467708attach-table 
{width:400px;}#yiv9336467708 div.yiv9336467708file-title a, #yiv9336467708 
div.yiv9336467708file-title a:active, #yiv9336467708 
div.yiv9336467708file-title a:hover, #yiv9336467708 div.yiv9336467708file-title 
a:visited {text-decoration:none;}#yiv9336467708 div.yiv9336467708photo-title a, 
#yiv9336467708 div.yiv9336467708photo-title a:active, #yiv9336467708 
div.yiv9336467708photo-title a:hover, #yiv9336467708 
div.yiv9336467708photo-title a:visited {text-decoration:none;}#yiv9336467708 
div#yiv9336467708ygrp-mlmsg #yiv9336467708ygrp-msg p a 
span.yiv9336467708yshortcuts 
{font-family:Verdana;font-size:10px;font

Re: [oracle_br] upgrade para versão 11g

2015-03-05 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 Apenas um informação a mais. 
Eu instalai o Oracle 12.1.0.2 em uma maquina virtual com o S.O Oracle Linux 
6.5. A partir de Oracle 11.2.0.4 em Windows 7, fiz a migração com Backup Rman 
para o Linux. Então depois transformei o Banco padrão em um plugglabe database 
usando o script noncdb_to_pdb.sql.
Funcionou normalmente por algum tempo, todavia mais tarde o banco pdb não abria 
mais ocorrendo o erro ORA-600[kspcrepdb: bad kspmas]. Olha só o que encontro no 
metalink.

Description
This bug is only relevant when using Pluggable Database (PDB) / ContainerOn 
open of a pluggable database, an ORA-600[kspcrepdb: bad kspmas] error may be 
encountered. Rediscovery Notes If you hit an ORA-600[kspcrepdb: bad kspmas] on 
open of a pluggable database, you could be hitting this issue.  Workaround None

O final que é legal - Solução : Nenhuma


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

 Em Quinta-feira, 5 de Março de 2015 11:10, jlchia...@yahoo.com.br 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
   

     Adicionalmente : nem preciso dizer, embora no caso do colega ele não possa 
usar o 12c por causa da ausência de SE, e eu não recomende neste momento o 
upgrade direto de um modo geral  pra quem não está testando já há um bom tempo 
OU tem necessidade Real de algo presente no 12c, ÓBVIO que quem não começou 
ainda seu programa de testes no 12c CLARAMENTE já está hiper-atrasado - esse 
ano acaba o premier support e inicia o ano de graça e em Janeiro/2016 já começa 
a ser cobrado o Suporte Extendido, o relógio tá contando... Depois não adianta 
chorar que não pode baixar este ou aquele patch pro bug x ou y crítico pro teu 
ambiente no RDBMS 11.2.x...

 []s

  Chiappa  #yiv5623504305 #yiv5623504305 -- #yiv5623504305ygrp-mkp {border:1px 
solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv5623504305 
#yiv5623504305ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv5623504305 
#yiv5623504305ygrp-mkp #yiv5623504305hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv5623504305 #yiv5623504305ygrp-mkp #yiv5623504305ads 
{margin-bottom:10px;}#yiv5623504305 #yiv5623504305ygrp-mkp .yiv5623504305ad 
{padding:0 0;}#yiv5623504305 #yiv5623504305ygrp-mkp .yiv5623504305ad p 
{margin:0;}#yiv5623504305 #yiv5623504305ygrp-mkp .yiv5623504305ad a 
{color:#ff;text-decoration:none;}#yiv5623504305 #yiv5623504305ygrp-sponsor 
#yiv5623504305ygrp-lc {font-family:Arial;}#yiv5623504305 
#yiv5623504305ygrp-sponsor #yiv5623504305ygrp-lc #yiv5623504305hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv5623504305 
#yiv5623504305ygrp-sponsor #yiv5623504305ygrp-lc .yiv5623504305ad 
{margin-bottom:10px;padding:0 0;}#yiv5623504305 #yiv5623504305actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv5623504305 
#yiv5623504305activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv5623504305
 #yiv5623504305activity span {font-weight:700;}#yiv5623504305 
#yiv5623504305activity span:first-child 
{text-transform:uppercase;}#yiv5623504305 #yiv5623504305activity span a 
{color:#5085b6;text-decoration:none;}#yiv5623504305 #yiv5623504305activity span 
span {color:#ff7900;}#yiv5623504305 #yiv5623504305activity span 
.yiv5623504305underline {text-decoration:underline;}#yiv5623504305 
.yiv5623504305attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv5623504305 .yiv5623504305attach div a 
{text-decoration:none;}#yiv5623504305 .yiv5623504305attach img 
{border:none;padding-right:5px;}#yiv5623504305 .yiv5623504305attach label 
{display:block;margin-bottom:5px;}#yiv5623504305 .yiv5623504305attach label a 
{text-decoration:none;}#yiv5623504305 blockquote {margin:0 0 0 
4px;}#yiv5623504305 .yiv5623504305bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv5623504305 
.yiv5623504305bold a {text-decoration:none;}#yiv5623504305 dd.yiv5623504305last 
p a {font-family:Verdana;font-weight:700;}#yiv5623504305 dd.yiv5623504305last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv5623504305 
dd.yiv5623504305last p span.yiv5623504305yshortcuts 
{margin-right:0;}#yiv5623504305 div.yiv5623504305attach-table div div a 
{text-decoration:none;}#yiv5623504305 div.yiv5623504305attach-table 
{width:400px;}#yiv5623504305 div.yiv5623504305file-title a, #yiv5623504305 
div.yiv5623504305file-title a:active, #yiv5623504305 
div.yiv5623504305file-title a:hover, #yiv5623504305 div.yiv5623504305file-title 
a:visited {text-decoration:none;}#yiv5623504305 div.yiv5623504305photo-title a, 
#yiv5623504305 div.yiv5623504305photo-title a:active, #yiv5623504305 
div.yiv5623504305photo-title a:hover, #yiv5623504305 
div.yiv5623504305photo-title a:visited {text-decoration:none;}#yiv5623504305 
div#yiv5623504305ygrp

Re: [oracle_br] Oracle e Linux para estudo

2015-02-23 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


Bom dia, tenho dois artigos que fiz um passo-a-passo na instalação do S.O e 
depois do Oracle 12c, espero que ajude


Blog do Alessandro Cordeiro: Instalação do Oracle Linux para Banco de dados 
Oracle
|   |
|   |  |   |   |   |   |   |
| Blog do Alessandro Cordeiro: Instalação do Oracle Linux ...9-Instale os 
pacotes conforme as imagens posteriores: 10-Depois basta instalar o S.O.  |
|  |
| Visualizar em alecordeirosilva... | Visualizado por Yahoo |
|  |
|   |




Blog do Alessandro Cordeiro: Instalação do Software do Banco de Dados Oracle 
12c em Linux

|   |
|   |  |   |   |   |   |   |
| Blog do Alessandro Cordeiro: Instalação do Software do B...Neste artigo será 
descrito o processo de instalação do software de Banco de Dados 12c no ambiente 
Linux que foi preparado no artigo anterior - Instalaçã... |
|  |
| Visualizar em alecordeirosilva... | Visualizado por Yahoo |
|  |
|   |



Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

 Em Sábado, 21 de Fevereiro de 2015 11:56, silvado...@ig.com.br 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
   

     Olá pessoal, gostaria de uma ajuda de vocês após algumas pesquisas nada 
satisfatórias rs. 
Gostaria de instalar alguma versão do Linux no meu desktop e depois instalar o 
oracle para estudos, mas não encontrei nada de como fazer. 
Pode ser que me sugiram o Oracle Linux e alguma versão do Oracle para 
instalação, mas o que eu gostaria é alem das sugestões algum passo a passo de 
instalação do BD no Linux, o que não encontro. 
Se puderem me ajudar deixo aqui meus agradecimentos.   #yiv1840978382 
#yiv1840978382 -- #yiv1840978382ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv1840978382 
#yiv1840978382ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv1840978382 
#yiv1840978382ygrp-mkp #yiv1840978382hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv1840978382 #yiv1840978382ygrp-mkp #yiv1840978382ads 
{margin-bottom:10px;}#yiv1840978382 #yiv1840978382ygrp-mkp .yiv1840978382ad 
{padding:0 0;}#yiv1840978382 #yiv1840978382ygrp-mkp .yiv1840978382ad p 
{margin:0;}#yiv1840978382 #yiv1840978382ygrp-mkp .yiv1840978382ad a 
{color:#ff;text-decoration:none;}#yiv1840978382 #yiv1840978382ygrp-sponsor 
#yiv1840978382ygrp-lc {font-family:Arial;}#yiv1840978382 
#yiv1840978382ygrp-sponsor #yiv1840978382ygrp-lc #yiv1840978382hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv1840978382 
#yiv1840978382ygrp-sponsor #yiv1840978382ygrp-lc .yiv1840978382ad 
{margin-bottom:10px;padding:0 0;}#yiv1840978382 #yiv1840978382actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv1840978382 
#yiv1840978382activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv1840978382
 #yiv1840978382activity span {font-weight:700;}#yiv1840978382 
#yiv1840978382activity span:first-child 
{text-transform:uppercase;}#yiv1840978382 #yiv1840978382activity span a 
{color:#5085b6;text-decoration:none;}#yiv1840978382 #yiv1840978382activity span 
span {color:#ff7900;}#yiv1840978382 #yiv1840978382activity span 
.yiv1840978382underline {text-decoration:underline;}#yiv1840978382 
.yiv1840978382attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv1840978382 .yiv1840978382attach div a 
{text-decoration:none;}#yiv1840978382 .yiv1840978382attach img 
{border:none;padding-right:5px;}#yiv1840978382 .yiv1840978382attach label 
{display:block;margin-bottom:5px;}#yiv1840978382 .yiv1840978382attach label a 
{text-decoration:none;}#yiv1840978382 blockquote {margin:0 0 0 
4px;}#yiv1840978382 .yiv1840978382bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv1840978382 
.yiv1840978382bold a {text-decoration:none;}#yiv1840978382 dd.yiv1840978382last 
p a {font-family:Verdana;font-weight:700;}#yiv1840978382 dd.yiv1840978382last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv1840978382 
dd.yiv1840978382last p span.yiv1840978382yshortcuts 
{margin-right:0;}#yiv1840978382 div.yiv1840978382attach-table div div a 
{text-decoration:none;}#yiv1840978382 div.yiv1840978382attach-table 
{width:400px;}#yiv1840978382 div.yiv1840978382file-title a, #yiv1840978382 
div.yiv1840978382file-title a:active, #yiv1840978382 
div.yiv1840978382file-title a:hover, #yiv1840978382 div.yiv1840978382file-title 
a:visited {text-decoration:none;}#yiv1840978382 div.yiv1840978382photo-title a, 
#yiv1840978382 div.yiv1840978382photo-title a:active, #yiv1840978382 
div.yiv1840978382photo-title a:hover, #yiv1840978382 
div.yiv1840978382photo-title a:visited {text-decoration:none;}#yiv1840978382 
div#yiv1840978382ygrp-mlmsg #yiv1840978382ygrp-msg p a 
span.yiv1840978382yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv1840978382

Re: [oracle_br] Erro ao dropar trigger

2014-11-26 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 Verifica no banco se não existe uma trigger de DDL, onde dispara uma exceção. 
Pois normalmente erros recursivos são estas triggers especias. 

Pode ser tb problema no dicionario de dados que também tem triggers internas 
para controlar o dicionario de dados.

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)
 

 Em Quarta-feira, 26 de Novembro de 2014 17:05, Wanderson Barrence 
wbarre...@gmail.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
   

      Olá pessoal!!!
Alguém já pegou esse erro ao dropar uma trigger: 
Error dropping TR_TRIGGER:ORA-00604: error ocurred at recursive SQL Level 
1ORA-20101: Sistem XXXORA-06512: At line 16

Ambiente: Windows Server 2003 Standard x64Oracle Database 10g Enterprise 
Edition Release 10.2.0.3.0 - 64bit

Att,
Wanderson!--#yiv9328792178 #yiv9328792178ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv9328792178 
#yiv9328792178ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv9328792178 
#yiv9328792178ygrp-mkp #yiv9328792178hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv9328792178 #yiv9328792178ygrp-mkp #yiv9328792178ads 
{margin-bottom:10px;}#yiv9328792178 #yiv9328792178ygrp-mkp .yiv9328792178ad 
{padding:0 0;}#yiv9328792178 #yiv9328792178ygrp-mkp .yiv9328792178ad p 
{margin:0;}#yiv9328792178 #yiv9328792178ygrp-mkp .yiv9328792178ad a 
{color:#ff;text-decoration:none;}#yiv9328792178 #yiv9328792178ygrp-sponsor 
#yiv9328792178ygrp-lc {font-family:Arial;}#yiv9328792178 
#yiv9328792178ygrp-sponsor #yiv9328792178ygrp-lc #yiv9328792178hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv9328792178 
#yiv9328792178ygrp-sponsor #yiv9328792178ygrp-lc .yiv9328792178ad 
{margin-bottom:10px;padding:0 0;}#yiv9328792178 #yiv9328792178actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv9328792178 
#yiv9328792178activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv9328792178
 #yiv9328792178activity span {font-weight:700;}#yiv9328792178 
#yiv9328792178activity span:first-child 
{text-transform:uppercase;}#yiv9328792178 #yiv9328792178activity span a 
{color:#5085b6;text-decoration:none;}#yiv9328792178 #yiv9328792178activity span 
span {color:#ff7900;}#yiv9328792178 #yiv9328792178activity span 
.yiv9328792178underline {text-decoration:underline;}#yiv9328792178 
.yiv9328792178attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv9328792178 .yiv9328792178attach div a 
{text-decoration:none;}#yiv9328792178 .yiv9328792178attach img 
{border:none;padding-right:5px;}#yiv9328792178 .yiv9328792178attach label 
{display:block;margin-bottom:5px;}#yiv9328792178 .yiv9328792178attach label a 
{text-decoration:none;}#yiv9328792178 blockquote {margin:0 0 0 
4px;}#yiv9328792178 .yiv9328792178bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv9328792178 
.yiv9328792178bold a {text-decoration:none;}#yiv9328792178 dd.yiv9328792178last 
p a {font-family:Verdana;font-weight:700;}#yiv9328792178 dd.yiv9328792178last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv9328792178 
dd.yiv9328792178last p span.yiv9328792178yshortcuts 
{margin-right:0;}#yiv9328792178 div.yiv9328792178attach-table div div a 
{text-decoration:none;}#yiv9328792178 div.yiv9328792178attach-table 
{width:400px;}#yiv9328792178 div.yiv9328792178file-title a, #yiv9328792178 
div.yiv9328792178file-title a:active, #yiv9328792178 
div.yiv9328792178file-title a:hover, #yiv9328792178 div.yiv9328792178file-title 
a:visited {text-decoration:none;}#yiv9328792178 div.yiv9328792178photo-title a, 
#yiv9328792178 div.yiv9328792178photo-title a:active, #yiv9328792178 
div.yiv9328792178photo-title a:hover, #yiv9328792178 
div.yiv9328792178photo-title a:visited {text-decoration:none;}#yiv9328792178 
div#yiv9328792178ygrp-mlmsg #yiv9328792178ygrp-msg p a 
span.yiv9328792178yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv9328792178 
.yiv9328792178green {color:#628c2a;}#yiv9328792178 .yiv9328792178MsoNormal 
{margin:0 0 0 0;}#yiv9328792178 o {font-size:0;}#yiv9328792178 
#yiv9328792178photos div {float:left;width:72px;}#yiv9328792178 
#yiv9328792178photos div div {border:1px solid 
#66;height:62px;overflow:hidden;width:62px;}#yiv9328792178 
#yiv9328792178photos div label 
{color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv9328792178
 #yiv9328792178reco-category {font-size:77%;}#yiv9328792178 
#yiv9328792178reco-desc {font-size:77%;}#yiv9328792178 .yiv9328792178replbq 
{margin:4px;}#yiv9328792178 #yiv9328792178ygrp-actbar div a:first-child 
{margin-right:2px;padding-right:5px;}#yiv9328792178 #yiv9328792178ygrp-mlmsg 
{font-size:13px;font-family:Arial, helvetica, clean, sans

Re: [oracle_br] Ajuda Criar Função com Pragma

2014-10-28 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Boa tarde Eduardo,

Eu no geral não vejo com bons olhos o uso do Pragma Autonomuos_transaction, há 
situações sim que elas podem ser usadas, mas geralmente uma exceção.

O que ainda mais me preocura é você querer usar dentro de uma consulta, olhe 
tecnicamente falando isso vaifuncionar, todavia isso beira a uma gambiarra. 
Imagine a dificuldade que novos desenvolvedores/progamadores terão de entender 
a lógica disso, sendo que esta logica quebra todo conceito de consistência de 
leitura, ( a cada linha da consulta um commit, então imagine a bagunça de 
outras consultas feitas durante a execução da 1º consulta)  e ainda que 
consultas SQL's não abrem transação.

Eu fortemente recomendo que você reveja a sua lógica, e tente usar os padrões 
de desenvolvimento para aumentar a coesão e diminuir o acoplamento, senão você 
acaba tendo um sistema que parece uma linguiça.

Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Terça-feira, 28 de Outubro de 2014 13:13, Eduardo Perdomo panc...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Boa tarde.

Tenho as seguintes tabelas:

carregamentos
numcar data posicao etc

pedidositens
codprod qtd valor numcar conferente

O relacionamento entre as duas é numcar

Preciso fazer uma função que quando eu passe o numero do carregamento o 
conferente seja atualizado para todos os itens que estão nessa carga.

Vários pedidositens podem estar no mesmo carregamento. Talvez tenha que fazer 
um FOR EACH

Vou usar esse função dentro de uma consulta em um relatorio, por isso o pragma.

Segue abaixo minha tentativa:

CREATE OR REPLACE 
FUNCTION liberacarregamento( yNUMCAR pedidositens.numcar%TYPE) RETURN VARCHAR2
IS 
PRAGMA AUTONOMOUS_TRANSACTION; -- PARA PERMITIR DAR UPDATE EM UM SELECT
XNUMCAR pedidositens.numcar%TYPE;
BEGIN
BEGIN
UPDATE pedidositens SET conferente = 1 WHERE NUMCAR = yNUMCAR;
COMMIT;

EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20001, ('ERRO AO ATUALIZAR O CARREGAMENTO: 
' + to_char(XNUMCAR) ) );
END;
RETURN xnumcar ;
END;
/








-- 


Eduardo Perdomo
Consultor de Implantação
Grupo PC Sistemas - www.grupopc.com.br 
(21) 6845-8592
panc...@gmail.com
eduardo.perd...@pcinformatica.com.br
Blog: eduardo.perdomo.nom.br
 

Re: [oracle_br] Problema para gerar código ANO + Sequencial

2014-10-22 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Olá Aroldo,

Para garantir consistência e evitar a contenção você preisa alterar dois pontos 
da sua trigger:

1º Altere a trigger para ser uma Transação Autônoma usando o pragma 
autonomous_transaction. Isto irar fazer que a trigger não participa da 
transação principal e irar permitir de outras transações consulte os novos 
dados (update incrementado) após o termino da trigger com um COMMIT 
independente se a transação principal terminou ou não.

2º Coloque um LOCK no seu select com FOR UPDATE, ficando assim:

select nvl(contador + 1,1)
   into p_contador
  from geracao_codigo
where ano = pano
FOR UPDATE;

Assim, se uma trigger for disparada, mas já existir uma primeira trigger ainda 
em execução, a 2º trigger aguardará o termino da primeira triiger e só assim 
consultará o novo valor. O LOCK será relativamente rapido, pois o LOCK ocorre 
somente durante a execução da Trigger r não da transação toda;


Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Terça-feira, 21 de Outubro de 2014 23:06, Aroldo Rique aro...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Prezados, estamos com uma dúvida aqui no meu trabalho com relação a geração de 
um código. É um sistema WEB desenvolvido em JAVA e com vários atendentes o 
utilizando no Brasil inteiro. O Banco de dados é Oracle. Todos as classes 
Services estão com a annotation @Transactional do Spring. 

Temos uma tabela chamada MANIFESTACAO, que possui uma sequence como chave 
primária (campo ID_MANIFESTACAO). Essa tabela também possui vários outros 
campos. Até agora, toda consulta para identificar cada manifestação é realizada 
através do campo ID_MANIFESTACAO. 

Nosso cliente quer, agora, que a consulta seja feita através de outro código, 
que seja mais legível. Sugeriu, então, que cada manifestação, daqui por diante, 
ganhe um novo código que irá identificá-la. Esse código deve ser no formato 
NNN, onde o  é o ano corrente e os NNN é uma sequencia de 
números. Na virada de ano, a sequencia de números é zerada. 

Exemplos desse novo código: 
2014001 
2014002 
. 
. 
. 
2014325 
. 
. 
. 
2015001 
2015002 

Para cada registro guardado na tabela manifestação, é gerado um código que é o 
incremento do código anterior, exceto na virada do ano. 

Precisamos criar um campo CODIGO (que será unique) na tabela MANIFESTACAO. Até 
aí, tudo bem. O problema que estou passando é justamente como gerar esse 
código. 

Criamos uma trigger para a geração automática desses códigos. Criamos também 
uma tabela chamada GERACAO_CODIGO, que possui 2 campos, ANO e CONTADOR, para 
ajudar na criação dos códigos. Não sabemos se a trigger é a melhor alternativa 

Essa tabela GERACAO_CODIGO terá apenas 2 campos, o campo ANO e o campo 
CONTADOR. Inicialmente, a tabela conterá apenas 1 registro (abaixo): 

ANO CONTADOR 
20140 

Essa tabela servirá apenas para ajudar na geração do campo CODIGO da tabela 
MANIFESTACAO. O campo CODIGO será formado pelo ano corrente da data do cadastro 
da manifestação concatenado om o campo CONTADOR + 1 da tabela GERACAO_CODIGO. 

Então, após o primeiro insert na tabela MANIFESTACAO, o campo CODIGO receberá o 
valor 2014001 e a tabela GERACAO_CODIGO sofrerá um update, ficando assim: 

ANO CONTADOR 
20141 

Com novas inserções na tabela MANIFESTACAO, novos códigos serão gerados e novos 
updates na tabela GERACAO_CODIGO serão relizados: 

ANO CONTADOR 
20142 

ANO CONTADOR 
20143 

. 
. 
. 

ANO CONTADOR 
20141569 

Para a geração do CODIGO, optamos por utilizar uma trigger BEFORE INSERT para a 
tabela MANIFESTACAO. 

O código para essa trigger é o seguinte: 


view plaincopy to clipboardprint?
1. CREATE OR REPLACE TRIGGER TRIGGER_GERA_CODIGO BEFORE INSERT ON 
MANIFESTACAO  
2. FOR EACH ROW  
3. DECLARE  
4. P_ANO NUMBER(4);  
5. P_CONTADOR NUMBER(11);  
6. P_CODIGO NUMBER(11);  
7. BEGIN  
8.   
9. --recupera o ano da data do cadastro da manifestação  
10. P_ANO := 
to_number(tochar(:NEW.DT_CADASTRO_MANIFESTACAO,''));  
11.   
12. --recupera o valor do campo contador e coloca o resultado na 
variável P_CONTADOR, já incrementando o seu valor. A variável P_CONTADOR 
ajudará a formar o campo CODIGO  
13. SELECT NVL(CONTADOR + 1,1)   
14. INTO P_CONTADOR  
15. FROM GERACAO_CODIGO WHERE ANO = PANO;  
16.   
17. --atualiza a tabela GERACAO_CODIGO. Se a variável P_CONTADOR 
for maior que 1, devo apenas atualizar o campo CONTADOR do ano correspondente 
com o seu novo valor, já incrementado  
18. IF (P_CONTADOR  1) THEN  
19. UPDATE GERACAO_CODIGO  
20. SET CONTADOR

Re: [oracle_br] Problema para gerar código ANO + Sequencial

2014-10-22 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Aroldo, o FOR UPDATE lock a tabela para alterações, mas não ficará bloqueado 
para Leitura.::: MAS ::.. outras leituras com for update sim, isso significa 
que select com FOR UPDATE serão serializados. Ou seja sempre uma trigger 
somente irar realizar a consulta com o termino da transação da primeira 
trigger, assim sempre pegando o próximo valor.

Sobre não usar o Pragma, se imediatamente apos o insert na tabela MANIFESTACAO 
você já der o commit, OK, não irar precisar do Pragma, pois o tempo de 
contenção será muito pouco; todavia se você for realizar uma serie de operações 
e somente depois X tempo terminar a transação, saiba que ninguem conseguirar 
incluir registro na tabela manifestação enquanto a transação não terminar. 

Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quarta-feira, 22 de Outubro de 2014 7:55, Aroldo Rique aro...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Olá, Alessandro, bom dia e obrigado pela ajuda.
Se eu implementar apenas a sua segunda sugestão:
2º Coloque um LOCK no seu select com FOR UPDATE, ficando assim:

select nvl(contador + 1,1)
   into p_contador
  from geracao_codigo
where ano = pano
FOR UPDATE;
O meu problema já não estará resolvido. Esse FOR UPDATE impedirá que outra 
transação atribua o mesmo valor à variável p_contador? A tabela geracao_codigo 
ficará locada inclusive para leitura?
Essa tabela geracao_codigo só é usada nesse momento(inclusão de um registro na 
tabela MANIFESTACAO).
Antecipadamente agradeço a resposta.
Att,
Aroldo Rique 



Em 22/10/2014 08:37, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br 
escreveu:

 
  


 
Olá Aroldo,


Para garantir consistência e evitar a contenção você preisa alterar dois 
pontos da sua trigger:


1º Altere a trigger para ser uma Transação Autônoma usando o pragma 
autonomous_transaction. Isto irar fazer que a trigger não participa da 
transação principal e irar permitir de outras transações consulte os novos 
dados (update incrementado) após o termino da trigger com um COMMIT 
independente se a transação principal terminou ou não.


2º Coloque um LOCK no seu select com FOR UPDATE, ficando assim:


select nvl(contador + 1,1)
   into p_contador
  from geracao_codigo
where ano = pano
FOR UPDATE;


Assim, se uma trigger for disparada, mas já existir uma primeira trigger ainda 
em execução, a 2º trigger aguardará o termino da primeira triiger e só assim 
consultará o novo valor. O LOCK será relativamente rapido, pois o LOCK ocorre 
somente durante a execução da Trigger r não da transação toda;




Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Terça-feira, 21 de Outubro de 2014 23:06, Aroldo Rique aro...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Prezados, estamos com uma dúvida aqui no meu trabalho com relação a geração de 
um código. É um sistema WEB desenvolvido em JAVA e com vários atendentes o 
utilizando no Brasil inteiro. O Banco de dados é Oracle. Todos as classes 
Services estão com a annotation @Transactional do Spring. 

Temos uma tabela chamada MANIFESTACAO, que possui uma sequence como chave 
primária (campo ID_MANIFESTACAO). Essa tabela também possui vários outros 
campos. Até agora, toda consulta para identificar cada manifestação é 
realizada através do campo ID_MANIFESTACAO. 

Nosso cliente quer, agora, que a consulta seja feita através de outro código, 
que seja mais legível. Sugeriu, então, que cada manifestação, daqui por 
diante, ganhe um novo código que irá identificá-la. Esse código deve ser no 
formato NNN, onde o  é o ano corrente e os NNN é uma sequencia 
de números. Na virada de ano, a sequencia de números é zerada. 

Exemplos desse novo código: 
2014001 
2014002 
. 
. 
. 
2014325 
. 
. 
. 
2015001 
2015002 

Para cada registro guardado na tabela manifestação, é gerado um código que é o 
incremento do código anterior, exceto na virada do ano. 

Precisamos criar um campo CODIGO (que será unique) na tabela MANIFESTACAO. Até 
aí, tudo bem. O problema que estou passando é justamente como gerar esse 
código. 

Criamos uma trigger para a geração automática desses códigos. Criamos também 
uma tabela chamada GERACAO_CODIGO, que possui 2 campos, ANO e CONTADOR, para 
ajudar na criação dos códigos. Não sabemos se a trigger é a melhor alternativa 

Essa tabela GERACAO_CODIGO terá apenas 2 campos, o campo ANO e o campo 
CONTADOR. Inicialmente, a tabela conterá apenas 1 registro (abaixo): 

ANO CONTADOR 
2014   0 

Essa tabela servirá apenas para ajudar na geração do campo CODIGO da tabela

Re: [oracle_br] Problema para gerar código ANO + Sequencial

2014-10-22 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Exato.

Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quarta-feira, 22 de Outubro de 2014 8:16, Aroldo Rique aro...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Ok, Alessandro, o commit virá logo após o insert na tabela MANIFESTACAO.
O único momento que eu faço um SELECT na tabela GERACAO_ CODIGO é neste que eu 
descrevi. Então, pelo que eu entendi, quando a primeira transação passar por 
esse select, a próxima transação aguardará o término da transação anterior para 
prosseguir, não é mesmo?
Em 22/10/2014 09:10, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br 
escreveu:

 
  


 
Aroldo, o FOR UPDATE lock a tabela para alterações, mas não ficará bloqueado 
para Leitura.::: MAS ::.. outras leituras com for update sim, isso significa 
que select com FOR UPDATE serão serializados. Ou seja sempre uma trigger 
somente irar realizar a consulta com o termino da transação da primeira 
trigger, assim sempre pegando o próximo valor.


Sobre não usar o Pragma, se imediatamente apos o insert na tabela MANIFESTACAO 
você já der o commit, OK, não irar precisar do Pragma, pois o tempo de 
contenção será muito pouco; todavia se você for realizar uma serie de 
operações e somente depois X tempo terminar a transação, saiba que ninguem 
conseguirar incluir registro na tabela manifestação enquanto a transação não 
terminar. 


Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Quarta-feira, 22 de Outubro de 2014 7:55, Aroldo Rique aro...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Olá, Alessandro, bom dia e obrigado pela ajuda.
Se eu implementar apenas a sua segunda sugestão:
2º Coloque um LOCK no seu select com FOR UPDATE, ficando assim:

select nvl(contador + 1,1)
   into p_contador
  from geracao_codigo
where ano = pano
FOR UPDATE;
O meu problema já não estará resolvido. Esse FOR UPDATE impedirá que outra 
transação atribua o mesmo valor à variável p_contador? A tabela geracao_codigo 
ficará locada inclusive para leitura?
Essa tabela geracao_codigo só é usada nesse momento(inclusão de um registro na 
tabela MANIFESTACAO).
Antecipadamente agradeço a resposta.
Att,
Aroldo Rique 



Em 22/10/2014 08:37, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br 
escreveu:

 
  


 
Olá Aroldo,


Para garantir consistência e evitar a contenção você preisa alterar dois 
pontos da sua trigger:


1º Altere a trigger para ser uma Transação Autônoma usando o pragma 
autonomous_transaction. Isto irar fazer que a trigger não participa da 
transação principal e irar permitir de outras transações consulte os novos 
dados (update incrementado) após o termino da trigger com um COMMIT 
independente se a transação principal terminou ou não.


2º Coloque um LOCK no seu select com FOR UPDATE, ficando assim:


select nvl(contador + 1,1)
   into p_contador
  from geracao_codigo
where ano = pano
FOR UPDATE;


Assim, se uma trigger for disparada, mas já existir uma primeira trigger 
ainda em execução, a 2º trigger aguardará o termino da primeira triiger e só 
assim consultará o novo valor. O LOCK será relativamente rapido, pois o LOCK 
ocorre somente durante a execução da Trigger r não da transação toda;




Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Terça-feira, 21 de Outubro de 2014 23:06, Aroldo Rique aro...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Prezados, estamos com uma dúvida aqui no meu trabalho com relação a geração 
de um código. É um sistema WEB desenvolvido em JAVA e com vários atendentes o 
utilizando no Brasil inteiro. O Banco de dados é Oracle. Todos as classes 
Services estão com a annotation @Transactional do Spring. 

Temos uma tabela chamada MANIFESTACAO, que possui uma sequence como chave 
primária (campo ID_MANIFESTACAO). Essa tabela também possui vários outros 
campos. Até agora, toda consulta para identificar cada manifestação é 
realizada através do campo ID_MANIFESTACAO. 

Nosso cliente quer, agora, que a consulta seja feita através de outro código, 
que seja mais legível. Sugeriu, então, que cada manifestação, daqui por 
diante, ganhe um novo código que irá identificá-la. Esse código deve ser no 
formato NNN, onde o  é o ano corrente e os NNN é uma 
sequencia de números. Na virada de ano, a sequencia de números é zerada. 

Exemplos desse novo código

Re: [oracle_br] Re: Problema para gerar código ANO + Sequencial

2014-10-22 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Olá Aroldo, só agora que vi a discussão; Não sei se ainda vai querer vai o 
Sleep no banco, mas caso queira o comando é este abaixo:

begin
  dbms_lock.sleep(10); -- 10 segundos.
end; 

Todavia, se você for por sequencia como discutido, creio ser melhor, pois é 
nativo do Oracle, já esta pronto e acima de tudo, você consegue ter controle 
sobre usar cache nas sequencia algo que você não tem como a sua solução.

Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quarta-feira, 22 de Outubro de 2014 14:21, Aroldo Rique aro...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Blz, valeu pelas dicas. Vou passar pro pessoal aqui.

Att,

Aroldo Rique


Em 22 de outubro de 2014 15:05, jlchia...@yahoo.com.br [oracle_br] 
oracle_br@yahoogrupos.com.br escreveu:

 
  
Vc até poderia dropar  recriar : é a opção mais direta mas muita gente não 
gosta disso, especialmente por causa de consequências como invalidar objetos 
dependentes da sequence. 
  Assim, embora o drop  create seja possível, se preferir optar por não o 
 fazer é SIM totalmente POSSÍVEL se obter o mesmo efeito sem drop : o  que 
 ocorre é que, muito embora não haja um comando específico para se alterar o 
 valor corrente da sequence, é ** SIM ** possível se fazer outros tipos de 
 alteração na sequence que dão o mesmo efeito...
 Aqui mesmo no fórum já demos alguns exemplos em threads anteriores, dá uma 
 pesquisada mas basicamente é temporariamente alterar a sequence para ter um 
 valor máximo E zerar quando esse valor é atingido, além de também alterar o 
 incremento para um valor bem alto : com isso feito, vc faz alguns select 
 nextval para ultrapassar o valor máximo que aí a sequence volta pra zero 
 Zerada a sequence, aí vc volta os settings dela para como estavam antes...

  []s

   Chiappa



Re: [oracle_br] Re: SGA - nK Buffer Cache

2014-10-08 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Olá Chiappa, 

Apenas um adendo sobre a sua informa de leitura de blocos e armazenamento em 
cache.

1º Ocorre no RDBMS Oracle é que a informação numa tabela  NUNCA  é 
lida um registro/uma linha por vez, mesmo que seja apenas uma linha que 
interessa ao SQL em execução
Em ambiente Oracle tradicional sim isso é verdadeiro mas no Exadata existe um 
recurso chamado Smart Scan que processa consultas na camada de 
armazenamento, retornando somente linhas e colunas relevantes para o 
servidor de banco de dados. 


2º Sempre o que ocorre obrigatoriamente é que o BLOCO aonde a linha reside é 
localizado e esse bloco TODO (contendo não só a linha de interesse mas n 
outras) é trazido para o cache
Por padrão sim é verdadeiro, mas existe um recurso no Oracle chamado Direct 
Path Reads que orienta o Oracle a ignorar o Buffer Cache. Isso pode ser 
extremamente útil em por exemplo de relatório extramemente complexo e com 
muitos dados, mas a consulta é feita uma vez por mês e por apenas uma sessão. 
Sem contar que consultas realizadas com paralelismo usam o Direct Path Reads.



Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Terça-feira, 7 de Outubro de 2014 20:03, Leandro Saes 
saes.lean...@gmail.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Chiappa,


Obrigado pelo complemento ! Ajudou absurdamente... rs


Abs.



Em 7 de outubro de 2014 10:45, jlchia...@yahoo.com.br [oracle_br] 
oracle_br@yahoogrupos.com.br escreveu:

 
  
Não é difícil se pensar em casos onde isso pode fazer alguma diferença : 
primeiro pensando em ambientes OLTP, o que ocorre no RDBMS Oracle é que a 
informação numa tabela  NUNCA  é lida um registro/uma linha por vez, 
mesmo que seja apenas uma linha que interessa ao SQL em execução : sempre o 
que ocorre obrigatoriamente é que o BLOCO aonde a linha reside é localizado e 
esse bloco TODO (contendo não só a linha de interesse mas n outras) é trazido 
para o cache, ok ? Isso é feito na esperança de que as n outras linhas que 
estavam no bloco sejam em breve necessárias, aí já estando no cache vc poupou 
I/Os, right ? Ora, com um bloco maior vc tem mais espaço para mais linhas, 
assim esse único single block I/O trouxe mais linhas pro cache e portanto em 
tese vc AUMENTA as chances de que no futuro breve as próximas linhas 
necessárias sejam encontradas no cache... 
 O segundo cenário seriam sistemas DW/batch/DSS, onde tipicamente vc quer 
 recuperar uma enorme quantidade de linhas decada tabela : nesse caso, via de 
 regra como o RDBMS sabe que é quase que a totalidade da tabela que vai 
 precisar ser lida , ele vai optar por table full scan/index fast full scan, 
 caso em que ele fará I/Os multiblock (ou seja, ao invés de ler um bloco por 
 vez a tabela/índice, ele opta por ler todo um extent de uma vez, acessando 
 muitos blocos de uma vez só num único I/O) : evidentemente, se nesse único 
 I/O de x kbytes se vc conseguiu recuperar mais linhas e seu objetivo é ler 
 todas ou quase todas as linhas, óbvio que esse único I/O foi mais rendoso, 
 mais eficiente, vc recuperou mais linhas da tabela com esse único I/O, no 
 final das contas menos I/Os serão necessários para se recuperar as linhas 
 todas...
 
 Evidentemente :
 
 a) pensando no OLTP, quando se fala em cache, nós estamos falando de CHANCES, 
 de ESTATÍSTICA : absolutamente NINGUÉM garante esse que as linhas cacheadas 
 por esse único single block I/O ** vão ** ser exigidas mesmo no futuro breve, 
 e que assim vc vai poupar I/Os, yep ??
 
 b) podem haver overheads e riscos ** CLAROS ** e pesados com blocos grandes : 
 por exemplo, no RDBMS Oracle, os DMLs necessariamente ocorrem no bloco, e já 
 que ele é um banco multi-usuário, ele TEM que travar o bloco que vai ser 
 alterado na fração de segundo em que a alteração ocorre (o chamado LATCH) - 
 não é impossível que num bloco maior, contendo mais linhas, mais sessões 
 tenham que acessar as linhas desse bloco, mais sessões estarão esperando pelo 
 latch, portanto : isso é a contenção de linhas por bloco... 
  Outro ponto técnico é que no RDBMS Oracle o lock é feito por LINHA (ao 
 contrário de outros RDBMSs, em que pode haver lock por bloco/página) : isso 
 traz o efeito positivo que uma sessão A acessando/alterando uma linha X *** 
 NUNCA *** vai ser bloqueada por uma sessão B acessando/alterando uma linha Y 
 que calhou de estar no mesmo bloco/página Porém, essa informação TEM que 
 ser gravada no próprio bloco (é o chamado ITL, Interested Transaction List) - 
 com um bloco maior logicamente vc vai ter mais linhas presentes no bloco, 
 então é (em tese) maior a chance de vc mais transações acessando o mesmo 
 bloco, portanto mais slots de ITL sendo usados, talvez até esgotando a área 
 reservada a isso Claro que este é um cenário extremo, não tão fácil de

Re: [oracle_br] Re: Query resultados diferentes

2014-09-04 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Rafael, será que não existe uma política de VPD este seu banco de dados? 
Consulte a view dba_policies para confirmar isso.


Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quinta-feira, 4 de Setembro de 2014 8:56, Rafael Mendonca 
raffaell.t...@yahoo.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Obrigado a todos pela ajuda, mas até agora não consegui resolver a seguinte 
questão.

a) Resposta:

Só existe um sinonimo publico e ele é do tipo PUBLIC.
Todas as tabelas/views envolvidas possuem o owner na frente, ou seja, não 
utiliza sinonimo, e o sinonimo aponta para a tabela original, descartando essa 
opção.

b) Resposta:
Verifiquei e não existe nenhuma trigger refenciando os objetos envolvidos na 
query.

c) Resposta:
A query chama função que executando com diferentes usuários e o próprio owner 
traz o mesmo valor
SELECT xuxa.nval_const('$$TipExpMandPrisao') FROM dual
resultado= 47

d)
Tirei o trace e achei uma coisa estranha: (Trace do owner dos objetos 
envolvidos na consulta)

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
-- -- --  
---
1  1  1  TABLE ACCESS BY INDEX ROWID PAIS (cr=2 pr=0 pw=0 
time=28 us cost=2 size=12 card=1)
1  1  1   INDEX RANGE SCAN PAIS_PK (cr=1 pr=0 pw=0 time=16 us 
cost=1 size=0 card=1)(object id 78756)
4  4  4  TABLE ACCESS BY INDEX ROWID CIDADE (cr=9 pr=4 pw=0 
time=24574 us cost=3 size=17 card=1)
4  4  4   INDEX RANGE SCAN CIDADE_PK (cr=5 pr=2 pw=0 time=14226 
us cost=2 size=0 card=1)(object id 78412)
3  3  3  TABLE ACCESS BY INDEX ROWID TIPOPROCEDPREVIOPROC (cr=5 
pr=1 pw=0 time=3324 us cost=1 size=23 card=1)

...
...
...

Rows Execution Plan
---  ---
0  SELECT STATEMENT   MODE: ALL_ROWS
1   TABLE ACCESS   MODE: ANALYZED (BY INDEX ROWID) OF 'PAIS' (TABLE)

1INDEX   MODE: ANALYZED (RANGE SCAN) OF 'PAIS_PK' (INDEX 
(UNIQUE))
4   TABLE ACCESS   MODE: ANALYZED (BY INDEX ROWID) OF 'CIDADE' 
(TABLE)
4INDEX   MODE: ANALYZED (RANGE SCAN) OF 'CIDADE_PK' (INDEX 
(UNIQUE))
3   TABLE ACCESS   MODE: ANALYZED (BY INDEX ROWID) OF 
'TIPOPROCEDPREVIOPROC' (TABLE)
...
...

trace do usuário que tras apenas 1 única linha:

Rows (1st) Rows (avg) Rows (max)  Row Source Operation
-- -- --  
---
1  1  1  TABLE ACCESS BY INDEX ROWID PAIS (cr=2 pr=0 pw=0 
time=19 us cost=2 size=12 card=1)
1  1  1   INDEX RANGE SCAN PAIS_PK (cr=1 pr=0 pw=0 time=12 us 
cost=1 size=0 card=1)(object id 78756)
1  1  1  TABLE ACCESS BY INDEX ROWID CIDADE (cr=3 pr=0 pw=0 
time=16 us cost=3 size=17 card=1)
1  1  1   INDEX RANGE SCAN CIDADE_PK (cr=2 pr=0 pw=0 time=11 us 
cost=2 size=0 card=1)(object id 78412)
1  1  1  TABLE ACCESS BY INDEX ROWID TIPOPROCEDPREVIOPROC (cr=2 
pr=0 pw=0 time=11 us cost=1 size=23 card=1)

0  SELECT STATEMENT   MODE: ALL_ROWS
1   TABLE ACCESS   MODE: ANALYZED (BY INDEX ROWID) OF 'PAIS' (TABLE)

1INDEX   MODE: ANALYZED (RANGE SCAN) OF 'PAIS_PK' (INDEX 
(UNIQUE))
1   TABLE ACCESS   MODE: ANALYZED (BY INDEX ROWID) OF 'CIDADE' 
(TABLE)
1INDEX   MODE: ANALYZED (RANGE SCAN) OF 'CIDADE_PK' (INDEX 
(UNIQUE))
1   TABLE ACCESS   MODE: ANALYZED (BY INDEX ROWID) OF 
'TIPOPROCEDPREVIOPROC' (TABLE)

...
...

Consultando essas tabelas elas trazem o mesmo número de linhas.

Em qua, 3/9/14, jlchia...@yahoo.com.br [oracle_br] 
oracle_br@yahoogrupos.com.br escreveu:

Assunto: [oracle_br] Re: Query resultados diferentes
Para: oracle_br@yahoogrupos.com.br
Data: Quarta-feira, 3 de Setembro de 2014, 18:24


 



 Com quase Absoluta certeza, eu diria que :

 a) um dos usuários contém
sinônimos apontando para outros locais

OU

 b) há
triggers (talvez triggers de logon) e/ou controles FGAC que
filtram o resultset e/ou atribuem privilégios
diferentes/roles diferentes cfrme cada usuário conecta

OU

 c) a query chama funções/procedures PL/SQL
que se comportam diferentemente cfrem o usuário
conectado

OU

 d) uma opção muito
possível, a query não é ** BLINDADA ** contra diferenças
de NLS (usando TO_DATE, não confiando em conversões
implícitas, etc) e as sessões dos usuários estão com
settings NLS diferentes


 Ou derivações dos temas...

 = Para vc descobrir qual
desses é o caso, eu Sugiro que vc , usando EXATAMENTE O
MESMO programa-cliente (sqlplus se possível), na mesma
máquina, abra uma sessão para cada usuário a testar,
consulte a NLS_SESSION_PARAMETERS e a ALL_OBJECTS dentro de
cada sessão, ative o TRACE DE SQL em cada sessão e execute
o exato mesmo SQL em cada sessão : nos arquivo de trace vc
deverá ser capaz de ver o que está

Re: [oracle_br] Dica sobre ferramenta de Tuning

2014-08-29 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Willian,

Sobre o índice muito 
fragmentado é problema veja o que o Portilho e explica isso como Lenda:


http://www.profissionaloracle.com.br/gpo/servicos/easyblog/blogueiros/entry/2011/08/24/para-os-desfragmentadores-de-plantao
http://nervinformatica.com.br/Downloads/HowToStopDesfragmentingAndStartLiving.pdf



Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Sexta-feira, 29 de Agosto de 2014 10:48, Wiliam Balan wiliamba...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Olá Pessoal da lista Oracle

Estou fazendo um trabalho 
academico e gostaria de trabalhar com Seleção de índices, mas vejo que vários 
SGBds já tem ferramentas que fazem isso. No ORACLE sito: 


- http://docs.oracle.com/cd/B28359_01/server.111/b28274/sql_tune.htm#CHDJDFGE
- http://docs.oracle.com/cd/B19306_01/server.102/b14211/advisor.htm

Ainda não vi nenhuma ferramenta que verifique/analise os índices existentes e  
verifique se estão FRAGMENTADOS para então fazer o Rebuild daquele 
índice ou mesmo apagar e criá-lo de novo. Pois um índice muito 
fragmentado é problema.  

Voces já ouviram falar de alguma ferramenta que faz isso, verificar e corrigir 
a fragmentação de indices?

Qualquer ajuda é bem vinda.

[]'s Wiliam


Re: [oracle_br] Erro datafile corrompido no restore do rman

2014-08-29 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Emerson

  Como você restaurou o CONTROLFILE usa a sintax que o erro esta te indicando.

RMAN-11003: falha durante anßlise/execuþÒo da instruþÒo do SQL: alter database 
recover if needed start until cancel using backup controlfile

Faz assim: No RMAn faz ate o RESTORE, depois no SQLPLUS faz o Restore 


sql recover database using backup controlfile until cancel;







Alessandro Lúcio Cordeiro da Silva 
Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Sexta-feira, 29 de Agosto de 2014 13:09, Emerson Martins 
emersonmarti...@gmail.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Boa tarde pessoal.

Estou com a seguinte situação num teste de restore.

Efetuei backup full de um bd 

run {
allocate channel c1 type disk FORMAT 'D:\duplicate\df_%d_%s_%p_%t.dbf' 
maxpiecesize 3000M;
backup tag 'BackupDatabaseFullDiario' database;
sql 'alter system archive log current';
backup tag 'BackupArchivelogDiario' archivelog all delete input;
backup tag 'BackupCurrentControlfile' current controlfile;
delete noprompt obsolete ;
CROSSCHECK BACKUPSET;
CROSSCHECK COPY;
crosscheck archivelog all ;
DELETE NOPROMPT EXPIRED BACKUP;
DELETE NOPROMPT EXPIRED COPY;
release channel c1;}


set ORACLE_SID=prod
rman target /

Gerenciador de RecuperaþÒo: Release 11.2.0.2.0 - Production on Ter Mar 18 
22:18:46 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

conectado ao banco de dados de destino (nÒo iniciado)

RMAN set dbid=222355883
RMAN startup force pfile='D:\BACKUP_RMAN\PROD\initPROD.ora' nomount;

RMAN restore spfile from 'F:\duplicate\CONTROLFILE_C-222355883-20140829-01';

RMAN restore controlfile from 
'D:\Oracle\fast_recovery_area\autobackup\CONTROLFILE_C-222355883-20140317-00';


Iniciando restore em 18/03/14
utilizando o canal ORA_DISK_1

canal ORA_DISK_1: restaurando arquivo de controle
canal ORA_DISK_1: restauraþÒo concluÝda, tempo decorrido: 00:00:03
nome do arquivo de saÝda=C:\ORACLE\ORADATA\PROD\CONTROL01.CTL
nome do arquivo de saÝda=C:\ORACLE\FAST_RECOVERY_AREA\PROD\CONTROL02.CTL
nome do arquivo de saÝda=D:\ORACLE\FAST_RECOVERY_AREA\PROD\CONTROL03.CTL
Finalizado restore em 18/03/14

RMAN shutdown immediate;
RMAN startup force pfile='D:\BACKUP_RMAN\PROD\initPROD.ora' nomount;

RMAN alter database mount;


banco de dados montado
canal liberado: ORA_DISK_1


crosscheck archivelog all;
crosscheck backup;
crosscheck backup of database; 
delete expired archivelog all;
delete expired backup;
delete obsolete;
shutdown;
startup mount;

Até aqui ok!

run {
SET NEWNAME FOR DATAFILE 1  TO 'C:\ORACLE\ORADATA\PROD\SYSTEM01.DBF';
SET NEWNAME FOR DATAFILE 2  TO 'C:\ORACLE\ORADATA\PROD\SYSAUX01.DBF';
...
SET NEWNAME FOR DATAFILE 00061  TO 'C:\ORACLE\ORADATA\PROD\WPDINDICES11.DBF';

SET NEWNAME FOR DATAFILE 00062  TO 'C:\ORACLE\ORADATA\PROD\WPDINDICES12.DBF';
restore database;
switch datafile all;   
recover database;
}

.


Iniciando recover em 29/08/14
utilizando o canal ORA_DISK_1

iniciar recuperaþÒo de mÝdia
recuperaþÒo de mÝdia falhou
RMAN-00571: ===
RMAN-00569: === ERROR MESSAGE STACK FOLLOWS ===
RMAN-00571: ===
RMAN-03002: falha do comando recover em 08/29/2014 09:13:32
ORA-00283: recovery session canceled due to errors
RMAN-11003: falha durante anßlise/execuþÒo da instruþÒo do SQL: alter database 
recover if needed
 start until cancel using backup controlfile
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 55: 'C:\ORACLE\ORADATA\PROD\WPDINDICES11.DBF'
ORA-01122: database file 55 failed verification check
ORA-01110: data file 55: 'C:\ORACLE\ORADATA\PROD\WPDINDICES11.DBF'
ORA-01210: data file header is media corrupt
 

A mensagem é clara estou com um datafile corrompido aqui..

Após isso usei o comando abaixo para analisar o grau do problema. Pelo que 
entendi por conta da falha do recover não foi possivel efetuar o recover do 
principal datafile mostrado abaixo pelo grau de criticidade.

RMAN advise failure all;

Lista de Falhas do Banco de Dados
=

ID da Falha Status da PrioridadeHorßrio da DetecþÒo Resumo
---  - --- ---
1225CRITICAL OPEN  29/08/14Arquivo de dados do sistema 
1: 'C:\ORACLE\ORADATA\PROD\SYSTEM01.DBF' precisa de recupera
a
42  CRITICAL OPEN  29/08/14O arquivo de controle 
precisa de recuperaþÒo de mÝdia
1546HIGH OPEN  29/08/14Um ou mais arquivos de dados 
que nÒo sÒo do sistema estÒo corrompidos
474 HIGH OPEN  29/08/14Um ou mais arquivos de dados 
que nÒo sÒo do sistema precisam de recuperaþÒo de mÝdia

analisando opþ§es de reparo automßtico; isso pode levar algum tempo

[oracle_br] Obter a pilha de execução

2014-08-18 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 Olá Senhore,

    Com a função DBMS_UTILITY.FORMAT_CALL_STACK eu consigo obter a pilha de 
chamada PL/SQL da sessão corrente. Todavia eu precisaria pegar a pilha de 
chamada de uma outra sessão ativa. Alguém conhece alguma função/View que me 
retorna a pilah de execução de uma sessão ativa?

Obrigado!



Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)


Re: [oracle_br] Oracle XE ou postgreSQL

2014-08-13 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


Olá Mario,

Bom, primeiro de tudo você deve analisar as limitações do BD's e ver se te 
atende. No caso do XE existe limitação de crescimento, por exemplo, que é de 
10Giga de dados para Versão 11g do Xe. Ao passo que o PostGre não tem esta 
limitação.

Como você disse que que as aplicações não chega a 10 usuários, é bem provável 
que você ainda esteja longe a atingir a limitação do XE, mas como sempre é 
melhor você conferir e fazer uma analisa melhor.

Eu neste cenário iria de XE, pois como você tem procedures, packages, triggers 
e views já mostra que você esta usando recurso de banco para aplicação de regra 
de negocio, o que seria bem mais adepto ocasionando bem menos transtornos a 
você este migração. 


Mas pode ficar a duvida e se... depois de algum tempo o meu cliente estiver com 
muito usuários ao mesmo tempo e o banco ficar maior que os 10Giga de dados? S o 
seu cliente chegou neste estagio migre para uma versão paga do Oracle - pode 
ser o Standard ao inves do  enterprise. 


E ainda se o cliente cresceu então ai que não faz sentido fazer um downgrade 
deBanco, seria algo mais natural usar um banco com todo o suporte.


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quarta-feira, 13 de Agosto de 2014 10:27, Mario Rodrigues 
marioirodrig...@gmail.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Pessoal 

Bom Dia

Inicialmente, gostaria de deixar registrado que não sou DBA ... ou seja essa 
parte de administração sou quase um zero a esquerda, mas como o grupo sempre me 
ajudou (não só a mim claro) segue a duvida.

Temos uma aplicação, que roda muito bem no enterprise.

Estamos pensando em migrar 2 clientes para o Oracle XE, pergunta aos srs vamos 
ter problemas de alguma natureza?

Fato:
Nos 2 clientes o numero de usuários não chega a 10.
Nem todos usam ao mesmo tempo
O que é usado do banco é basicamente procedures, packages, triggers, views, 
sequences enfim os objetos básicos ... 

Uma segunda opção seria migrarmos para postgreSQL ... qual a opinião dos srs???

Obrigado.
 



Re: [oracle_br] Re: ORA-02024: link de banco de dados não localizado

2014-07-31 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Tente      Drop database link SPDDBA01.XUXA; sem o dominio.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quinta-feira, 31 de Julho de 2014 14:59, jlchia...@yahoo.com.br 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Na verdade não é só o valor da propriedade GLOBAL_NAME que interefere : o valor 
do Domínio também entra em consideração, bem como o valor do parâmetro de 
inicialização GLOBAL_NAMES 
 Verifique e CONFIRME que nada disso mudou depois da criação do database link, 
manda no sqlplus uns :

show parameter domain
show parameter global
select * from sys.link$ where name='NOMEDOTEUDATABASELINK';
select * from global_name;

== caso esteja tudo certo E vc obtenha provas que não foi alterado nada disso 
depois da criação do dblink, é Alta a Chance de vc ter algum bug/corrupção no 
dicionário de dados - verifique isso num Chamado com o Suporte Oracle.

 []s

   Chiappa


Re: [oracle_br] Re: ORA-02024: link de banco de dados não localizado

2014-07-31 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]



Consegui reproduzir seu erro aqui. O erro ocorre quando o Global_name é 
alterado depois de criar o BDLINK. Voltei ao nome original e resolveu o 
problema;


Veja:

Microsoft Windows [versão 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Todos os direitos reservados.

C:\Users\c8757887cd\

C:\set oracle_sid=bdagnus

C:\sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Qui Jul 31 15:22:07 2014

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL connect sys/senha as sysdba
Conectado.
SQL select * from global_name;

GLOBAL_NAME


BDAGNUS


SQL create database link TESTE_XUXA connect to system identified by senha 
using 'bdagnus';

VÝnculo de banco de dados criado.

SQL select * from v$instance@teste_xuxa;

INSTANCE_NUMBER INSTANCE_NAME
--- 
HOST_NAME

VERSION           STARTUP_TI STATUS       PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT

- --  --- -- --- ---

LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO
-- --- - -- - ---
              1 bdagnus
CE-UGTI-673126
11.2.0.1.0        31/07/2014 OPEN         NO           1 STOPPED
ALLOWED    NO  ACTIVE            PRIMARY_INSTANCE   NORMAL    NO


SQL disconn
Desconectado de Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bi
t Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL connect sys/senha as sysdba
Conectado.

SQL UPDATE GLOBAL_NAME SET GLOBAL_NAME = 'MEUBANCO';

1 linha atualizada.

SQL ALTER DATABASE RENAME GLOBAL_NAME TO MEUBANCO;

Banco de dados alterado.

SQL drop database link teste_xuxa;
drop database link teste_xuxa
                   *
ERRO na linha 1:
ORA-02024: link de banco de dados nÒo localizado

SQL disconn
Desconectado de Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bi
t Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL connect sys/senha as sysdba
Conectado.

SQL UPDATE GLOBAL_NAME SET GLOBAL_NAME = 'BDAGNUS';

1 linha atualizada.

SQL ALTER DATABASE RENAME GLOBAL_NAME TO BDAGNUS;

Banco de dados alterado.

SQL drop database link teste_xuxa;

VÝnculo de banco de dados eliminado.

SQL
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quinta-feira, 31 de Julho de 2014 15:27, jlchia...@yahoo.com.br 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Ok - o que eu Aponto é que o teu parâmetro de DOMAIN tá nulo, pelo jeito :

show parameter domain
NAME TYPE    VALUE
 --- --
db_domain    string
 
== mas vc ** TEM ** um DOMAIN no nome, que é esse US.ORACLE.COM
 
SQL select * from sys.link$ where name='XUXA.US.ORACLE.COM';
 
224
XUXA.US.ORACLE.COM
24-NOV-12
SARHMLG
SPDDBA01   2
05C92E9282E6C75EEE16232A0A6EC27FAFF10D19944AA37649

 Isso *** NÂO *** deveria acontecer de forma alguma se esses 
valores/parãmetros acima sempre tivessem se mantido os mesmos, exemplo :

SYSTEM:@O11GR2:SQLselect * from global_name;

GLOBAL_NAME
-
O11GR2

SYSTEM:@O11GR2:SQLshow parameter domain

NAME TYPE    VALUE
 --- --
db_domain    string

SYSTEM:@O11GR2:SQLshow parameter global_name

NAME TYPE    VALUE
 --- --
global_names boolean FALSE

SYSTEM:@O11GR2:SQLselect * from global_name;

GLOBAL_NAME
-
O11GR2

== legal, estou que nem vc mostrou, SEM domínio e com GLOBAL_NAME=FALSE :

SYSTEM:@O11GR2:SQLcreate database link teste connect to system identified by 
oracle using 'XE';

Vínculo de banco de dados criado.

SYSTEM:@O11GR2:SQLselect * from dba_db_links where db_link like '%TEST%';

OWNER    DB_LINK USERNAME HOST CREATED
 ---   
SYSTEM   TESTE   SYSTEM   XE   31/07/14


SYSTEM:@O11GR2:SQLconn sys/oracle as sysdba
Conectado.
SYS:AS SYSDBA@O11GR2:SQLselect * from sys.link$ where name like '%TEST

Re: [oracle_br] Re: Restore co m Logfile em no va Localização

2014-07-25 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


Eu acredito que funciona sim. Eu estava tentando via restore pq já estava bem 
adiantado o Script. Eu sou tentar usar o duplicate.  


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Sexta-feira, 25 de Julho de 2014 14:47, Élisson Ferraz Almeida 
elisson.fer...@gmail.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Nao daria pra fazer um duplicate target database to no rman? vc seta os dois 
parametros abaxio no spfile/pfile do banco destino, nunca fiz automatizado mas 
o duplicate na mao jah fiz varias vezes e deu certo.
log_file_name_convert='origem','destino'db_file_name_convert='origem','destino'





Atenciosamente,
Élisson Ferraz Almeida
Empty your mind, be formless. Be shapeless like water. If you put water into a 
cup, it becomes the cup. You put water into a bottle and it becomes the bottle. 
If you put it in a teapot it becomes the teapot. Water can flow or can crash. 
Be water my friend.
--Bruce Lee

http://www.linkedin.com/in/elissonferraz
--Linkedin Profile



2014-07-24 23:30 GMT-03:00 Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br:

 
  
Olá Chiappa,


O Banco de Produção está em FileSystem normal do windows(sem ASM) e ele 
realiza backup's multiplexados tanto no disco local e em um mapeamento de rede 
em um servidor de backup. 

Os archives estão sendo escrito tanto local como neste mapeamento de rede. 
Além disso o Banco de Produção esta configurado para realizar o autobackup do 
ControlFile na area de mapeamento de rede.


Então o meu script (na verdade um conjunto de script de chama outros script) 
que roda no servidor de teste é basicamento dar um DROP no Banco de Teste, 
iniciar com PFILE e depois restaurar a partir da area compartilhada de rede.

Eu não tenho problema com controlfile (pois ele é criado onde aponta o
 parametro init e não preciso especificar o arquivo de backup com a sintaxe de 
AUTOBACKUP) nem com os DataFiles ( no RUN do Rman seto o parametro 
DB_CREATE_FILE_DEST e uso a sintaxe NEWNAME FOR DATABASE TO NEW). O meu 
problema é os REDOLOG que eu pensava que ao serem recriados com OPEN RESETLOGS 
o Oracle iria criar na pasta LOGFILE dentro do diretorio DB_CREATE_FILE_DEST, 
(no momento do RESETLOG o Oracle cria esta pasta LOGFILE, mas não gera dentro 
dele),  mas pelo que vi no RESETLOGS ele sempre tenta criar no metadado do 
Oracle.

Acredito que na parte do ResetLog vou ter que colocar ou Hard-Coded ou adaptar 
o script para que antes do RESETLOGS eu consulte o V$LOG para gerar um script 
com os ALTER DATABASE RENAME FILE de todos os RedeLOG.

Mas muito Obrigado pela Ajuda Chiappa.


Segue o Script RMAN:
run {
  shutdown immediate;
  startup nomount pfile='c:\app\administrator\initBDAGNUS.ora';
  set dbid=3924117592;
  set controlfile autobackup format for device type disk to 
'\\172.19.0.11\E$\BCK_BANCOS\BDAGNUS\AUTOBACKUP\CF_%F';
  restore controlfile from autobackup;
  alter database mount;
  set until time 'SYSDATE - 4/24';

  sql 'ALTER SYSTEM SET DB_CREATE_FILE_DEST=c:\app\administrator\DATAFILE';
  set newname for database to NEW;
  restore database;
  switch datafile all;
  recover database;
  alter database open resetlogs;
  }


Alessandro Lúcio Cordeiro da Silva 

    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Em Quinta-feira, 24 de Julho de 2014 14:37, jlchia...@yahoo.com.br 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 



  
OBS : se vc der mais detalhes (ie, confirmar que não há ASM envolvido, se os 
databases em questão são single-instance, Especificar se o backup a restaurar 
é COLD ou HOT, se o banco-origem está em ARCHIVE MODE ou não, etc) , posso 
inclusive (dentro das minhas restrições de tempo/disponibilidade, que nem 
sempre são regulares)  tentar montar uns shell-scripts/sqlplus scripts de 
exemplo pra vc, ok ? 

[]s

  Chiappa
  
OBS : e sobre a questão dos NOMES (tanto do database restaurado quanto da 
instância), vc pretende deixá-los com os mesmo nomes que vieram da 
origem/produção ??





[oracle_br] Restore com Logfile em nova Localização

2014-07-24 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]




Bom dia Senhores,

Estou preparando um Script que DROP o banco de dados de teste e depois usando o 
backup banco de dados de produção realiza o Restore.

Os bancos estão em Host diferente e também os diretorios destes também são 
diferentes. Ambos é Windows Server 2012 com Oracle 11.2.0.4.0

Para mudar a localização dos DataFiles uso basicamente 

RUN { sql 'ALTER SYSTEM SET 
DB_CREATE_FILE_DEST=c:\app\administrator\DATAFILE';
         set newname for database to NEW;
        restore database;
        switch datafile all;
        recover database;
        alter database open resetlogs;}

Os Datafiles são restaurados normalmente no diretorio apontado pelo  
DB_CREATE_FILE_DEST, mas os RedoLog o Oracle sempre tenta criar no diretorio do 
banco de produção, que não existe no de teste.

Então tentei usar o parametro db_create_online_log_dest_1 como abaixo:



RMAN sql 'ALTER SYSTEM SET 
db_create_online_log_dest_1=c:\app\administrator\LOGFILE';
instruþÒo sql: ALTER SYSTEM SET 
db_create_online_log_dest_1=c:\app\administrator\LOGFILE

RMAN alter database open resetlogs;


RMAN-00571: ===
RMAN-00569: === ERROR MESSAGE STACK FOLLOWS ===
RMAN-00571: ===
RMAN-03002: falha do comando alter db em 07/24/2014 10:56:54
ORA-00344: nÒo Ú possÝvel recriar log 
'C:\APP\C8757887\ORADATA\BDAGNUS\REDO01.LOG' on-line
ORA-27040: erro ao criar arquivo, nÒo foi possÝvel criar o arquivo
OSD-04002: nÒo Ú possÝvel abrir arquivo
O/S-Error: (OS 3) O sistema nÒo pode encontrar o caminho especificado.

Mas mesmo assim o Oracle tenta criar no diretorio original (DB de produçã). 
Somente consigo abrir este banco de antes de abrir fazer o comando ALTER 
DATABASE RENAME FILE; mas o meu problema é que teria que informar todos os 
REDOLOG no script e o pior que o script não iria mais funcionar caso eu 
crie/altere/exclua algum REDELOG de produção.

Precisaria de algo como faço com os DataFiles para o Redolog. Já tentei setando 
os parametros no RUN do RMAN no INIT do banco e nada. Alguma sugestão? 


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Re: [oracle_br] Re: Restore com Logfile em nova Localização

2014-07-24 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
 

Olá Chiappa, eu não restauro o SPFILE a partir do backup porque este estaria 
com todos os parametros apontando para o diretorio do banco de produção, tais 
como control_files, audit_file_dest, diagnostic_dest.

O Banco de teste já esta com SPFILE com todos os parametros apontando para o 
caminho correto. 

Então o que faço é:

1-Crio PFILE a partir do SPFILE do banco de teste.
2-DROP o banco de teste. = Neste momento o meu SPFILE também é dropado.
3-Inicio o Banco usando o PFILE criado no passo 1.
4-Restauro o ControlFile.
5-Seto o parametro DB_CREATE_FILE_DEST e restauro os datafiles para neste local.
6-Restoro e recupero o DataBase
7- ALTER DATABASE RENAME FILE em todos os redolog e depois abrir com Resetlogs.
8-Criar um SPFILE a partir do PFILE do passo 1

Isso funciona, mas como disse no e-mail anterior preciso que o script seja mais 
generico, pois se Adicionar/Alterar/Renomar algum RedoLog em produção este 
Script não mais funcionaria.

Pelo que entendi na documentação se o parametro DB_CREATE_FILE_DEST estiver 
setado o Oracle criaria lá os RedoLog ou no DB_CREATE_ONLINE_LOG_DEST_N- Este 
tem precedência, mas parece que no OPEN RESETLOGS não funciona.

Se eu for obrigado a ter que Restaurar o SPFILE e ter que editar inviabiliza a 
automatização do Script.

Alessandro Lúcio Cordeiro da Silva 

    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quinta-feira, 24 de Julho de 2014 11:56, jlchia...@yahoo.com.br 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Vc não diz, mas vc criou um PFILE e ** ALTEROU ** os parâmetros necessários 
nele, de modo que a instância a ser criada no servder-destino aponte para o 
path correto ??? Uma vez subida a nova instância apontando pros paths novos, vc 
** TEM SIM ** que RENOMEAR os datafiles/logfiles, pois (evidentemente) os 
metadados presentes nos arquivos que serão resturados apontam pros paths de 
origem, sim ?? Isso pode ser feito com SET NEWNAME, por exemplo : dá um look em 
http://www.oracledistilled.com/oracle-database/restore-database-to-another-host-using-rman/
 , ou no manual mesmo (Oracle® Database Backup and Recovery User's Guide cap. 
19 - Performing RMAN Recovery: Advanced Scenarios , link 'Restoring a Database 
on a New Host' , que vc acha as refs necessárias...

 []s

  Chiappa


Re: [oracle_br] Re: Restore co m Logfile em no va Localização

2014-07-24 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]
Olá Chiappa,

O Banco de Produção está em FileSystem normal do windows(sem ASM) e ele realiza 
backup's multiplexados tanto no disco local e em um mapeamento de rede em um 
servidor de backup. 

Os archives estão sendo escrito tanto local como neste mapeamento de rede. Além 
disso o Banco de Produção esta configurado para realizar o autobackup do 
ControlFile na area de mapeamento de rede.

Então o meu script (na verdade um conjunto de script de chama outros script) 
que roda no servidor de teste é basicamento dar um DROP no Banco de Teste, 
iniciar com PFILE e depois restaurar a partir da area compartilhada de rede.

Eu não tenho problema com controlfile (pois ele é criado onde aponta o 
parametro init e não preciso especificar o arquivo de backup com a sintaxe de 
AUTOBACKUP) nem com os DataFiles ( no RUN do Rman seto o parametro 
DB_CREATE_FILE_DEST e uso a sintaxe NEWNAME FOR DATABASE TO NEW). O meu 
problema é os REDOLOG que eu pensava que ao serem recriados com OPEN RESETLOGS 
o Oracle iria criar na pasta LOGFILE dentro do diretorio DB_CREATE_FILE_DEST, 
(no momento do RESETLOG o Oracle cria esta pasta LOGFILE, mas não gera dentro 
dele),  mas pelo que vi no RESETLOGS ele sempre tenta criar no metadado do 
Oracle.

Acredito que na parte do ResetLog vou ter que colocar ou Hard-Coded ou adaptar 
o script para que antes do RESETLOGS eu consulte o V$LOG para gerar um script 
com os ALTER DATABASE RENAME FILE de todos os RedeLOG.

Mas muito Obrigado pela Ajuda Chiappa.


Segue o Script RMAN:
run {
  shutdown immediate;
  startup nomount pfile='c:\app\administrator\initBDAGNUS.ora';
  set dbid=3924117592;
  set controlfile autobackup format for device type disk to 
'\\172.19.0.11\E$\BCK_BANCOS\BDAGNUS\AUTOBACKUP\CF_%F';
  restore controlfile from autobackup;
  alter database mount;
  set until time 'SYSDATE - 4/24';
  sql 'ALTER SYSTEM SET DB_CREATE_FILE_DEST=c:\app\administrator\DATAFILE';
  set newname for database to NEW;
  restore database;
  switch datafile all;
  recover database;
  alter database open resetlogs;
  }

Alessandro Lúcio Cordeiro da Silva 

    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Em Quinta-feira, 24 de Julho de 2014 14:37, jlchia...@yahoo.com.br 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
OBS : se vc der mais detalhes (ie, confirmar que não há ASM envolvido, se os 
databases em questão são single-instance, Especificar se o backup a restaurar é 
COLD ou HOT, se o banco-origem está em ARCHIVE MODE ou não, etc) , posso 
inclusive (dentro das minhas restrições de tempo/disponibilidade, que nem 
sempre são regulares)  tentar montar uns shell-scripts/sqlplus scripts de 
exemplo pra vc, ok ? 

[]s

  Chiappa
  
OBS : e sobre a questão dos NOMES (tanto do database restaurado quanto da 
instância), vc pretende deixá-los com os mesmo nomes que vieram da 
origem/produção ??


Re: [oracle_br] Recuperar tabela, truncate table!

2014-06-12 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Eu faria Restore incompleto baseado em TimeStamp, abreria o banco de dados no 
modo Read-Only e depois com o cliente confirmava se os dados da tabela está 
como deseja.

Confirmando isso, gerava um export somente da tabela e depois fazia o Restore 
completo voltando ao banco para a tabela truncada, depois era só importar a 
tabela.


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quinta-feira, 12 de Junho de 2014 10:02, Rafael Mendonca 
raffaell.t...@yahoo.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Pessoal, foi me dada uma missão em um cliente aonde foi perdida uma tabela 
importante do sistema, um determinado usuário realizou uma operação de TRUNCATE 
TABLE e todos os registros foram perdidos e consequentimente não foi gerado log 
nenhum.
O problema é que o cliente só possui backups físicos, nada de backup lógico, o 
Flashback database não está habilidatado.
 
A única opção que vieo a minha cabeça é fazer o restore da tablespace que 
possui essa tabela no momento que ela possuia registros.
 
A minha dúvida é:

1 - Se o cliente concordar em voltar no tempo a tablespace para um momento 
anterior no qual essa tabela possui registros, como eu poderia saber até qual 
archive eu deveria aplicar antes do momento
 do truncate?

2 -  Existe alguma outra opção de recuperação fora essa, que causaria menos 
impacto?



Re: [oracle_br] Recuperar banco de dados dropado

2014-06-06 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
A unica maneira que sei como restaurar os datafiles seria NÃO desligar a 
instancia, e como você desligou o computador imediatamente, não iria funcionar.

Isto porque o DBWR dá um lock nos arquivos do Banco e ao apagar  somente o 
ponteiro é apagado e os datafiles ficam invisiveis.

A tecnica consistiria em :

* Encontrar o PID do DBWR, 

* Assim encontrar os arquivos abertos pelo DBWR
* Encontrar o file descriptor 

* Criar uma copia dos datafiles 



Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Quinta-feira, 5 de Junho de 2014 20:17, Regis Pradela 
pradel...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Senhores, boa noite, tudo bem?

Hoje tivemos uma problema, após dropar um banco de dados (desenv) via RMAN, o 
cliente notou que tinha algumas informações neste banco de dados que não 
deveriam ser apagadas. Imediatamente desligamos o server,
 fizemos um live CD e bootamos o server por este CD e executamos o ext3grep 
para recuperar arquivos apagados.
Mas, após rodar a recuperação dos arquivos, somente o pfile foi encontrado.

 Alguém já passou por isto e utilizou algum modo diferente para recuperar estes 
arquivos?


No aguardo. 
R.P.
DBA Oracle
Oracle Database 11g Administrator Certified Professional
Oracle Database 10g Real Applications Clusters AdministratorCertified Expert
Oracle Enterprise Linux Certified Implementation Specialist
Oracle Database 11g Administrator Certified Associate


Re: [oracle_br] Recuperar banco de dados dropado

2014-06-06 Por tôpico Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br [oracle_br]


 
Eh cara, eu ja tinha visto e lido sobre esta tecnica (mas não do site que vc 
passou) , mas nunca usei, na verdade prefiro nunca precisar, pois receio que 
esta tecninca não dá garantias. 


E olha que semana passada eu dropei um banco de teste do cliente porque ele 
iria reaproveitar a maquina para outra coisa, mas antes disso fiz um backup 
frio com compress e copie este backup para o Google Drive. Vou deixar lá por 
algum tempo, vai que .

Enfim isso me faz lembrar de uma piada que um amigo meu me contou estes dias :

Pergunta o DBA Junior ao DBA Senior : Posso apagar estes backup's?
Respondeu o Dba Senior: Pode, mas não esqueça de copia-los antes.



Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



Em Sexta-feira, 6 de Junho de 2014 10:01, Vitor Junior vitorj...@gmail.com 
[oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Alessandro, eu também utilizava essa técnica... UTILIZAVA! hehehehe

Dá uma lida nesse artigo, que é bem interessante:

http://www.pythian.com/blog/metalink-note-on-datafile-recovery-will-corrupt-database/





Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid 
Infrastructure Administrator - OCE
Oracle Database 11g Performance Tuning Certified Expert - OCE
Oracle Exadata 11g Certified Implementation Specialist
Oracle Certified Associate, MySQL 5
mail, gtalk e msn: vitorj...@gmail.com
http://certificacaobd.com.br/
skype: vjunior1981
https://mybizcard.co/vitor.jr.385628


Em 6 de junho de 2014 09:38, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br 
escreveu:

 
  


 
A unica maneira que sei como restaurar os datafiles seria NÃO desligar a 
instancia, e como você desligou o computador imediatamente, não iria funcionar.


Isto porque o DBWR dá um lock nos arquivos do Banco e ao apagar  somente o 
ponteiro é apagado e os datafiles ficam invisiveis.


A tecnica consistiria em :


* Encontrar o PID do DBWR, 

* Assim encontrar os arquivos abertos pelo DBWR
* Encontrar o file descriptor 

* Criar uma copia dos datafiles 




Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Quinta-feira, 5 de Junho de 2014 20:17, Regis Pradela 
pradel...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu:
 


  
Senhores, boa noite, tudo bem?


Hoje tivemos uma problema, após dropar um banco de dados (desenv) via RMAN, o 
cliente notou que tinha algumas informações neste banco de dados que não 
deveriam ser apagadas. Imediatamente desligamos o server,
 fizemos um live CD e bootamos o server por este CD e executamos o ext3grep 
para recuperar arquivos apagados.
Mas, após rodar a recuperação dos arquivos, somente o pfile foi encontrado.


 Alguém já passou por isto e utilizou algum modo diferente para recuperar 
estes arquivos?




No aguardo. 
R.P.
DBA Oracle
Oracle Database 11g Administrator Certified Professional
Oracle Database 10g Real Applications Clusters AdministratorCertified Expert
Oracle Enterprise Linux Certified
 Implementation Specialist
Oracle Database 11g Administrator Certified Associate





Re: [oracle_br] PL/SQL - trigger

2014-04-22 Por tôpico Alessandro Lúcio Cordeiro da Silva
Isso mesmo o Fabio esta certo, o currval é somente da sessão/transação, segue 
um exemplo que estava fazendo:
 
 SQL connectproducao_fas/senha@bdagnusConectado.
 
SQL createtableteste1 (pk_cod number(6));Tabela criada.
 
SQL createsequenceseqteste1 minvalue1startwith1incrementby1;SequÛncia criada.
 
SQL insertintoteste1 (pk_cod) values(seqteste1.nextval);
1linha criada.
SQL selectseqteste1.currval fromdual;
CURRVAL--
 
2- OUTRA SESSÂO 
 
 
SQL connectproducao_fas/senha@bdagnusConectado.
SQL insertintoteste1 (pk_cod) values(seqteste1.nextval);
1linha criada.
SQL selectseqteste1.currval fromdual;
CURRVAL--
3
 
 
Agora o problema é o seguinte: O compilado não vai deixar você em rotinas 
diferente (triggers/procedure/functions) executar o nextval e outro o Currval 
valor. Para contornar isso você pode criar uma variável a nível de cabeçalho de 
package, a trigger realizar a alteração desta variável e a sua procudure 
consultar o valor desta variável. Tomando cuidado de não criar um acoplamento 
muito alto do seu sistema, você pode fazer assim.
 
 

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Em Terça-feira, 22 de Abril de 2014 10:23, Milton Bastos Henriquis Jr. 
miltonbas...@gmail.com escreveu:
  
  
Fala Fábião!

Cara, eu juro que não sabia que o currval só pegava da sessão atual!

Achei que o currval pegava o valor atual da sequence independente da sessão! 

Vou testar aqui...



Em 22 de abril de 2014 11:21, Fabio Prado fbifa...@gmail.com escreveu:

 
  
Miltão, por favor especifique como será essa transação concorrente. Se ela for 
executada por outro usuário vc não terá problema algum, pois o CURRVAL da 
SEQUENCE é um valor de sessão. 


É importante entender que as transações de outros usuários não afetarão o 
CURRVAL de uma sessão que acabou de fazer o INSERT na TABLE1, se vc utilizar o 
CURRVAL logo em seguida para fazer INSERT em outra tabela, ok? 




[]s


Fábio Prado


http://www.fabioprado.net/
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados 
Oracle 
 


Em 22 de abril de 2014 11:10, Milton Bastos Henriquis Jr. 
miltonbas...@gmail.com escreveu:


 
  
Bom dia amigos!


Tenho um probleminha aqui... quero ver se alguém consegue me ajudar.


A situação é a seguinte:


 - Tenho uma tabela TABLE1. 
Essa tabela (assim como todas as outras do sistema) tem uma trigger de insert.


A PK dessa tabela é gerada por uma sequence.
Isso é feito dentro da trigger - até aí tudo bem, algo bem comum de se ver 
por aí. 




O meu problema é que eu tenho um processo em que eu preciso fazer um
insert na tabela TABLE1 (isso numa stored procedure), e preciso do ID que foi 
gerado
para ser inserido em outra tabela. 


Eu não quero pegar o CURRVAL da sequence, pois corro o risco de uma transação
concorrente também fazer um nextval nessa sequence nesse meio tempo.


Alguém sabe se é possível eu conseguir retornar esse valor que está sendo 
gerado dentro da trigger? 





  
 

Re: [oracle_br] Re: PL/SQL - trigger

2014-04-22 Por tôpico Alessandro Lúcio Cordeiro da Silva
No caso para acessar o valor gerado dentro trigger pela sequencia, você pode 
criar uma variável de pacote e então dentro da trigger  setar seu valor e uma 
procedure consultar este valor. O valor da variável é valido apenas para a 
sessão.
 
 
Exemplo:

SQL connect producao_fas/senha@bdagnusConectado.
SQL create or replace package PCK_TESTE is
 
 2
 3 procedure set_seq_table1(pk_table1 number);
 4
 5 function get_seq_table1 return number;
 6
 7 end PCK_TESTE;
 8 /
Pacote criado.

SQL create or replace package body PCK_TESTE is
 2
 3 v_seq integer;
 4
 5 procedure set_seq_table1(pk_table1 number) is
 6 begin
 7 v_seq := pk_table1;
 8 end;
 9
 10 function get_seq_table1 return number is
 11 begin
 12 return v_seq;
 13 end;
 14
 15 end PCK_TESTE;
 16 /
 
 
Em uma sessão a trigger executa o SET e uma procedure da mesma sessão realiza o 
GET.
 
 --- SESSÂO 1 ---
SQL connect producao_fas/senha@bdagnus
Conectado.
SQL call pck_teste.set_seq_table1(1);
Chamada concluÝda.
SQL select pck_teste.get_seq_table1 from dual;
GET_SEQ_TABLE1
--
 1
--- SESSÂO 2 ---
SQL connect producao_fas/senha@bdagnus
Conectado.
SQL call pck_teste.set_seq_table1(2);
Chamada concluÝda.
SQL select pck_teste.get_seq_table1 from dual;
GET_SEQ_TABLE1
--
 2
--- VOLTAR NA SESSÂO 1 ---
SQL select pck_teste.get_seq_table1 from dual;
GET_SEQ_TABLE1
--
 1
 


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Em Terça-feira, 22 de Abril de 2014 13:43, jlchia...@yahoo.com.br 
jlchia...@yahoo.com.br escreveu:
  
  
Sim, é totalmente Possível vc saber qual valor está sendo inserido, 
provavelmente numa variável dentro da trigger : uma opção é a cláusula 
RETURNING , que desde há muito tempo existe e faz exatamente isso, veja 
http://stackoverflow.com/questions/361304/oracle-how-do-i-get-the-sequence-number-of-the-row-just-inserted
 para um Exemplo Ou até mesmo vc pode fazer o que se fazia antes , ie : 
alterar o que vc deve estar fazendo hoje, que certamente é INSERT INTO tabela 
... VALUES (..., nomedasequence.nexval) para um V_SEQ := 
nomedasequence.nextval; INSERT INTO tabela  VALUES (..., :V_SEQ, ...) 

 Agora : uma vez que a informação está numa variável da trigger, como fazer 
para passar para a rotina que precisará disso para outro insert ?? O ** ideal 
** seria que vc não tivesse que passar esse valor, fazendo com que o INSERT 
na outra tabela que usa o valor gerado pela sequence aconteça nesse mesma 
trigger, mas SE isso não for possível, vc terá que ter uma tabela de trabalho 
com essa informação : outras opções como GTT, contexts e variáveis globais 
servem para um caso único, uma ocorrência do valor, o que Imagino que não é o 
seu caso, vc pode ter Múltiplas sessões fazendo INSERTs e disparando a trigger, 
o que invalida outra coisa que não seja uma tabela de banco, mesmo, eu acho...

  []s

    Chiappa  
 

Re: [oracle_br] Oracle na Cloud

2014-04-17 Por tôpico Alessandro Lúcio Cordeiro da Silva
Bom dia,


Basicamente a instancia RDS é uma instância de Banco de Dados totalmente 
configurada pela Amazon, com isso nem Backup vocês faz, é tudo gerido por eles, 
no Storage deles (serviço Amazon S3). Você tem apenas a interface Web onde você 
pode criar Snapshot e/ou restaurar o banco dentro da janela de restauração 
desejada.

No meu caso o sistema usada e-mail e XML no banco, mas alteramos estes 
processos para aplicação para usar-mos o RDS, pois é mais simples.

Agora se você precisar de alguns recursos, tais como escrever em disco, tabelas 
externa, enfim tudo que envolve Oracle trabalhar com S.O ai você  usar o 
serviço EC2 com uma instancia S.O com Oracle rodando.

Sobre, a migração para Cloud, penso que as pequenas/médias empresas irão sim 
para nuvens, mas as grandes penso que vão ter ainda Oracle executando no 
proprio data-center, mas tendo o Backup replicado não somente em seus 
Storages/Fitas, mas também nas nuvens como a Amazon S3.
  

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
Em Quinta-feira, 17 de Abril de 2014 8:02, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:
 
  
Bom dia Grupo.

Bom, creio que inevitávelmente, cedo ou tarde, teremos que começar as migrações 
para a Cloud e eu, felizmente (ou infelizmente dependendo do ponto de vista), 
cheguei nessa etapa.

Muito provavelmente o serviço de Cloud que a empresa escolherá é o da Amazon. 
Gostaria de saber se alguém já fez implantação na Cloud da Amazon.

Qual foi a melhor alternativa para seu caso? O Oracle EC2? RDS?

EC2 seria o serviço 100% customizável, onde eu teria acesso a um ambiente e 
faria as instalações dos binários da forma como me convier?

RDS eu pude perceber que é um serviço em que a Amazon já te oferece um banco de 
dados, mas, o banco já é instalado, não temos acesso de sysdba, temos acesso 
limitado de DBA e algumas (várias) features não são suportadas, como Java 
Stored Procedures, Streams, ASM, etc.

Bom, enfim.

Preciso entender o serviço da Amazon e se alguém tiver algo a compartilhar 
deixaria este trabalho menos penoso.

Abraços.


Evandro Giachetto
Oracle DBA
evandrogiache...@gmail.com




Re: [oracle_br] Oracle na Cloud

2014-04-17 Por tôpico Alessandro Lúcio Cordeiro da Silva
Hã só mais um adendo sobre backup replicados nos storages da Amazon S3, até a 
propria Oracle acredita nisso, tanto que no Livro da Oracle Press Oracle Rman 
11g Backup and Recover no capitulo 6 Backing Up to Amazon Web Services Using 
the Oracle Secure Backup Cloud Module trata como realizar Backup Rman 
diretamente nos Storages da Amazon.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

Em Quinta-feira, 17 de Abril de 2014 8:16, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:
 
Bom dia,


Basicamente a instancia RDS é uma instância de Banco de Dados totalmente 
configurada pela Amazon, com isso nem Backup vocês faz, é tudo gerido por eles, 
no Storage deles (serviço Amazon S3). Você tem apenas a interface Web onde você 
pode criar Snapshot e/ou restaurar o banco dentro da janela de restauração 
desejada.

No meu caso o sistema usada e-mail e XML no banco, mas alteramos estes 
processos para aplicação para usar-mos o RDS, pois é mais simples.

Agora se você precisar de alguns recursos, tais como escrever em disco, tabelas 
externa, enfim tudo que envolve Oracle trabalhar com S.O ai você  usar o 
serviço EC2 com uma instancia S.O com Oracle rodando.

Sobre, a migração para Cloud, penso que as pequenas/médias empresas irão sim 
para nuvens, mas as grandes penso que vão ter ainda Oracle executando no 
proprio data-center, mas tendo o Backup replicado não somente em seus 
Storages/Fitas, mas também nas nuvens como a Amazon S3.
  

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
Em Quinta-feira, 17 de Abril de 2014 8:02, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:
 
  
Bom dia Grupo.

Bom, creio que inevitávelmente, cedo ou tarde, teremos que começar as migrações 
para a Cloud e eu, felizmente (ou infelizmente dependendo do ponto de vista), 
cheguei nessa etapa.

Muito provavelmente o serviço de Cloud que a empresa escolherá é o da Amazon. 
Gostaria de saber se alguém já fez implantação na Cloud da Amazon.

Qual foi a melhor alternativa para seu caso? O Oracle EC2? RDS?

EC2 seria o serviço 100% customizável, onde eu teria acesso a um ambiente e 
faria as instalações dos binários da forma como me convier?

RDS eu pude perceber que é um serviço em que a Amazon já te oferece um banco de 
dados, mas, o banco já é instalado, não temos acesso de sysdba, temos acesso 
limitado de DBA e algumas (várias) features não são suportadas, como Java 
Stored Procedures, Streams, ASM, etc.

Bom, enfim.

Preciso entender o serviço da Amazon e se alguém tiver algo a compartilhar 
deixaria este trabalho menos penoso.

Abraços.


Evandro Giachetto
Oracle DBA
evandrogiache...@gmail.com




Re: [oracle_br] Oracle na Cloud

2014-04-17 Por tôpico Alessandro Lúcio Cordeiro da Silva


Correto, Rac somente usando EC2. 
 

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Em Quinta-feira, 17 de Abril de 2014 9:43, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:
 
  
Bom, estou acompanhando a documentação da Amazon aqui.

Aparentemente também não é possível usar RAC nos AWS. Mas eu ví em alguns 
forums um pessoal dizendo que conseguiu montar RAC nos EC2 da Amazon. Alguém 
confirma isso?


Real Application Clusters (RAC) is a cluster database with a shared cache and 
shared disk architecture. Currently, you cannot run RAC in Amazon EC2 either. 
Some of the customers that require RAC choose to host their databases outside 
of AWS while running the rest of their infrastructure in AWS. To do this while 
providing good database performance, they host their RAC database at an AWS 
partner datacenter, which is linked via AWS Direct Connect to the AWS 
datacenter where the rest of their infrastructure exists. AWS Direct Connect 
lets you establish a dedicated network connection between the AWS Direct 
Connect location and the closest AWS region. It provides low-latency 1 Gbps and 
10 Gbps connections, and you can easily provision multiple connections if you 
need more network capacity. For more information about AWS Direct Connect, see 
http://aws.amazon.com/directconnect/. 



Evandro Giachetto
Oracle DBA
evandrogiache...@gmail.com




Em 17 de abril de 2014 09:57, Evandro Giachetto evandrogiache...@gmail.com 
escreveu:

Muito legal.. Obrigado pelas dias Alessandro.


Evandro Giachetto
Oracle DBA
evandrogiache...@gmail.com





Em 17 de abril de 2014 09:28, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:


 
  
Hã só mais um adendo sobre backup replicados nos storages da Amazon S3, até a 
propria Oracle acredita nisso, tanto que no Livro da Oracle Press Oracle 
Rman 11g Backup and Recover no capitulo 6 Backing Up to Amazon Web Services 
Using the Oracle Secure Backup Cloud Module trata como realizar Backup Rman 
diretamente nos Storages da Amazon.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

Em Quinta-feira, 17 de Abril de 2014 8:16, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:
 
Bom dia,



Basicamente a instancia RDS é uma instância de Banco de Dados totalmente 
configurada pela Amazon, com isso nem Backup vocês faz, é tudo gerido por 
eles, no Storage deles (serviço Amazon S3). Você tem apenas a interface Web 
onde você pode criar Snapshot e/ou restaurar o banco dentro da janela de 
restauração desejada.


No meu caso o sistema usada e-mail e XML no banco, mas alteramos estes 
processos para aplicação para usar-mos o RDS, pois é mais simples.


Agora se você precisar de alguns recursos, tais como escrever em disco, 
tabelas externa, enfim tudo que envolve Oracle trabalhar com S.O ai você  
usar o serviço EC2 com uma instancia S.O com Oracle rodando.


Sobre, a migração para Cloud, penso que as pequenas/médias empresas irão sim 
para nuvens, mas as grandes penso que vão ter ainda Oracle executando no 
proprio data-center, mas tendo o Backup replicado não somente em seus 
Storages/Fitas, mas também nas nuvens como a Amazon S3.
  


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
Em Quinta-feira, 17 de Abril de 2014 8:02, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:
 
  
Bom dia Grupo.


Bom, creio que inevitávelmente, cedo ou tarde, teremos que começar as 
migrações para a Cloud e eu, felizmente (ou infelizmente dependendo do ponto 
de vista), cheguei nessa etapa.


Muito provavelmente o serviço de Cloud que a empresa escolherá é o da Amazon. 
Gostaria de saber se alguém já fez implantação na Cloud da Amazon.


Qual foi a melhor alternativa para seu caso? O Oracle EC2? RDS?


EC2 seria o serviço 100% customizável, onde eu teria acesso a um ambiente e 
faria as instalações dos binários da forma como me convier?


RDS eu pude perceber que é um serviço em que a Amazon já te oferece um banco 
de dados, mas, o banco já é instalado, não temos acesso de sysdba, temos 
acesso limitado de DBA e algumas (várias) features não são suportadas, como 
Java Stored Procedures, Streams, ASM, etc.


Bom, enfim.


Preciso entender o serviço da Amazon e se alguém tiver algo a compartilhar 
deixaria este trabalho menos penoso.


Abraços.


Evandro Giachetto
Oracle DBA
evandrogiache...@gmail.com











Re: [oracle_br] Oracle na Cloud

2014-04-17 Por tôpico Alessandro Lúcio Cordeiro da Silva
Vitor, Oracle RAC não é suportado nativamente no AWS. Uso a palavra nativo 
porque é possível executar o Oracle RAC em uma instalação AWS Direct Connect.


http://aws.amazon.com/directconnect/


 

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Em Quinta-feira, 17 de Abril de 2014 10:25, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:
 
  
Bom, não entendi muito bem.

Na documentação diz o seguinte: you cannot run RAC in Amazon EC2 either...

Pelo que entendi, o Amazon Web Service EC2 nos permite criar um servidor do 
zero, mas na documentação diz que não podemos usar RAC mesmo em EC2..

Vale dizer que essa documentação é de Outubro-2013.
http://media.amazonwebservices.com/AWS_RDBMS_Oracle.pdf


Você teve experiência em subir um RAC lá usando EC2 ? 


Evandro Giachetto
Oracle DBA
evandrogiache...@gmail.com




Em 17 de abril de 2014 11:15, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:

 
  


Correto, Rac somente usando EC2. 
 


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)

Em Quinta-feira, 17 de Abril de 2014 9:43, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:
 
  
Bom, estou acompanhando a documentação da Amazon aqui.


Aparentemente também não é possível usar RAC nos AWS. Mas eu ví em alguns 
forums um pessoal dizendo que conseguiu montar RAC nos EC2 da Amazon. Alguém 
confirma isso?




Real Application Clusters (RAC) is a cluster database with a shared cache and 
shared disk architecture. Currently, you cannot run RAC in Amazon EC2 either. 
Some of the customers that require RAC choose to host their databases outside 
of AWS while running the rest of their infrastructure in AWS. To do this while 
providing good database performance, they host their RAC database at an AWS 
partner datacenter, which is linked via AWS Direct Connect to the AWS 
datacenter where the rest of their infrastructure exists. AWS Direct Connect 
lets you establish a dedicated network connection between the AWS Direct 
Connect location and the closest AWS region. It provides low-latency 1 Gbps 
and 10 Gbps connections, and you can easily provision multiple connections if 
you need more network capacity. For more information about AWS Direct Connect, 
see http://aws.amazon.com/directconnect/. 




Evandro Giachetto
Oracle DBA
evandrogiache...@gmail.com





Em 17 de abril de 2014 09:57, Evandro Giachetto evandrogiache...@gmail.com 
escreveu:

Muito legal.. Obrigado pelas dias Alessandro.


Evandro Giachetto
Oracle DBA
evandrogiache...@gmail.com





Em 17 de abril de 2014 09:28, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:


 
  
Hã só mais um adendo sobre backup replicados nos storages da Amazon S3, até 
a propria Oracle acredita nisso, tanto que no Livro da Oracle Press Oracle 
Rman 11g Backup and Recover no capitulo 6 Backing Up to Amazon Web 
Services Using the Oracle Secure Backup Cloud Module trata como realizar 
Backup Rman diretamente nos Storages da Amazon.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

Em Quinta-feira, 17 de Abril de 2014 8:16, Alessandro Lúcio Cordeiro da 
Silva alecordeirosi...@yahoo.com.br escreveu:
 
Bom dia,



Basicamente a instancia RDS é uma instância de Banco de Dados totalmente 
configurada pela Amazon, com isso nem Backup vocês faz, é tudo gerido por 
eles, no Storage deles (serviço Amazon S3). Você tem apenas a interface Web 
onde você pode criar Snapshot e/ou restaurar o banco dentro da janela de 
restauração desejada.


No meu caso o sistema usada e-mail e XML no banco, mas alteramos estes 
processos para aplicação para usar-mos o RDS, pois é mais simples.


Agora se você precisar de alguns recursos, tais como escrever em disco, 
tabelas externa, enfim tudo que envolve Oracle trabalhar com S.O ai você  
usar o serviço EC2 com uma instancia S.O com Oracle rodando.


Sobre, a migração para Cloud, penso que as pequenas/médias empresas irão sim 
para nuvens, mas as grandes penso que vão ter ainda Oracle executando no 
proprio data-center, mas tendo o Backup replicado não somente em seus 
Storages/Fitas, mas também nas nuvens como a Amazon S3.
  


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
Em Quinta-feira, 17 de Abril de 2014 8:02, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:
 
  
Bom dia Grupo.


Bom, creio que inevitávelmente, cedo ou tarde, teremos que começar as 
migrações para a Cloud e eu, felizmente (ou infelizmente dependendo do ponto 
de vista), cheguei nessa etapa.


Muito provavelmente o serviço de Cloud que a empresa escolherá é o da 
Amazon. Gostaria de saber se alguém já fez

Re: [oracle_br] Ajuda com erro na trigger de logon: ORA-00604: ocorreu um erro no nível 1 SQL recursivo

2014-03-12 Por tôpico Alessandro Lúcio Cordeiro da Silva
Wanderson, eu não entendi, este erro ocorre quando você tentar criar a Trigger 
ou depois de criada ao tentar logar no DataBase?
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Quarta-feira, 12 de Março de 2014 13:04, Wanderson Barrence 
wbarre...@gmail.com escreveu:
 
  
Olá Pessoal,

Estou fazendo uma trigger de logon para monitorar todos os usuários que acessam 
o banco de dados, tanto o usuário da aplicação, como usuário cliente oracle e 
qualquer tipo de acesso com SYSDBA, os dados são armazenados numa tabela 
chamada userlogon, mas por algum motivo a minha trigger está dando um erro, já 
segui vários tutoriais no google e ainda não consegui resolver o problema.

Segue a trigger:

CREATE TABLE loguser.userlogon (
       user_name VARCHAR2(300),
       login_date DATE,
       osuser VARCHAR2(300),
       terminal VARCHAR(300),
       program VARCHAR(300),
       ipadress VARCHAR(46)
       );

CREATE OR REPLACE TRIGGER sys.audit_userlogon
after LOGON ON DATABASE 

DECLARE
wuser varchar2(300);
wosuser varchar2(300);
wterminal varchar2(300);
wprogram varchar2(300);
wipadress varchar2(46);

BEGIN
SELECT username, osuser, machine, program INTO wuser, wosuser, wterminal, 
wprogram
  FROM v$session 
  WHERE audsid = userenv('sessionid')
  AND ROWNUM = 1;

wipadress := sys_context('userenv','ip_address');

INSERT INTO loguser.userlogon( 
    user_name,
    login_date,
    osuser,
    terminal,
    program,
    ipadress 
    ) VALUES ( 
    wuser,
 SYSDATE,
    wosuser,
    wterminal,
    wprogram,
    wipadress );
    
END audit_userlogon;
/

Erro:
ORA-00604: ocorreu um erro no nível 1 SQL recursivo
ORA-01422: a extração exata retorna mais do que o número solicitado de linhas
ORA-06512: em line 35

Att,

Wanderson


Re: [oracle_br] RE: Servidor na Nuvem e Backup's Oracle

2014-02-26 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Chiappa,

   Obrigado pelas comentário.

   Bom neste meu cliente especifico é um cliente pequeno, e acredito que 
compensa sim para empresa usar o serviço da nuvem, pois acredito que o 
Data-Center que a RedeHost (não querendo fazer propaganda mas...) tem é 
incomparavelmente melhor do que qualquer solução de infra que este meu cliente 
pequeno possa ter.

   Quanto ao Backup, eu particularmente confio no serviço que se por venturar 
dar algum crash eles voltam o backup da maquina via Storage, mas não confiou 
que o Oracle estará consistente. Por isso ainda sim faço backup Rman e 
Archivelog no próprio servidor da nuvem, para que com eles possa tornar o banco 
de dados consistente. Além é claro dos arquivos DUMP para trabalhar com a 
granularidade de objetos.

  
   Todavia levando em consideração seu comentário, vou pensar na possibilidade 
de replicar isso em outro servidor, talvez outro serviço na nuvem, como dizem 
por ai, o seguro morreu de velho, né.

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Terça-feira, 25 de Fevereiro de 2014 10:39, jlchia...@yahoo.com.br 
jlchia...@yahoo.com.br escreveu:
 
  
Tudo jóia ? Então, primeiro sobre servidores RDBMS Oracle em nuvem : o ponto 
principal é se a Empresa pode ter Confiança no prestador... Por exemplo, 
Empresas da área financeira/bancária tipicamente PRECISAM obedecer a requisitos 
de segurança muita estritos em todas as camadas da infra, mas ESPECIALMENTE em 
redes, nem sempre todos os provedores vão chegar no nível desejado de controle 
da infra, nem todos vão fornecer (por exemplo) reports de patching, de 
auditoria e penetration tests da infra deles, E mesmo que forneçam, é por conta 
de cada interessado acreditar ou não no que for fornecido A qualidade da 
mão-de-obra normalmente é outro ponto : se vc tem tudo em casa, vc contrata 
profissionais que confia, que vai treinar como achar melhor, Enquanto lá no 
provedor , sabe vc quem está lá (na verdade normalmente até se sabe, é aquele 
indiano baratinho :) ... Outra coisa é a segurança da informação em si : por 
mais que o provedor
 assine contrato de co-responsabilidade, confiar que REALMENTE não está havendo 
nenhum tipo de sniffing/tampering com teus dados enquanto trafegam na 
infra-estrutura do teu provedor é bem isso, no fundo uma questão de 
Confiança... Eu pessoalmente, se analisar os talvez últimos 10 clientes de 
grande porte com alta exigência de segurança e controle que atendi, todos os 10 
mantinham infra própria, Justamente para não haver incerteza absolutamente 
nenhuma em termos de segurança, de procedimentos, etc 

 Bom, sobre backup penso que é uma questão de confiança : vc Confia que 
efetivamente o teu provedor vai MESMO ser capaz de retornar a posição exata em 
caso de crash ? O ponto é que muitos provedores te dão um ambiente genérico, 
não tem muito conhecimento de RDBMS Oracle, então não é difícil que (por 
exemplo) a solução de backup online via STORAGE usada exija que o RDBMS 
estivesse em backup mode , e/ou exija um software adicional (tipo snapview) 
 
  Então a resposta é : SE na hora de contratar foi verificado que a solução de 
backup via snapshot/bcv copy/whatever é Garantida com RDBMS Oracle, ok, 
confia-se... mas sempre eu confio desconfiando, então eu MANTERIA SIM algum 
tipo de backup extra, OU mesmo algum tipo de replicação/standby para outro 
servidor , para os databases mais críticos 
  
  Isso sem contar a questão de restores temporários, às vezes parciais... 
Digamos : os usuários precisam obter um relatório das vendas do ano passado, 
que já não estão mais online : se vc tem um backup próprio mantido 
especificamente para esses casos blz, já se vc só confia no backup do provedor, 
AINDA que ele abra a possibilidade, backup de storage sempre é grande e 
complexo de se manipular
  
   []s
   
 Chiappa



[oracle_br] Servidor na Nuvem e Backup's Oracle

2014-02-25 Por tôpico Alessandro Lúcio Cordeiro da Silva


Bom dia Senhores,


Gostaria da opinião de vocês quanto ao Oracle estar hospedado em um servidor na 
nuvem e as rotinas de backup.

No caso estes serviços de servidores na nuvem tem toda a infraestrutura de 
backup através de Storages, inclusive - janela de backup's de 7 dias - 

O que vocês acham? Ainda preciso ficar realizando backup do banco de dados? 
Apesar de ter a minha opinião sobre isso, quero abrir a discussão, pois penso 
que a tendencia é termos cada vez mais servidores na nuvem. 


 
Alessandro Lúcio Cordeiro da Silva 

Re: [oracle_br] RE: PACKAGE

2014-02-19 Por tôpico Alessandro Lúcio Cordeiro da Silva


Bom, só colocando um adendo na conversa, porque o nosso amigo gostaria de 
compilar somente a função? Ele não diz o porque, mas supondo que ao compilar o 
pacote invalide uma serie de outros objetos do banco de dados e ele não quer 
isso.


Para este caso, nos temos o cabeçalho do pacote e o corpo do pacote que ai sim, 
podem ser vistos como dois objetos distintos; A dependência de outros objetos 
(seja view ou pacote/função/procedimento)  com o pacote é com o seu cabeçalho. 
Então se a função que esta dentro do pacote não esta publicada e/ou não será 
alterada a sua assinatura (mexendo no tipo e quantidade de parâmetros), o nosso 
amigo pode compilar somente o corpo do pacote não afetando os demais objetos 
que tenha dependência.

Agora se precisar alterar mexer na assinatura da função, ai não tem jeito, será 
preciso compilar o pacote como um todo e ai vai sim invalidar todos os objetos 
de dependência.

*** Compilar o pacote inteiro ***
alter package nome_pacote compile;

*** Compilar somente o corpo ***

alter package nome_pacote compile body;  

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Quarta-feira, 19 de Fevereiro de 2014 11:42, jlchia...@yahoo.com.br 
jlchia...@yahoo.com.br escreveu:
 
  
  Impossível, colega : PACKAGE se traduz exatamente como PACOTE, e é essa a 
idéia geral : uma package é um pacote, uno e indivisível, criado e compilado 
e mantido como um só objeto INCLUSIVE, em tese essa é uma das principais 
VANTAGENS na utilização da package : se vc executou uma rotina x que está na 
package A, composta pelas rotinas x, y,e z, AUTOMAGICAMENTE (já que a package é 
uma coisa só), o código de y e de z (de tudo que está na package) já SUBIU 
para o cache com a execução da rotina x, assim EM TESE a execução das rotinas y 
e z vai ocorrer a aprtir do cache, sendo mais rápidas
  
  O que vc PODE fazer é isolar a função, mas aí (obviamente) vc muito 
provavelmente perde as vantagens de ter a package...
  
  []s
  
    Chiappa


[oracle_br] Auditoria em VIEW's

2014-02-14 Por tôpico Alessandro Lúcio Cordeiro da Silva



Bom dia Senhores,


Tenho uma View de Pedido, V_PEDIDOS, o SQL desta view faz join com a tabela 
PEDIDOS e CLIENTES, para apenas mostrar alguns dados do cliente na interface. 
Ocorre que a aplicação pode alterar alguns campos de PEDIDO e escreve UPDATE na 
VIEW V_PEDIDOS. Esta por sua vez tem uma Trigger INSTEAD OF que realiza o 
update somente na tabela PEDIDOS.

Agora quando vou analisar auditoria em dba_audit_trail o Oracle diz que foi 
feito update na tabela CLIENTES com a instrução UPDATE V_PEDIDO SET 
DATA_ENTREGA = SYSDATE WHERE PK_PEDIDO = :PK_PEDIDO.

Mas esta instrução não altera nada na tabela de CLIENTES, seria somente porque 
a tabela clientes esta no SQL da VIEW?



Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)


Re: [oracle_br] RE: Restore sem um datafile

2013-12-20 Por tôpico Alessandro Lúcio Cordeiro da Silva
É Chiappa, isso é pro pessoal ver como é importante ter backup, pois mesmo que 
usamos as técnicas de copias dados que estão nos datafiles/blocos não 
corruptos, ainda sim podem ser logicamente corruptos para aplicação. Pois 
podemos restaurar dados de uma tabela filha e o Pai não ser possível ser 
restaurado, ou outros casos como uma transação contábil com varias 
movimentações de contas e ai o resultado contábil (total de debito e credito de 
cada transação entre conta(s) contábeis dê ZERO)  das transações ficam 
inconsistentes.


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Sexta-feira, 20 de Dezembro de 2013 16:28, jlchia...@yahoo.com.br 
jlchia...@yahoo.com.br escreveu:
 
  
  Então :  recuperar os blocos corruptos , falando propriamente (ie, faze-los 
retornar a um status acessível, sem perda de dados) vc só consegue SE tiver os 
archives todos em backup sem faltar um desde a ocasião imediatamente anterior 
em que deu o pau (ou desde o último backup, ou mesmo desde o startup se não 
souber quando foi) , e aí vc usa o comando BLOCK RECOVER do RMAN , veja a nota 
metalink RMAN : Block-Level Media Recovery - Concept  Example (Doc ID 
144911.1) .
  
  No seu caso, porém, iirc vc comentou que não tem backup de nada, então vc Não 
Vai conseguir fazer nehum tipo de * recuperação * desses blocos 
corruptos/inacessíveis : o que vc vai fazer é PULAR o acesso à eles, 
logicamente eliminado-os e assim perdendo TODA a informação que estava neles, e 
transferir o que puder ler para uma outra tablespace - a maneira mais fácil 
para isso é via DBMS_REPAIR, cfrme a nota DBMS_REPAIR SCRIPT (Doc ID 
556733.1) .
  
   []s
   
     Chiappa


[oracle_br] Processo Oracle no windows maior que os parâmetros de Memória Oracle

2013-12-03 Por tôpico Alessandro Lúcio Cordeiro da Silva


 Bom dia Senhores,


  Após a migração do Oracle 10.2.0.4 para o 11.2.0.1 em um ambiente Windows 
2008 Server R2, o processo Oracle começa a consumir toda a memória do Servidor 
de 16G de memoria principal, mesmo configurando os parametros 
SGA_TARGET/SGA_MAX_SIZE ou os novos parâmetros MEMORY_TARGET/MEMORY_MAX_TARGET.

   Configuro estes parâmetros para usar cerca de 5 Giga, mas em algum 
determinado momento o processo Oracle do Windows começa a crescer até bater os 
quase 16 Giga, deixando a maquina super-lenta, alem do próprio Oracle.

   Em uma analise feita até o momento alguma sessão de Usuário começa a crescer 
muito e somente é possível mata-la via oraKill do Windows. Como uma sessão de 
Usuário consegue usar mais memoria do que os parâmetros de memoria do Oracle? 
Tentei limitar mesmo usar Profile de limite de uso, mas este comportamento 
permanece.

Obrigado!

   


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)


Re: [oracle_br] Processo Oracle no windows maior que os parâmetros de Memória Oracle

2013-12-03 Por tôpico Alessandro Lúcio Cordeiro da Silva
Os parametros MEMORY_TARGET e MEMORY_MAX_TARGET estão com 6G, os demais 
coloquei 0 (zero) para usar somente os novos parametros do 11g
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Terça-feira, 3 de Dezembro de 2013 10:49, Fabio Prado fbifa...@gmail.com 
escreveu:
 
  
Alessandro, passe para nós os valores configurados na instância para os 
parâmetros abaixo:

SGA_TARGET
SGA_MAX_SIZE
MEMORY_TARGET
MEMORY_MAX_TARGET
PGA_AGGREGATE_TARGET

Att,

Fábio Prado
www.fabioprado.net



Em 3 de dezembro de 2013 08:40, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:

 
  


 Bom dia Senhores,



  Após a migração do Oracle 10.2.0.4 para o 11.2.0.1 em um ambiente Windows 
2008 Server R2, o processo Oracle começa a consumir toda a memória do Servidor 
de 16G de memoria principal, mesmo configurando os parametros 
SGA_TARGET/SGA_MAX_SIZE ou os novos parâmetros MEMORY_TARGET/MEMORY_MAX_TARGET.


   Configuro estes parâmetros para usar cerca de 5 Giga, mas em algum 
determinado momento o processo Oracle do Windows começa a crescer até bater os 
quase 16 Giga, deixando a maquina super-lenta, alem do próprio Oracle.


   Em uma analise feita até o momento alguma sessão de Usuário começa a 
crescer muito e somente é possível mata-la via oraKill do Windows. Como uma 
sessão de Usuário consegue usar mais memoria do que os parâmetros de memoria 
do Oracle? Tentei limitar mesmo usar Profile de limite de uso, mas este 
comportamento permanece.


Obrigado!


   


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



-- 

Fábio Prado
www.fabioprado.net 
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados 
Oracle
 


Re: [oracle_br] Processo Oracle no windows maior que os parâmetros de Memória Oracle

2013-12-03 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Fernando, no caso descobri que especificamente uma aplicação desenvolvido 
em PHP que causa o uso excessivo de memória. Quando desabilitamos esta 
aplicação, todas as demais aplicações funcionaram normalmente.

Ainda não detectei a causa raiz do problema, mas pode ser que talvez não seja 
somente aplicar o 11.2.0.3, creio que talvez tenha que atualizar a versão do 
PHP.


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em , Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br 
escreveu:
 
Os parametros MEMORY_TARGET e MEMORY_MAX_TARGET estão com 6G, os demais 
coloquei 0 (zero) para usar somente os novos parametros do 11g
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Terça-feira, 3 de Dezembro de 2013 10:49, Fabio Prado fbifa...@gmail.com 
escreveu:
 
  
Alessandro, passe para nós os valores configurados na instância para os 
parâmetros abaixo:

SGA_TARGET
SGA_MAX_SIZE
MEMORY_TARGET
MEMORY_MAX_TARGET
PGA_AGGREGATE_TARGET

Att,

Fábio Prado
www.fabioprado.net



Em 3 de dezembro de 2013 08:40, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:

 
  


 Bom dia Senhores,



  Após a migração do Oracle 10.2.0.4 para o 11.2.0.1 em um ambiente Windows 
2008 Server R2, o processo Oracle começa a consumir toda a memória do Servidor 
de 16G de memoria principal, mesmo configurando os parametros 
SGA_TARGET/SGA_MAX_SIZE ou os novos parâmetros MEMORY_TARGET/MEMORY_MAX_TARGET.


   Configuro estes parâmetros para usar cerca de 5 Giga, mas em algum 
determinado momento o processo Oracle do Windows começa a crescer até bater os 
quase 16 Giga, deixando a maquina super-lenta, alem do próprio Oracle.


   Em uma analise feita até o momento alguma sessão de Usuário começa a 
crescer muito e somente é possível mata-la via oraKill do Windows. Como uma 
sessão de Usuário consegue usar mais memoria do que os parâmetros de memoria 
do Oracle? Tentei limitar mesmo usar Profile de limite de uso, mas este 
comportamento permanece.


Obrigado!


   


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)



-- 

Fábio Prado
www.fabioprado.net 
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados 
Oracle
 


Re: [oracle_br] Re: Como cobrar projeto de migração de banco oracle

2013-11-13 Por tôpico Alessandro Lúcio Cordeiro da Silva



Somente uma observação quanto ao cobrar por tempo de migração, na verdade isso 
vale por qualquer serviço que você fizer. Não pense em comprar baseado somente 
no parametro tempo, na verdade em muitos casos o valor a ser cobrado é 
inversamente proporcional ao tempo.

Uma vez um amigo meu ligou desesperado  porque o banco de dados dele estava 
fora do ar, o DATAFILE SYSTEM está com SCN a frente do SCN do controlFile e o 
banco de dados não abria. Usei apenas 1 comando e em MENOS de 5 minutos o banco 
estava no ar. Então devo receber menos do que alguem que ficou horas para, por 
exemplo recriar um novo banco, importar os dados usado o IMP(DP) e depois disso 
entregar um banco com os últimos dados faltando?

Veja que o conhecimento em Oracle fez toda a diferença, e esta diferença não 
vem por osmose, vem por horas e horas de estudo e reproduzindo em cenários de 
testes.

Então o que eu acho melhor é você criar uma tabela de serviço/Hora onde cada 
hora tem o seu preço diferente para cada serviço. Tente criar esta tabela mais 
especifica possível. Tipo a sua migração vai incluir mudança do S.O e Hardware? 
Você sempre deve ter isso em mente.

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema

þ http://alecordeirosilva.blogspot.com/

Porque esta é a vontade de Deus, a saber, a vossa 
santificação: que vos abstenhais da prostituição.
(1º Tessalonicenses 4:3)




Em Quarta-feira, 13 de Novembro de 2013 15:42, angelo angelolis...@gmail.com 
escreveu:
 
  
Acho que a experiencia também conta

Vc ja fez migração antes? mesmo que pequenininha
Concordo em fazer um ensaio, num ambiente de homologacao, pra pegar todos 
aqueles detalhezinhos que são aparecer na execução e ir anotando. Quanto mais 
parecido com o real, melhor.






2013/11/13 Rodrigo Gallacci rodrigo.galla...@gmail.com

 
  
Eu sinceramente analisaria o tamanho dos databases, veja o exemplo:


Um DBA Pleno (sendo sincero) levaria em tese o mesmo tempo para migrar a base 
que um Sênior, porém, se for encontrado algum bug/problema/falha no processo 
um Sênior resolveria muito mais rápido, por isso o valor mais alto.


Quanto à tempo de base, vamos expor um ambiente à prova, um expdp de um 
database que gerasse 50G de dmp levaria em torno de 5 horas pra migrar, isso 
sem contar a preparação, etc, etc.


Eu cobraria um X á cada 100G de base de dados real. E esse X seria calculado 
na média:


X = 80% do valor hora


Ou cobre uma hora pra cada 100G de base de dados.


Rodrigo Gustavo Gallacci
DBA Oracle ATG


2013/11/13 Rafael Mendonca raffaell.t...@yahoo.com

 
  
Eu faria como o Chiappa recomenda, faria uma simulação do upgrade em um 
database de teste e cronometrava quanto tempo daria, com isso veja o valor da 
sua hora e multiplique pela quantidade de horas da simulação feita em um 
ambiente de teste, colocaria algumas horas a mais por precaução (pois pode 
ocorrer algum bug ou algo semelhante, e se for feito a noite ou no final de 
semana/feriado vc com certeza reajustaria o valor da sua hora.



Em Quarta-feira, 13 de Novembro de 2013 12:51, J. Laurindo Chiappa 
jlchia...@yahoo.com.br escreveu:
 
  
Priscila, acho que tanto eu quanto o Rodrigo concordamos que a medida 
principal é a quantidade de horas : não é absolutamente viável cobrar por 
número de bases ou coisa assim, porque NADA IMPEDE do seu cliente ter uma 
base gigantesca e uma pequenina, o que DISTORCERIA ENORMEMENTE a sua 
cobrança, sim ??? 
E para vc chegar na quantidade de horas, isso é uma função dos volumes das 
bases todas e das dificuldades que podem surgir, coisas essas que vc só 
pega fazendo uma análise de algumas horinhas para levantamento...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Priscila Viana priska.san@... escreveu

 Não preciso de valores caso não possa colocar, mas de como cobrar mesmo, se
 por base, por projeto, por tempo...
 Em 13/11/2013 13:24, Rodrigo Gallacci rodrigo.gallacci@...
 escreveu:
 
 
 
  Na verdade eu julgo o valor relativo ao tempo que irá levar (o que tem
  haver com tamanho da base de dados) e do know how de quem vai fazer.
 
  Aliás, não sei se podemos discutir valores nessa lista. Podemos?
 
  Rodrigo Gustavo Gallacci
  DBA Oracle ATG
 
 
  2013/11/13 Priscila Viana priska.san@...
 
 
 
  Solaris, bendito corretor do teclado do celular!
  Em 13/11/2013 13:09, Priscila Viana priska.san@... escreveu:
 
  Como devo cobrar um projeto de migração de banco oracle 9 para 11 em
  plataformas windows e solares, quais pontos devo levar em consideração?
  Preciso de ajuda tenho reunião amanhã e nunca fiz esse tipo de trabalho
  por fora.
  Obrigada.
  Priscila Viana
 
 
  
 









Re: [oracle_br] Bkp de objetos no banco

2013-10-15 Por tôpico Alessandro Lúcio Cordeiro da Silva
Vitor,

   Existe uma VIEW que contem o código SQL, é a DBA_SOURCE, eu tentei executar 
um flashback nesta view e pra mim deu privilegios insuficiente, não sei se é 
somente o DBA dar acesso a flashback nesta view ou a ORACLE fecha acesso nela. 
mas se você fizer o select sem o flashback esta view tem o codigos das 
procedures, function entre outros objetos. Tenta ver de com DBA se o ele 
consegue com a conta do SYS.

select *
  from dba_source AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAl '3' DAY) S
 where s.owner = 'SYS'
   and s.name = 'OWA_UTIL'
   and s.TYPE = 'PACKAGE BODY'
 order by line; 

OBS.: Agora não tenho nenhum banco de teste para verificar isso, somente os 
banco de producao que não tenho tantos privilegios.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
 




 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 14:11
Assunto: Re: [oracle_br] Bkp de objetos no banco
 


  
Infelizmente não! 



Em 15 de outubro de 2013 15:04, Victor Freidinger 
victor_freidin...@yahoo.com.br escreveu:

 
  
Olá Fábio,

Obrigado pelo retorno.
Realmente, não há o que fazer? Não há uma tabela v$ que eu consiga consultar 
os códigos utilizados nos objetos?
Tem a v$sql que eu consigo ver apenas selects, updates, etc., agora o código 
dentro de um objeto eu não encontrei.

Obrigado.







 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 15:00
Assunto: Re: [oracle_br] Bkp de objetos no banco
 





Victor, neste caso, só um backup do BD ou Flashback Database (se estiver 
habilitado), poderá te ajudar. Vc vai ter que pedir ao DBA responsável pelo 
BD, fazer a restauração para vc.


Uma forma de evitar este tipo de problema no futuro e possibilitar uma 
recuperação bem rápida do objeto, através de simples instruções SQL, é criar o 
repositório de metadados que eu apresento no artigo: 
http://www.fabioprado.net/2012/06/repositorio-de-metadados-no-oracle.html


[]s


Fábio Prado



Em 15 de outubro de 2013 14:48, Victor Freidinger 
victor_freidin...@yahoo.com.br escreveu:

 
  
Olá pessoal,


Estou com um problema desse nível:


Criei recentemente uma procedure em um ambiente de desenvolvimento e 
solicitei ao usuário testar todo o processo.
Depois de algum tempo, o usuário testou só que não me passou o retorno.
Acabou que caindo no esquecimento e a procedure que estava no banco foi 
perdida pela atualização do sistemas e eu não tinha um bkp desse objeto.
Na verdade já existia uma procedure com mesmo nome e eu apenas alterei 
algumas coisas para testar e, após os testes, iria pegar o objeto ou corrigir 
algum outro problema.
Quando foi atualizado a nova versão do sistema, apagou tudo.
Há como eu rever o objeto criado anteriormente?
Ou alguma forma de eu ver o create procedure feito anteriormente(que ai eu 
conseguiria ver todo o conteúdo e restaurar)?


Obrigado desde já.




-- 

Fábio Prado
www.fabioprado.net 
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados 
Oracle
 






-- 

Fábio Prado
www.fabioprado.net 
Compartilhando conhecimentos e treinando profissionais em Bancos de Dados 
Oracle
 


Re: [oracle_br] Bkp de objetos no banco

2013-10-15 Por tôpico Alessandro Lúcio Cordeiro da Silva
Isso varias de acordo com a area livre e o tempo de retenção que o DBA 
configurou, aqui na empresa (outras tabelas) consigo fazer flahback de ate 5 
dias.


C:\sqlplus fiplan_int@ORMTI01
SQL*Plus: Release 10.2.0.3.0 - Production on Ter Out 15 15:37:55 2013

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Informe a senha:


Conectado a:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management,
OLAP, Data Mining and Real Application Testing options

SQL select cd_exercicio, codg_banco, nome_banco from acwtb0001 AS OF TIMESTAMP 
 (SYSTIMESTAMP-INTERVAl '5' DAY) where rownum = 1;

CD_EXERCICIO CODG_BANCO NOME_BANCO
 
-
2005                1   Banco do Brasil S/A


SQL select cd_exercicio, codg_banco, nome_banco from acwtb0001 AS OF TIMESTAMP 
(SYSTIMESTAMP-INTERVAl '6' DAY) where rownum = 1;
select cd_exercicio, codg_banco, nome_banco from acwtb0001 AS OF TIMESTAMP 
(SYSTIMESTAMP-INTERVAl '6' DAY) where rownum = 1

                                               *
ERRO na linha 1:
ORA-08180: nenhum snapshot encontrado com base no tempo especificado

Talvez se estivesse com este tempo poderia ter ajudado.
 

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/

 



 De: Victor Freidinger victor_freidin...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 15:01
Assunto: Re: [oracle_br] Bkp de objetos no banco
 


  
Oi Alessandro,

Obrigado pelo retorno.
Eu tentei pela dba_source, mas, parece que tem um tempo apenas que tem esse 
flashback.
No teste que eu fiz aqui o limite máximo foi de 200 minutos.
Essa atualização ocorreu na sexta feira.

Obrigado novamente.




 De: Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 15:57
Assunto: Re: [oracle_br] Bkp de objetos no banco
 





Vitor,

   Existe uma VIEW que contem o código SQL, é a DBA_SOURCE, eu tentei executar 
um flashback nesta view e pra mim deu privilegios insuficiente, não sei se é 
somente o DBA dar acesso a flashback nesta view ou a ORACLE fecha acesso nela. 
mas se você fizer o select sem o flashback esta view tem o codigos das 
procedures, function entre outros objetos. Tenta ver de com DBA se o ele 
consegue com a conta do SYS.

select *
  from dba_source AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAl '3' DAY) S
 where s.owner = 'SYS'
   and s.name = 'OWA_UTIL'
   and s.TYPE = 'PACKAGE BODY'
 order by line; 

OBS.: Agora não tenho nenhum banco de teste para verificar isso, somente os 
banco de producao que não tenho tantos privilegios.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
 




 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 14:11
Assunto: Re: [oracle_br] Bkp de objetos no banco
 


  
Infelizmente não! 



Em 15 de outubro de 2013 15:04, Victor Freidinger 
victor_freidin...@yahoo.com.br escreveu:

 
  
Olá Fábio,

Obrigado pelo retorno.
Realmente, não há o que fazer? Não há uma tabela v$ que eu consiga consultar 
os códigos utilizados nos objetos?
Tem a v$sql que eu consigo ver apenas selects, updates, etc., agora o código 
dentro de um objeto eu não encontrei.

Obrigado.







 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 15:00
Assunto: Re: [oracle_br] Bkp de objetos no banco
 





Victor, neste caso, só um backup do BD ou Flashback Database (se estiver 
habilitado), poderá te ajudar. Vc vai ter que pedir ao DBA responsável pelo 
BD, fazer a restauração para vc.


Uma forma de evitar este tipo de problema no futuro e possibilitar uma 
recuperação bem rápida do objeto, através de simples instruções SQL, é criar o 
repositório de metadados que eu apresento no artigo: 
http://www.fabioprado.net/2012/06/repositorio-de-metadados-no-oracle.html


[]s


Fábio Prado



Em 15 de outubro de 2013 14:48, Victor Freidinger 
victor_freidin...@yahoo.com.br escreveu:

 
  
Olá pessoal,


Estou com um problema desse nível:


Criei recentemente uma procedure em um ambiente de desenvolvimento e 
solicitei ao usuário testar todo o processo.
Depois de algum tempo, o usuário testou só que não me passou o retorno.
Acabou que caindo no esquecimento e a procedure que estava no banco foi 
perdida pela atualização do sistemas e eu não tinha um bkp desse objeto.
Na verdade já existia uma procedure com mesmo nome e eu apenas alterei 
algumas coisas para testar e, após os testes, iria pegar o objeto

Re: [oracle_br] Bkp de objetos no banco

2013-10-15 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Fabio,

Só para te esclarecer, os comandos DDL são transacionais, eles simplesmente tem 
uma instrução COMMIT no final, para proteger os dicionarios de dados, como John 
Watson explica:

The COMMIT and ROLLBACK statements apply only to DML. You cannot roll back a 
DDL statement: once executed, it is immediately durable. If it were possible to 
see the
source code for (for example) the CREATE TABLE command, it would be obvious 
why. When you create a table, you are in fact doing a transaction against some 
data dictionary
tables: at the very least, you are inserting a row into SYS.TAB$, a data 
dictionary table with one row to define every table in the database, and one or 
more rows into SYS.COL$,
a data dictionary table with one row for the definition of every column of 
every table in the database. Then the command concludes with a COMMIT. This is 
to protect the
data dictionary: if the COMMIT were not built into the CREATE TABLE command, 
the possibility of an incomplete transaction would arise, and an incomplete 
transaction
in the data dictionary could have appalling side effects.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 15:55
Assunto: Re: [oracle_br] Bkp de objetos no banco
 


  
Vivendo e aprendendo! 

O procedimento que o Alessandro Lúcio passou funciona sim. Acabei de testar. 

Como a gravação de objetos PL/SQL não é transacional (eles ficam gravados 
diretamente no DD), conceitualmente achei que eles não geravam UNDO e que não 
dava para usar FLASHBACK query ou version, pois essas tecnologias utilizam-se 
de dados de UNDO. 

Agradeço por ter aprendido isso!

[]s






Em 15 de outubro de 2013 15:57, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:

 
  
Vitor,


   Existe uma VIEW que contem o código SQL, é a DBA_SOURCE, eu tentei executar 
um flashback nesta view e pra mim deu privilegios insuficiente, não sei se é 
somente o DBA dar acesso a flashback nesta view ou a ORACLE fecha acesso nela. 
mas se você fizer o select sem o flashback esta view tem o codigos das 
procedures, function entre outros objetos. Tenta ver de com DBA se o ele 
consegue com a conta do SYS.


select *
  from dba_source AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAl '3' DAY) S
 where s.owner = 'SYS'
   and s.name = 'OWA_UTIL'
   and s.TYPE = 'PACKAGE BODY'
 order by line; 


OBS.: Agora não tenho nenhum banco de teste para verificar isso, somente os 
banco de producao que não tenho tantos privilegios.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
 





 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 14:11
Assunto: Re: [oracle_br] Bkp de objetos no banco
 


  
Infelizmente não! 



Em 15 de outubro de 2013 15:04, Victor Freidinger 
victor_freidin...@yahoo.com.br escreveu:

 
  
Olá Fábio,

Obrigado pelo retorno.
Realmente, não há o que fazer? Não há uma tabela v$ que eu consiga consultar 
os códigos utilizados nos objetos?
Tem a v$sql que eu consigo ver apenas selects, updates, etc., agora o código 
dentro de um objeto eu não encontrei.

Obrigado.







 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 15:00
Assunto: Re: [oracle_br] Bkp de objetos no banco
 





Victor, neste caso, só um backup do BD ou Flashback Database (se estiver 
habilitado), poderá te ajudar. Vc vai ter que pedir ao DBA responsável pelo 
BD, fazer a restauração para vc.


Uma forma de evitar este tipo de problema no futuro e possibilitar uma 
recuperação bem rápida do objeto, através de simples instruções SQL, é criar 
o repositório de metadados que eu apresento no artigo: 
http://www.fabioprado.net/2012/06/repositorio-de-metadados-no-oracle.html


[]s


Fábio Prado



Em 15 de outubro de 2013 14:48, Victor Freidinger 
victor_freidin...@yahoo.com.br escreveu:

 
  
Olá pessoal,


Estou com um problema desse nível:


Criei recentemente uma procedure em um ambiente de desenvolvimento e 
solicitei ao usuário testar todo o processo.
Depois de algum tempo, o usuário testou só que não me passou o retorno.
Acabou que caindo no esquecimento e a procedure que estava no banco foi 
perdida pela atualização do sistemas e eu não tinha um bkp desse objeto.
Na verdade já existia uma procedure com mesmo nome e eu apenas alterei 
algumas coisas para testar e, após os testes, iria pegar o objeto ou 
corrigir algum outro problema.
Quando foi atualizado a nova versão do sistema, apagou tudo.
Há como eu rever o objeto

Re: [oracle_br] Bkp de objetos no banco

2013-10-15 Por tôpico Alessandro Lúcio Cordeiro da Silva
Fechou! estamos aqui para apreender um com outros.

Apreendi muitas coisas aqui no Grupo.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 17:24
Assunto: Re: [oracle_br] Bkp de objetos no banco
 


  
Pois é Alessandro, tratando-se de objetos como tabelas eu até sabia disso, mas 
na minha cabeça achava que seria diferente com objetos PL/SQL. 

Agora que descobri a verdade, faz todo sentido funcionar também com PL/SQL, 
pois qq objeto do BD é armazenado internamente em tabelas do DD.

Valeu pela dica!

[]s



Em 15 de outubro de 2013 18:13, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:

 
  
Olá Fabio,


Só para te esclarecer, os comandos DDL são transacionais, eles simplesmente 
tem uma instrução COMMIT no final, para proteger os dicionarios de dados, como 
John Watson explica:


The COMMIT and ROLLBACK statements apply only to DML. You cannot roll back a 
DDL statement: once executed, it is immediately durable. If it were possible 
to see the
source code for (for example) the CREATE TABLE command, it would be obvious 
why. When you create a table, you are in fact doing a transaction against some 
data dictionary
tables: at the very least, you are inserting a row into SYS.TAB$, a data 
dictionary table with one row to define every table in the database, and one 
or more rows into SYS.COL$,
a data dictionary table with one row for the definition of every column of 
every table in the database. Then the command concludes with a COMMIT. This is 
to protect the
data dictionary: if the COMMIT were not built into the CREATE TABLE command, 
the possibility of an incomplete transaction would arise, and an incomplete 
transaction
in the data dictionary could have appalling side effects.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 




 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 15:55
Assunto: Re: [oracle_br] Bkp de objetos no banco
 


  
Vivendo e aprendendo! 


O procedimento que o Alessandro Lúcio passou funciona sim. Acabei de testar. 


Como a gravação de objetos PL/SQL não é transacional (eles ficam gravados 
diretamente no DD), conceitualmente achei que eles não geravam UNDO e que não 
dava para usar FLASHBACK query ou version, pois essas tecnologias utilizam-se 
de dados de UNDO. 


Agradeço por ter aprendido isso!


[]s









Em 15 de outubro de 2013 15:57, Alessandro Lúcio Cordeiro da Silva 
alecordeirosi...@yahoo.com.br escreveu:

 
  
Vitor,


   Existe uma VIEW que contem o código SQL, é a DBA_SOURCE, eu tentei 
executar um flashback nesta view e pra mim deu privilegios insuficiente, não 
sei se é somente o DBA dar acesso a flashback nesta view ou a ORACLE fecha 
acesso nela. mas se você fizer o select sem o flashback esta view tem o 
codigos das procedures, function entre outros objetos. Tenta ver de com DBA 
se o ele consegue com a conta do SYS.


select *
  from dba_source AS OF TIMESTAMP (SYSTIMESTAMP-INTERVAl '3' DAY) S
 where s.owner = 'SYS'
   and s.name = 'OWA_UTIL'
   and s.TYPE = 'PACKAGE BODY'
 order by line; 


OBS.: Agora não tenho nenhum banco de teste para verificar isso, somente os 
banco de producao que não tenho tantos privilegios.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
 





 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 14:11
Assunto: Re: [oracle_br] Bkp de objetos no banco
 


  
Infelizmente não! 



Em 15 de outubro de 2013 15:04, Victor Freidinger 
victor_freidin...@yahoo.com.br escreveu:

 
  
Olá Fábio,

Obrigado pelo retorno.
Realmente, não há o que fazer? Não há uma tabela v$ que eu consiga consultar 
os códigos utilizados nos objetos?
Tem a v$sql que eu consigo ver apenas selects, updates, etc., agora o código 
dentro de um objeto eu não encontrei.

Obrigado.







 De: Fabio Prado fbifa...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 15 de Outubro de 2013 15:00
Assunto: Re: [oracle_br] Bkp de objetos no banco
 





Victor, neste caso, só um backup do BD ou Flashback Database (se estiver 
habilitado), poderá te ajudar. Vc vai ter que pedir ao DBA responsável pelo 
BD, fazer a restauração para vc.


Uma forma de evitar este tipo de

Re: [oracle_br] Re: Horário de Verão

2013-10-10 Por tôpico Alessandro Lúcio Cordeiro da Silva


Há algum tempo atras o Rodrigo Almeida relatou um problema ao tentar abrir um 
banco de teste o Oracle não conseguia fazer um Automatic Recovery da instância, 
pois o servidor mudou o horário devido a mudança de Data/Hora do servidor.

      http://www.rodrigoalmeida.net/blog/ora-600-2252-um-caso-estranho/

Nunca testei, mas se ocorreu este erro devido a mudança de Data e Hora, creio 
que podemos ter problemas caso precisarmos fazer uma restauração incompleta 
baseada em Data/Hora aplicando os archives gerados entre a mudança de horario.
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/

 



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 10 de Outubro de 2013 11:37
Assunto: [oracle_br] Re: Horário de Verão
 


  
O database em si é ** indiferente ** ao horário do sistema, pois ele se 
auto-controla através do SCN, que é um 'tick', uma sequência auto-incrementada 
em pequenos intervalos, então para o database em si problema nenhum em se 
mudar o clock do sistema 
PORÉM, vc tem que ter em mente duas coisas :

a) no seu caso além do database vc está rodando um Cluster RAC, e ele (por 
definição) a cada poucos segundos faz um ping entre os nós e a data/hora 
fracionária e exata da resposta fica registrado internamente, e servirá de 
comparação para causar um eventual reboot/node fencing por timeout/resposta 
muito demorada : neste caso, a nota metalink RAC: Frequently Asked Questions 
(Doc ID 220970.1) textualmente recomenda que vc baixe o clusterware E as 
instâncias antes de fazer a alteração antes de fazer alterações 'grandes' no 
horário :

Minor changes in time (in the seconds range) are harmless for Oracle RAC and 
the Oracle Clusterware. If you intend on making large time changes it is best 
to shutdown the instances and the entire Oracle Clusterware stack on that node 
to avoid a false eviction, especially if you are using the Oracle RAC 10g 
low-brownout patches, which allow really low misscount settings.


== Evidentemente, em adição a isso, num ambiente RAC já que é Recomendado que 
vc esteja usando algum serviço externo de NTP, pode ser necessário mudar TAMBÉM 
o clock no servidor NTP... Em alguns casos/configurações ajustando o clock do 
NTP o client NTP até atualiza o horário local nos nós, mas por segurança eu 
Ainda Diria para vc fazer um shutdown...

b) embora o database em si seja indiferente porque usa SCN, alguns componentes 
(como JOBS, por exemplo) ** usam ** o horário local , então vc pode terminar 
com job não disparado : a nota metalink DBMS_SCHEDULER or DBMS_JOB And DST / 
Timezones Explained (Doc ID 467722.1 é a referência 

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Bruno Sales brunosales85@... escreveu

 Bom dia senhores,
 como bem sabemos, já estamos chegando no horário de verão, e com ele chegou
 a mim algumas dúvidas:
 
 Estou utilizando um Oracle RAC 10g com 2 nós, Standard Edition, em um
 Redhat 5.
 
 Basta alterar o horário pelo Sistema Operacional que o horário do Banco irá
 acompanhar ? E em relação às sessões das aplicações conectadas ao banco no
 momento da virada, tambem seguirão o horário ?
 Pelo que sei, quase nao há problemas em relação à mudança para o horário de
 verão, e o problema está mais na hora da volta, certo?
 
 Gostaria de algumas sugestões acerca do assunto, se possível.
 
 Agradeço desde já,
 
 
 
 -- 
 Bruno Sales





Re: [oracle_br] Re: Carga de dados

2013-10-09 Por tôpico Alessandro Lúcio Cordeiro da Silva
Apenas uma observação, lembre-se que o bdlink tem limitações, por exemplo 
ORA-22992: cannot use LOB locators selected from remote tables. 
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Fernando Garatini da Silva fgarat...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 9 de Outubro de 2013 10:19
Assunto: Re: [oracle_br] Re: Carga de dados
 


  
obrigado pessoal pela dica



Em 9 de outubro de 2013 11:17, J. Laurindo Chiappa jlchia...@yahoo.com.br 
escreveu:

 
  
Explica melhor : os dados estão numa OUTRA instância que não é aquela que vc 
está conectado ?? Essa instância está em OUTRO servidor físico ??
SE a resposta for SIM para ambas as perguntas, a performance do dblink depende 
FUNDAMENTALMENTE da performance da tua rede -  se a rede for boa , via de 
regra o dblink é Muito Mais performático do que exp+imp
A melhor opção de comando para se transferir dados via dblink é : criar a 
tabela vazia no banco-destino (com extent size apropriado, preferencialmente 
numa tablespace lmt, com pctfree e pctused apropriados, não reservando no 
momento quase nada de espaço para UPDATEs, vc vai fazer INSERTs apenas no 
momento), e depois vc manda um INSERT /*+ APPEND */ INTO tabela (select * from 
tabela@dblink); . E SE vc tiver o hardware disponível, pode pode usar 
PARALLEL SQL no INSERT e/ou no SELECT 

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Fernando Garatini da Silva 
fgaratini@... escreveu


 Prezados bom dia , preciso de uma dica
 
 estou conectado num usuário x e preciso carregar uma tabela de 60 000 000
 de usando um dblink qual o comando que executa a carga mais rapidamente .
 
 -- 
 Obrigado Pela Atenção!





-- 
Obrigado Pela Atenção!

Fernando Garatini da Silva
Analista de Sistemas/Oracle 
Phone:  55 +11 8208 0609 / 8642 8338 - SP
MSN:  garat...@hotmail.com
E_MAIL: fgarat...@gmail.com
Skype: fernando_garatini 


Re: [oracle_br] Re: Agendamento de backup

2013-10-09 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Rodrigo,

Sobre o primeiro caso, pra mim é muito interessante você usar o Schedure do 
Oracle, pois em um ambiente RAC o backup irar disparar mesmo se um nó ficar 
inativo, ao passo que pelo S.O , uma das maquinas que irar executar o backup e 
vai que exatamente a que executa o backup esta inativo? Resultado, nada de 
backup neste dia.

Quanto ao realizar backup em ambiente Windows em disco compartilhado, você 
precisa colocar os serviços do Oracle (listener e banco) executando com um 
login de rede, por padrão o Oracle executa com usuário administrador da maquina 
local e por isso, ele não tem acesso a nada de rede. Depois de configurar os 
serviços e reinicia-los, basta apontar o IP do compartilhamento. 
Ex: allocate channel ch1 type disk format 
'\\172.16.0.4\BACKUP_ORACLE\PRODUCAO\BKP_FULL_%d_%s_%t_%p';


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Rodrigo Almeida rdg@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 9 de Outubro de 2013 14:47
Assunto: Re: [oracle_br] Re: Agendamento de backup
 


  
Muito obrigado pela atenção pessoal, vocês me ajudaram bastante. No servidor 
windows vou manter o agendamento pelo S.O, mas estou pensando em migrar para os 
Jobs do ORACLE pois o windows as vezes não inicia os backups. Sábado tenho um 
serviço desse para fazer no linux, então até lá vou testar os agendamento 
usando o CRON e usando os Job do ORACLE.


Aproveitando o assunto, me tirem outra dúvida. Em meus scripts depois de 
realizar o backup eu movo os backups para uma pasta mapeada. Fiz isso porque 
com o RMAN não funcionou gerar o backup direto no disco mapeado.
Usei o seguinte mas não funcionou por isso usei o script no bat para mover:

allocate channel ch1 type disk format 
'S:\BACKUP_ORACLE\PRODUCAO\BKP_FULL_%d_%s_%t_%p';


Tem alguma coisa errada nesse comando ou existe alguma limitação no RMAN em 
fazer backup em mapeamento no windows?








Em 8 de outubro de 2013 17:05, J. Laurindo Chiappa jlchia...@yahoo.com.br 
escreveu:

 
  
Jóia, Fábio ? Então, a única obs que eu penso ser legal deixar Claro para o 
Rodrigo é que é + ou - indiferente o método de se agendar ** SE ** estamos 
falando de um punhadinho de databases, e residindo em pouqíssimos servidores  
: é Claro que na hora de Administrar (digamos, que vc precisar re-agendar 
backups, cancelar uma execução devido à manutenção, etc, etc), é um trampo 
CANINO, manual, Trabalhoso e Extremamente sujeito à erros, vc editar x scripts 
em y servidores se x e/ou y forem não-triviais
Assim, SE o ambiente tem um porte maiorzinho, Sem Dúvida opções como o 
agendamento via OEM ou via database jobs passa a ser Interessante, pois são 
opções que vc consegue scriptar as alterações de algum modo... Inclusive, a 
opção de database jobs tem especial interesse nisso porque vc tem comandos 
SIMPLES e padrão para cancelar/re-agendar um job, para consultar status e 
logs.

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Fabio Prado fbifabio@... escreveu

 Rodrigo, como o Victor disse, o que funcionar está bom, porém... eu prefiro
 sempre agendar através de Scheduler Jobs. Gosto de deixar o que é do Bd
 dentro do BD! Além do mais Scheduler JObs (aqueles criados com a package
 DBMS_SCHEDULER) são muito poderosos! Vc consegue criar entre muitas coisas
 avançadas, um workflow de jobs utilizando objetos chamados *Chains*!
 
 Na empresa em que trabalho hoje temos muitos *External Scheduler
 Jobs*chamando scripts shell do SO, em substituição ao agendamento da
 crontab.
 Tudo o que temos na crontab estamos transferindo aos poucos para stored
 procedures c/ Scheduler Jobs ou utilizamos os próprios scripts shell
 chamando-os através de External Scheduler Jobs.
 
 []s
 
 Fábio Prado
 http://www.fabioprado.net
 
 
 Em 7 de outubro de 2013 22:18, Vitor Junior vitorjr81@... escreveu:
 
  **
 
 
  Caraca... até achei que era o Rodrigo Almeida, referência em oracle...
  rsrsrsrs
  Cara, o padrão geralmente é esse mesmo.  Scheduler no windows e cron no
  linux. Funcionando tá bom. :)
 
  Att
  Vitor Jr.
  Em 07/10/2013 21:53, Rodrigo Almeida rdg.net@... escreveu:
 
  **
 
 
 
  Bom noite pessoal,
 
  Semana passada fui em um cliente mudar a rotina de backup em um ORACLE 10
  em Windows Server. Pensei que lá estaria agendado pelo oracle, mas
  encontrei scripts em dos que chamavam outros scripts do RMAN. Sendo que o
  agendamento era feito no Windows.
  Sou novato como DBA e queria saber de vocês o que é recomendado, pois
  procurei na internet um forma de agendar só usando o RMAN e não encontrei,
  só usando o EM, então acabei alterando os scripts.
  No próximo sábado vou ter que fazer um serviço parecido só que em Linux.
  Minha primeira idéia é agendar usando o cron e scripts rman

Re: [oracle_br] Re: Backup

2013-09-11 Por tôpico Alessandro Lúcio Cordeiro da Silva
Rodrigo,

    Especificamente o Backup do Oracle usando o RMAN, verifique no log de 
Alerta se o RMAN esta usando a PGA, caso sim o Backup esta sendo feito I/O 
Síncrono, e isso é lento. Neste caso, altere o paramento LARGE_POLL_SIZE para 
melhorar o desempenho do backup Rman.  

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 10 de Setembro de 2013 23:06
Assunto: [oracle_br] Re: Backup
 


  
Bom, vc não diz mas deduzo que o backup RMAN inicialmente vai pra disco, 
correto ?? Bom, antes de falar da cópia desses arqs para a fita, observo que 
tenho visto backups para disco (que OBEDEÇAM aos pontos de tuning citados em 
http://www.oracle.com/technetwork/database/availability/rman-perf-tuning-bp-452204.pdf
 e nas múltiplas notas metalink relacionadas, E com I/O server-class, óbvio, e 
com a maior parte das HBAs/canais direcionados para o backup esse backup) terem 
um throughput de coisa de 300 a 400 GBs por hora... Assim, esse período de 5 
horas (22h até as 03:00h) para o backup em disco muito provavelmente possa ser 
melhorado... A minha dúvida é quais capacidades de paralelismo e I/O Async vc 
teria ou não com o Standard Edition One, que nunca usei, e com o seu 
hardware/SO/sub-sistema de I/O atuais (que vc Não Nos Diz quais são), mas é 
algo que VALERIA A PENA ser checado, sim 

Outro ponto óbvio : backup full ** todas as vezes ** é abusar da amizade, só 
mesmo no mais Trivial dos databases Triviais é que isso é aceitável : algum 
tipo de BACKUP INCREMENTAL é Intensamente desejado se vc tem um SLA curto a 
cumprir - pode ser simplesmente realocar os segmentos de dados históricos e 
quetais para tablespaces próprias que aí seriam backupeadas só de vez em quando 
( o que obviamente é livre), ou pode ser mesmo implementar as opções RMAN de 
backup incremental (que aí vc terá que checar o que é que vc pode e não pode 
usar no SE ONE) COMPACTAÇÃO dos dados também é outro no-brainer, embora com 
SE ONE iirc vc só tem a compactação básica (ie, de operações em batch em 
tabelas e a compressão de chaves nos índices), verifique aí...

Já sobre a cópia para fita :  obviamente o I/O em fita não vai ser tão 
performante quanto em disco, mas unidades de fita server-class, com múltiplos 
drives, com gravação async e caches/aceleradores built-in deveriam dar pelo 
menos uns 200 GBs por hora, o que vc não parece estar obtendo com esse período 
de 8h (das 08:00h as 16:00h) para gravar 1,5 TB - seria o caso de checar com o 
fornecedor da unidade  o status de firmware/drivers e quetais, bem como o 
status de correções/atualizações do software de backup com o fornecedor dele, 
mas se tudo isso estiver ok não vejo muito mais o que vc pode fazer em termos 
de software para a parte de fita, aí talvez para cumprir esse SLA vc vá 
necessitar de um up no hardware, mesmo...

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br, Rodrigo Fernando sharplinux@... escreveu

 Pessoal,
 
 Hoje o backup aqui na empresa e full, apos o backup copio o RMAN e o 
 DUMP para a fita.
 
 Meu ambiente e Standard Edition One.
 Tamanho do banco 1.5TB
 Software de backup do banco: Scripts
 Software de backup da fita: ArcServe
 Fita: LTO5
 
 Hora do inicio do backup e as 22:00, termina por volta das 03:00, começo 
 a copia para a fita as 08:00 com termino por volta das 16:00
 
 Preciso melhorar esta rotina de backup, preciso que esta copia em fita 
 esteja pronta as 08:00.
 
 Alguma recomendação de software ou algo parecido?
 
 Rodrigo



 

Re: [oracle_br] Usando UNION e UNION ALL Performance da consulta

2013-06-20 Por tôpico Alessandro Lúcio Cordeiro da Silva
sim.
   O Union all simplemente juntas as tabelas; ao passo que o UNION faz um 
distintc da união das tabelas.

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Flaviano Maia flavianom...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 20 de Junho de 2013 8:27
Assunto: [oracle_br] Usando UNION e UNION ALL Performance da consulta
 


  
Olá, colegas.

Desculpe se a pergunta é básica, há grande diferença de performance entre
usar UNION ou UNION ALL numa consulta ?

abraço.

-- 
*A vida é um instante entre duas eternidades.**
Flaviano de Figueiredo Maia
*

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Erro com privilégios insuficientes

2013-06-13 Por tôpico Alessandro Lúcio Cordeiro da Silva
Se o contexto é criado (não padrão Oracle) ele deve sempre obrigatoria ser 
executado dentro do pacote, qualquer tentativa fora do pacote ocorrerá este 
erro.


Exemplo:
-- CRIAR UM CONTEXTO PARA EXECUTAR DENTRO DO PACOTE IUNIEMPRESA

CREATE CONTEXT FILTRO_EMPRESA USING PRODUCAO.iuni_multi_empresa;

-- Então somente o pacote PRODUCAO.iuni_multi_empresa pode executar o comando 
abaixo:

então dbms_session.set_context('FILTRO_EMPRESA','IUNIEMPRESA',p_codempresa);


    Qualquer tentativa de acessar fora o pacote ocorre erro; vale lembrar 
tambem que se o contexto não foi criado tambem daria o erro de privilegio




 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/

 



 De: Wanderson Barrence wbarre...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 13 de Junho de 2013 16:53
Assunto: [oracle_br] Erro com privilégios insuficientes
 


  
Olá Pessoal,

Estou tentando executar o pacote sys.dbms_session.set_context, mas só está
dando erro ORA-01031: Privilégios insuficientes e ORA-06512, eu já concedi
privilégios, mas o erro ainda persiste:
grant execute on sys.dbms_session to producao;

Ambiente:
SO: RHEL 6.2
BD: Oracle 11g E.E (11.2.0.3)

Att,
--
*Wanderson Barrence | Analista de Banco de Dados*
*DBA Oracle 10g/11g - Microsoft SQL-Server 2008*
*MBA - Administração de Banco de Dados*
*CBTS - Certificação Brasileira de Teste de Software*
--
*Skype*: wbarrence
*Facebook*:http://www.facebook.com/wbarrence
*Linkedin*: http://br.linkedin.com/in/wbarrence

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] erro export RMAN servidores diferentes

2013-05-28 Por tôpico Alessandro Lúcio Cordeiro da Silva
    Paulo, por padrão, no Windows o serviço Oracle roda
com privilégios de usuário administrador da maquina local, com isso qualquer
tentativa de backup e/ou Arquivamento do LOG fora da maquina local,
ocasionará erro de privilégios. 

    No caso, a solução é ir no Serviço Oracle e do Listener altere
o Log On de Conta Local para uma conta de Rede.

    Eu comento isso em um artigo que escrevi no meu blog 
http://alecordeirosilva.blogspot.com.br/2012/02/backup-recovery.html, caso 
tenha interrese mostro como realizar backup em disco compartilhado em Rede e 
ainda restaurar em uma outra maquina este backup;


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
http://alecordeirosilva.blogspot.com/



 De: Paulo Couto paulopcto2...@yahoo.com.br
Para: oracle...@yahoogroups.com oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 28 de Maio de 2013 15:51
Assunto: [oracle_br] erro export RMAN servidores diferentes
 


  
Boa tarde,

Amigos, eu utilizo o oracle 10.2 STD em win 2003 EE, e estou com um problema 
para gerar um backup
via RMAN do host A para o host B.

Os dois hosts tem configuração similar a nivel de SO, o host B não tem banco 
instalado.

Quando tento executar o rman retorna um erro:

ORA-01278: error creating file '\\STADELIA39\BACKUP\CONTROL.SQL'
ORA-27300: OS system dependent operation:open failed failed with status: 13
ORA-27301: OS failure message: The data is invalid.

Pelo que já li na internet, trata-se de permissão de acesso, mas estou usando o 
mesmo login local
com mesma senha e está no grupo de administradores locais, e mesmo assim o erro 
ocorre.

Gostaria de saber se existe alguma solução para que o RMAN consiga gravar os 
files de backup
em outro host.

Att,

Paulo.

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



[oracle_br] Organização dos Objetos

2013-03-19 Por tôpico Alessandro Lúcio Cordeiro da Silva
    
  Bom dia Senhores,

  A empresa proprietaria do Software ao criar os objetos colocou tudo no 
esquema SYSTEM. É possivel saber exatamente quais objetos foi o Oracle que 
criou e quais objetos foram criados para o Software? Pois pretendo criar um 
esquema especifico para estes objetos.


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Organização dos Objetos

2013-03-19 Por tôpico Alessandro Lúcio Cordeiro da Silva
    Cheguei em pensar nisso, mas o Oracle criar outros objetos em uso normal do 
banco SYS_IMPORT_SCHEMA_XX e o sistema também cria novos objetos dependendo dos 
recursos ativados.


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 19 de Março de 2013 10:37
Assunto: Re: [oracle_br] Organização dos Objetos
 
Que tal pela Data de criação dos objetos?




2013/3/19 Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br

 **



   Bom dia Senhores,

   A empresa proprietaria do Software ao criar os objetos colocou tudo no
 esquema SYSTEM. É possivel saber exatamente quais objetos foi o Oracle que
 criou e quais objetos foram criados para o Software? Pois pretendo criar um
 esquema especifico para estes objetos.


 Alessandro Lúcio Cordeiro da Silva
         Analista de Sistema
 þ http://alecordeirosilva.blogspot.com/
 O tic-tac do relógio me lembra de algo muito importante que esta
 acontecendo: estamos vivos.
                                 Joana de Souza Schmitz Croxato

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

[As partes desta mensagem que não continham texto foram removidas]



[oracle_br] Criação de Sessão Automatico

2013-02-25 Por tôpico Alessandro Lúcio Cordeiro da Silva
    Olá Senhores,

  Em Oracle 11.2.0.3.0 em ambiente Rac estamos com um caso muito estranho. Ao 
realizar um Select em uma determinada tabela com ROWID o oracle cria 
automaticamente umas 120 sessões.

  Segue:

   Em uma sessão do SQLPLUS, para o meu usuario tem 5 sessões

SQL select count(*) from gv$session where username = 'ALESSANDROL';
  COUNT(*)
--
 5
  Abro uma nova sessão e realizaro uma consulta com ROWID

SQL select a.*, rowid from trancaix a;
  ;..

  Volto para Sessão anterior e realiza
SQL select count(*) from gv$session where username = 'ALESSANDROL';
  COUNT(*)
--
   134

Alguem já viu isso? O problema é que o sistema faz este SQL, e se uns 5 
usuarios abrir o modulo caixa o banco começa a ficar lento, pois acaba tento 
mais de 600 Sessões com apenas 5 usuarios logado. 


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato

[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [oracle_br] Crescimento absurdo do Banco

2013-02-21 Por tôpico Alessandro Lúcio Cordeiro da Silva
Ola Emerson,

    Qual a versão do seu banco de dados? Vale lembrar que no Oracle 11g tem 
varias auditorias habilitadas por padrão, e claro que isso tem o custo de 
consumir espaço do Banco de Dados.

 Se o crescimento for nas TableSpace, bem provavel que seja algo com 
auditoria.

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Márcio - Grupos Oracle marcio_...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 20 de Fevereiro de 2013 16:16
Assunto: RES: [oracle_br] Crescimento absurdo do Banco
 

  
Faça também um acompanhamento detalhado do crescimento das tablespaces. Aqui
eu monitoro o crescimento das tablespaces e como já conheço a forma que cada
aplicativo trabalho, já sei o quanto cada um cresce e já peço disco para a
equipe de infra. Caso cresça algo fora do normal, comunico o fornecedor pra
ver o que pode ter ocorrido pra ter esse crescimento fora do normal.

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
nome de Milton Bastos Henriquis Jr.
Enviada em: Wednesday, 20 de February de 2013 17:11
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Crescimento absurdo do Banco

Emerson, veja o quanto antes qual o tamanho atual da base e fale pra gente.

Pelo visto vc não tem o tamanho dos dias anteriores, né?
Semana passada, por exemplo.

Então, como o que já passou já passou, pegue o tamanho de AGORA,
e vai tirando esse tamanho novamente amanhã, depois, semana que vem, etc...
Assim vc descobre quanto que tá crescendo por dia.

2013/2/20 Emerson Martins emersonmarti...@gmail.com


 Marcio!

 Esse banco não estar em modo archivelog. E essa questão do backup fica em
 uma partição separada.

 Emerson Martins
 DBA Jr


 Em 20 de fevereiro de 2013 16:06, Márcio - Grupos Oracle 
 marcio_...@yahoo.com.br  escreveu:

  **
 
 
  Emerson, o seu banco está com o Archivelog ativado? Se sim, você tem
 alguma
  rotina de backup dos archives e limpeza do disco onde ele está? O que eu
  vejo um crescimento grande seria o archive, com algum aplicativo
 executando
  muitas transações.
 
  De: oracle_br@yahoogrupos.com.br 
[mailto:oracle_br@yahoogrupos.com.br 
]
 Em
  nome de Emerson Martins
  Enviada em: Wednesday, 20 de February de 2013 14:53
  Para: oracle_br@yahoogrupos.com.br

  Assunto: [oracle_br] Crescimento absurdo do Banco
 
 
  Pessoal.
 
  Estou com um crescimento absurdo de um banco de dados aqui na empresa.Do
  nada eu fico sem espaço..No momento estou apenas 7 GB de Espaço nesse
  server..E nos meus calculos..O Banco nao cresceu tanto assim não..
 
  Alguém pode me dar uma luz do que pode ser..? Estou precisando calcular
a
  volumetria..desse banco
 
  Ambiente:
 
  Windows Server 2008 R2
  HD 278 GB
  Oracle Standard One.
 
  Atenciosamente,
 
  Emerson Martins
  DBA Jr
 
  [As partes desta mensagem que não continham texto foram removidas]
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 


 [As partes desta mensagem que não continham texto foram removidas]



 


 --
 Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
 inteira responsabilidade de seus remetentes.
 Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

 --
 Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
 Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
ESPAÇO!
 VISITE: http://www.oraclebr.com.br/
 --
 Links do Yahoo! Grupos




[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



[oracle_br] Proteger usuarios com super privilegios.

2013-02-18 Por tôpico Alessandro Lúcio Cordeiro da Silva


    Bom dia Senhores,

    Existe uma situação que gostaria de ver o que vocês acham melhor. Na 
empresa existe vários usuarios que são do suporte/Help-desk de sistema, e estes 
usuarios tem o privilegio de alterar as senhas dos usuarios. Mas como proteger 
os usuarios com super privilegios no banco de dados?

    Veja o caso abaixo.


 C:\sqlplus /nolog

SQL*Plus: Release 11.2.0.2.0 Production on Seg Fev 18 08:56:44 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL connect system@xe
Conectado.
SQL create user analista_suporte identified by senha;

Usuário criado.

SQL grant connect, resource to analista_suporte;

Concessão bem-sucedida.

SQL grant alter user to analista_suporte;

Concessão bem-sucedida.

SQL exit
Desconectado de Oracle Database 11g Express Edition Release 11.2.0.2.0 - 
Production

C:\sqlplus /nolog

SQL*Plus: Release 11.2.0.2.0 Production on Seg Fev 18 08:58:25 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL connect analista_suporte@xe
Informe a senha:
Conectado.
SQL alter user system identified by senha;

Usuário alterado.

SQL alter user sys identified by senha;

Usuário alterado.


   A unica maneira que pensei foi criar uma Trigger DDL provocanco erro se um 
determinado usuario tentar mudar a senha de super usuario e/ou DBA's. Alguem  
tem alguma outra solução, de preferencia nativa do Oracle já no controle de 
acesso de GRANT/REVOKE.



Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Re: Proteger usuarios com super privilegios.

2013-02-18 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Chiappa,

    Foi o que imaginei, não existe nenhum controle nativo do Oracle para 
proteger os super usuarios. Pois li o livro Oracle Database 11g DBA Handbook de 
McGraw Hill no capitulo 9 Database Security and Auditing e não menciona nada 
parecido.

   Mas muito obrigado, pela dica de procudure que troca a senha, é mais uma 
opção de posso analisar alem da trigger DDL. 


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Segunda-feira, 18 de Fevereiro de 2013 12:19
Assunto: [oracle_br] Re: Proteger usuarios com super privilegios.
 

  
Colega, o RDBMS está fazendo ** EXATAMENTE ** o que vc mandou : como 
documentado no manual Oracle® Database SQL Language Reference 11g (na entrada 
sobre GRANT) o privilégio ALTER USER spermite que o recebedor altere QUALQUER 
USUÁRIO, inclusive DBAs, SEM EXCEÇÃO... SE vc não quer que os sujeitos alterem 
QUALQUER UM, simplesmente NÂO CONCEDA ESSE PRIVILÉGIO, okdoc ? É o mesmo caso 
que os privilégio ANY : os objetos permitidos/acessibilizados por um ANY são 
TODOS, sem exceção - Não Existe a figura do operador EXCEPT num GRANT para se 
estabelecer exceções a um privilégio no RDBMS Oracle...
Sendo assim, a técnica mais comum é o usuário SYSDBA (que normalmente possue, 
ou pode se autorgar,  privilégios todos) criar uma PROCEDURE que faça a 
operação desejada (o ALTER USER no caso - provavelmente o nome do usuário é 
passado como argumento), MAS que também :
- critique a entrada
E
- faça uma AUDITORIA, gravando/registrando em algum lugar a alteração

aó o DBA ao invés de GRANT ALTER USER vai dar um GRANT EXECUTE nomedaprocedure 
TO usuarioanalistadesuporte;

[]s

Chiappa


--- Em oracle_br@yahoogrupos.com.br, Alessandro Lúcio Cordeiro da Silva  
escreveu

 
 
     Bom dia Senhores,
 
     Existe uma situação que gostaria de ver o que vocês acham melhor. Na 
 empresa existe vários usuarios que são do suporte/Help-desk de sistema, e 
 estes usuarios tem o privilegio de alterar as senhas dos usuarios. Mas como 
 proteger os usuarios com super privilegios no banco de dados?
 
     Veja o caso abaixo.
 
 
  C:\sqlplus /nolog
 
 SQL*Plus: Release 11.2.0.2.0 Production on Seg Fev 18 08:56:44 2013
 
 Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 
 SQL connect system@xe
 Conectado.
 SQL create user analista_suporte identified by senha;
 
 Usuário criado.
 
 SQL grant connect, resource to analista_suporte;
 
 Concessão bem-sucedida.
 
 SQL grant alter user to analista_suporte;
 
 Concessão bem-sucedida.
 
 SQL exit
 Desconectado de Oracle Database 11g Express Edition Release 11.2.0.2.0 - 
 Production
 
 C:\sqlplus /nolog
 
 SQL*Plus: Release 11.2.0.2.0 Production on Seg Fev 18 08:58:25 2013
 
 Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 
 SQL connect analista_suporte@xe
 Informe a senha:
 Conectado.
 SQL alter user system identified by senha;
 
 Usuário alterado.
 
 SQL alter user sys identified by senha;
 
 Usuário alterado.
 
 
    A unica maneira que pensei foi criar uma Trigger DDL provocanco erro se um 
 determinado usuario tentar mudar a senha de super usuario e/ou DBA's. Alguem  
 tem alguma outra solução, de preferencia nativa do Oracle já no controle de 
 acesso de GRANT/REVOKE.
 
 
 
 Alessandro Lúcio Cordeiro da Silva 
     Analista de Sistema
 þ http://alecordeirosilva.blogspot.com/
 O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
 estamos vivos.
     Joana de Souza Schmitz Croxato
 
 [As partes desta mensagem que não continham texto foram removidas]



 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Duvida

2012-12-28 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Ygor,

   certamente o que você deseja não é um comportamente padrão do Banco de Dados.

   É sim possivel fazer o que você deseja, mas algumas coisas você mesmo terá 
que tratar.

   Primeiramente você deve criar duas procedures de Transações ATomica , uma 
com o primeiro Insert e outra com as demais tabelas Filhas. Ocorre quando a 
segunda transação atomica for chamada, somente enxergará os dados commitados da 
primeira procedure. Logicamente se a primeira procedure não der o commit 
ocorrerá violação de Chave.

    Todavia como a primeira procedure já deu o commit, ocorre que se der erro 
na segunda é você que precisa tratar o Rollback da primeira transação, pois 
no que consiste na regra de banco de Dados esta tudo certo.


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Igor Alves igor.al...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 27 de Dezembro de 2012 9:28
Assunto: [oracle_br] Duvida
 

  
Ao executar um commit no banco de dados existe alguma forma de confirmar.

Por exemplo o desenvolvedor está executando no sistema uma sequencia de
insert. mas o segundo insert só pode ser realizado após o primeiro ter
efetuado o commit. A duvida é se existe alguma forma de fazer essa
validação.(um retorno booleano ou algo do tipo). Pois a PK da tabela
envolvida no primeiro insert é FK nas outras tabelas.

Ambiente:
Banco:Oracle 10G
Linguagem usada pelo desenvolvedor:Java.

Igor Alves
System Analyst / DBA - EBIX
Cientista da Computação pela Faculdade Ruy Barbosa - FRB
Especialista em Banco de Dados com Ênfase em Alta Disponibilidade - UNIFACS
Tel: (11) 95192-7114(TIM) / (71) 9234-4791(TIM)
Currículo: http://www.softwarecurriculo.com.br/igoralves
Linkedin:http://br.linkedin.com/in/igoralves

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Re: redo logs

2012-11-01 Por tôpico Alessandro Lúcio Cordeiro da Silva
Bom dia Yuri,

  O Oracle pode ter varias destinos dos archivelos (se não me engano 9) eu 
sempre faço destino em 2 lugares, um em algum caminho  da maquina local e outro 
para uma maquina remota e ativo o parametro LOG_ARCHIVE_MIN_SUCCED_DEST   
especificar que apenas um destino de archive for arquivado com exito 
antes de reciclar  o Redo Log , pois o destino 
pode estar indisponivel e então parar o Banco de Dados.

  Com isso se der algum problema na maquina (no servidor Oracle e mais todos os 
discos), posso instalar o Oracle em uma terceira maquina e fazer um Recover 
Incompleto 
voltando até o ultimo archive disponivel na maquina de Backup.

Detalhe, se seu Oracle roda em Windows, o serviço do Oracle no Windows executa 
com a Conta do Administrador da 
maquina local. Então em Serviço do Windows e Configurei o Log On do 
Serviço usar uma Conta do Dominio de Rede tanto o serviço do Oracle como do 
listener, e depois reiniciar o Banco. 
Com isso conseguira fazer Backup Apontando para o IP da maquina. Senão ocorrerá 
o erro de S.O   =   ora-27040   O/S-Error: (OS 5) Acess is denied. Isto é 
descrito na Nota 145843.1 “How to Configure RMAN to Write to Shared Drives on 
Windows NT/2000″.

Um exemplo de um backup multiplexdo feito na maquina local e remota

run { allocate channel discozero type disk format 
'D:\oracle\backup\Fisico\Nivel0\LEV0dat%u.bkp',
'\\192.168.100.4\bkp_banco\Fisico\Nivel0\LEV0dat%u.bkp';
  backup as compressed backupset copies 2 incremental level = 0 (database  
include current controlfile);
}



 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Yuri Menon yuri.me...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 31 de Outubro de 2012 22:58
Assunto: Re: [oracle_br] Re: redo logs
 

  
Tem alguma regra contra reviver tópicos?

Estou com mais uma dúvida e gostaria da opinião dos senhores.

Compreendi que meu backup físico pode ser feito uma vez por dia sem
problemas, no entanto é necessário ter uma atenção especial com os logs de
redo (tanto arquivado como online), certo? Pois bem, a respeito dos logs de
redo ONLINE o Alessandro disse que poderia até mutiplexá-los via rede (1
giga-lan) mas e a respeito dos ARCHIVED LOGS? O que vocês acham melhor?
Espelhar? Gerar diretamente em outra máquina?

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Re: redo logs

2012-11-01 Por tôpico Alessandro Lúcio Cordeiro da Silva


Hã, Yuri, so para concluir, os passos para colocar os archives multiplexados em 
dois destinos, um local e outro remoto. 


1-Conecte com SQL*Plus com usuário SYS com privilegio
de SYSDBA.

SQL connect / as sysdba

2-Sete dois diretório de destino. Note que é
necessário incluir uma barra no final do nome do diretório.

   SQL alter system set
log_archive_dest_1='location=C:\bck_oracle\Archive\' scope=spfile;
   SQL alter system set 
log_archive_dest_2='location=\\192.168.100.4\bkp_banco\Fisico\Archive\'
scope=spfile;


3-Depois desligue, inicie no modo mount, coloque no modo archive e abra
o banco.

SQL
shutdown immediate;SQL
startup mount;
SQL
alter database archivelog;
SQL alter database
open;


Para confirmar que o banco esta no modo ArchiveLog execute as query
abaixos:SQL
select log_mode from v$database;
SQL select archiver
from v$instance;


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Alessandro Lúcio Cordeiro da Silva alecordeirosi...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 1 de Novembro de 2012 5:56
Assunto: Re: [oracle_br] Re: redo logs
 

  
Bom dia Yuri,

  O Oracle pode ter varias destinos dos archivelos (se não me engano 9) eu 
sempre faço destino em 2 lugares, um em algum caminho  da maquina local e outro 
para uma maquina remota e ativo o parametro LOG_ARCHIVE_MIN_SUCCED_DEST   
especificar que apenas um destino de archive for arquivado com exito 
antes de reciclar  o Redo Log , pois o destino 
pode estar indisponivel e então parar o Banco de Dados.

  Com isso se der algum problema na maquina (no servidor Oracle e mais todos os 
discos), posso instalar o Oracle em uma terceira maquina e fazer um Recover 
Incompleto 
voltando até o ultimo archive disponivel na maquina de Backup.

Detalhe, se seu Oracle roda em Windows, o serviço do Oracle no Windows executa 
com a Conta do Administrador da 
maquina local. Então em Serviço do Windows e Configurei o Log On do 
Serviço usar uma Conta do Dominio de Rede tanto o serviço do Oracle como do 
listener, e depois reiniciar o Banco. 
Com isso conseguira fazer Backup Apontando para o IP da maquina. Senão ocorrerá 
o erro de S.O   =   ora-27040   O/S-Error: (OS 5) Acess is denied. Isto é 
descrito na Nota 145843.1 “How to Configure RMAN to Write to Shared Drives on 
Windows NT/2000″.

Um exemplo de um backup multiplexdo feito na maquina local e remota

run { allocate channel discozero type disk format 
'D:\oracle\backup\Fisico\Nivel0\LEV0dat%u.bkp',
'\\192.168.100.4\bkp_banco\Fisico\Nivel0\LEV0dat%u.bkp';
  backup as compressed backupset copies 2 incremental level = 0 (database  
include current controlfile);
}

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 


De: Yuri Menon yuri.me...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 31 de Outubro de 2012 22:58
Assunto: Re: [oracle_br] Re: redo logs


  
Tem alguma regra contra reviver tópicos?

Estou com mais uma dúvida e gostaria da opinião dos senhores.

Compreendi que meu backup físico pode ser feito uma vez por dia sem
problemas, no entanto é necessário ter uma atenção especial com os logs de
redo (tanto arquivado como online), certo? Pois bem, a respeito dos logs de
redo ONLINE o Alessandro disse que poderia até mutiplexá-los via rede (1
giga-lan) mas e a respeito dos ARCHIVED LOGS? O que vocês acham melhor?
Espelhar? Gerar diretamente em outra máquina?

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Re: Erro BDLINK e o erro Ora-12560

2012-10-25 Por tôpico Alessandro Lúcio Cordeiro da Silva
 Olá Chiappa,

  A sua primeira possibilidade, quase matou a charada. Mas me deu um norte de 
como encontrar o problema.

  O Alias do Banco era um e o SID era outro.

BDPROD =
  (DESCRIPTION =
    (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.19.0.4)(PORT = 1521))
    )
    (CONNECT_DATA =
  (SID = BDUNIAC )
    )
  )

Então inclui o parametro Global Name no TnsName

BDPROD  =
  (DESCRIPTION =
    (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.19.0.4)(PORT = 1521))
    )
    (CONNECT_DATA =
  (SID = BDUNIAC ) (GLOBAL_NAME = BDPROD.com.br)
    )
  )

Depois executei o comando abaixo:

ALTER DATABASE RENAME GLOBAL_NAME TO BDPROD.COM.BR;

Então 
SQL select * from dual@bdprod

D
-
X

Muito Obrigado! 


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 24 de Outubro de 2012 16:11
Assunto: [oracle_br] Re: Erro  BDLINK  e o erro Ora-12560
 

  
Bom, é meio Estranho vc ter um dblink apontando não para um banco remoto mas 
para ele mesmo, mas é possível : o dblink Nada Mais é do que uma conexão, e vc 
pode criar uma conexão a mais num dado banco havendo permissão e recursos para 
isso
Algumas possibilidades que me ocorrem para que a conexão não seja criada :

a) o parâmetro GLOBAL_NAMES está como TRUE, o que Exige que o nome do database 
link seja idêntico ao nome global

e/ou

b) se é 11g, talvez a senha informada na criação do database link NÃo respeite 
maiúsc/minusc - lembre-se que no 11g a password por default é case-sensitive

e/ou 

c) há limites na qtdade de links abertos (parâmetros open_links_xxx) E na 
quantidade de processos/sessões que a instância pode criar, veja lá se vc não 
está caindo em nenhum deles 

e/ou

d) dado o fato de que a string que vc informa na cláusula USING *** não é *** o 
NOME do database destino, mas sim uma Entrada no TNSNAMES.ORA do servidor do 
banco-origem, talvez haja qquer misconfig nele ou no correlato SQLNET.ORA : 
nome do serviço, porta de conexão, domain não informado ou informado 
erradamente, etc, etc... RECHEQUE se ambos os arquivos estão OK no banco de 
origem, se o LISTENER está up e com o serviço citado Registrado

=== o meu exemplo, na minha máquina de teste Windows 7 Ultimate, com banco 
11gr2 EE :

- configs de conexão OK (serviço registrado no listener, tnsnames e sqlnet ok, 
etc) :

C:\Users\jchiappaecho %ORACLE_HOME%
C:\oracle\product\11.2.0\dbhome_11.2.0.3

C:\Users\jchiappaecho %PATH%
C:\oracle\product\11.2.0\dbhome_11.2.0.3\BIN;C:\oracle\product\product\11.2.0\grid\BIN;C:\Dev10gR2\jdk\jre\bin\classic;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell

C:\Users\jchiappatype %ORACLE_HOME%\network\admin\sqlnet.ora
# sqlnet.ora Network Configuration File: 
C:\oracle\product\11.2.0\dbhome_11.2.0.3\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install Software Only, this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

C:\Users\jchiappatype %ORACLE_HOME%\network\admin\tnsnames.ora
# tnsnames.ora Network Configuration File: 
C:\oracle\product\11.2.0\dbhome_11.2.0.3\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

O11GR2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = meupcteste)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = o11gr2)
)
)

RMANCAT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = meupcteste)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RMANCAT)
)
)

C:\Users\jchiappalsnrctl status

..
Resumo de Serviþos...
O serviþo o11gr2 tem 1 instÔncia(s).
InstÔncia o11gr2, status READY, tem 1 handler(s) para este serviþo...
O serviþo o11gr2XDB tem 1 instÔncia(s).
InstÔncia o11gr2, status READY, tem 1 handler(s) para este serviþo...
O comando foi executado com Ûxito

- entrada no tnsnames pinga ok :

C:\Users\jchiappa
C:\Users\jchiappatnsping o11gr2



Usado o adaptador TNSNAMES para resolver o apelido
Tentativa de contatar (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 
meupcteste)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 
o11gr2)))
OK (10 ms)

- param de global name está Falso, case respeitado na senha, db link criado  
usado normal :

NAME TYPEVALUE
 --- --
global_context_pool_size string
global_names boolean FALSE

Re: [oracle_br] redo logs

2012-10-03 Por tôpico Alessandro Lúcio Cordeiro da Silva
    Bom dia Yuri,

   Se você não tem os redo logs on-line disponivel,  sua opção é o Recover 
Incompleto.

  No Livro Oracle Database_10g OCP Certification All in One ExamGuide;  
capitulo 27 Incomplete Database Recovery diz:

  Complete recovery should never fail because of missing archive or online 
log files.
        Both file types can and should be multiplexed to different devices, 
making their total
    loss impossible, but it can happen. If so, incomplete recovery up to 
the point at which
    the missing or damaged redo data is needed is your only option.

    EXAM TIP Incomplete recovery is necessary if there is a missing archive 
log,
        or if all copies of the current online redo log are missing.

      ..:: Mas::.. as 
coisas não são tão simples assim, a partir do Oracle 9i o Oracle pode 
ser configurado para não ter perdas. Pode-se criar Data-Guarda com Modo 
Maximum Protection. Contudo tudo tem seu custo, e você deve expor a segurança 
X custo 
para os gerentes da empresas decidam o que fazer, e faça o que foi acordado, 
Você não sera mandado embora por fazer o que foi acordado!
    
   Em geral perde-se o redo logs on-line quando se faz a instalação padrão 
(MALDITO NEXT, NEXT, FINISH), pois o Oracle por padrão cria todos os membros no 
mesmo disco. No Manual do DBA Bob Bryla diz:

    CAUTION
    You should never, ever, want or need to back up online redo log files.
    Although there is a slight time-savings for restoring from a cold backup
    after a clean shutdown, the risk of losing committed transactions
    outweighs the convenience. Your online redo logs should be mirrored
    and multiplexed so that you (virtually) never will lose the current
    online log file.

    Ou seja seu LogFile devem estar espelhado (em Raid) e Multiplexado assim 
virtualmente nunca perderá o logFile Corrente.

    *  Se você tiver uma tiver uma rede de giga-bit privada de alta 
confiabilidade porque não multiplexar o LogFile ate mesmo em outra maquina?
   

Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Yuri Menon yuri.me...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 2 de Outubro de 2012 19:35
Assunto: [oracle_br] redo logs
 

  
Estou com uma dúvida e gostaria da resposta dos senhores (quem tiver
preguiça de ler pode ir direto para o último parágrafo).

1- Supondo um BD em Archive MODE.
2- Tenho um cold backup íntegro deste BD (de 1 semana atrás).
3- Ocorre um desastre no servidor de banco, perdendo todos os dados,
restaram apenas os archives junto com o cold backup que foram feito em um
outro servidor.
4- O desastre ocorreu as 10:00, quando o banco estava em seu maior pico de
transações.

Minha dúvida é a seguinte:
-A recuperação dos dados não vai ser 100%, pois não vou conseguir recuperar
as informações que estavam dentro dos redo logs, informações que ainda
não haviam sido despejadas nos archive logs, é isso mesmo?

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Índices em todas as FK's de todas as tabelas

2012-09-28 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Wanderson, o Oracle somente obriga a criação de indices em 
Chave Primaria e/ou Chave Unicas. Não é necessário a criação de indices 
para chaves estrangerias.
 
  Contudo, sempre é bom criar indices para FK, mas tabelas mais usada no 
sistema, por dois motivos:
 
  1- Para melhorar performace em consultas que fazer JOIN entre as tabelas em 
questão.
  2 - Para Evitar algun LOCK em tabela: Por exemplo o Lock Enqueue - TM  - 
index Foreign Keys, Check application locking of tables mencionado no 
Livro - Oracle DataBase 10G Performance Tuning Tips  Techniques

    Trecho do Capiturlo 14: Using STATSPACK and the AWR Report to Tune Waits 
and Latches; no Topico Enqueue:

When users want to change the exact same record in a block, a TX6 lock is 
the result. Lastly, while you no longer get TM locks, which are 
table locks
when you don’t index foreign keys, be sure to still index them to avoid a 
performance issue


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Wanderson Barrence wbarre...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Sexta-feira, 28 de Setembro de 2012 12:29
Assunto: [oracle_br] Índices em todas as FK's de todas as tabelas
 

  
Olá Pessoal,

É necessário que todas as tabelas que tenham FK's tenham também índices
nessas  FK's?

At,
--
Wanderson Barrence
DBA Oracle 10g/11g
Analista de Testes - CBTS
--
MSN: wbarre...@hotmail.com
ICQ: 170821994
Linkedin: http://br.linkedin.com/in/wbarrence

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Ajuda em performance urgentemente

2012-09-12 Por tôpico Alessandro Lúcio Cordeiro da Silva

  Bom dia Jales,a um tempo atras respondi isso para outro membro do Grupo, 
segue a resposta, ve se te ajuda.


--

Bom dia Igor,
 
   Uma forma direta de saber a razão do lock é monitorar os eventos de espera. 
Para isto consulte a coluna EVENT da tabela V$session.
 
Todo caso, algum tempo atraz aqui na empresa acontecia o mesmo problema, 
ninguem consegui inserir dados em uma determinada tabela. Ao monitorar a 
sessão, o evento que ocorria era enq: TX - allocate ITL entry.
 
 Consultando o Evento que causou o LOCK no livro “Oracle-DataBase-10g 
Performance tuning tips-techniques” temos a seguinte informação deste evento:
This  enq: TX - allocate ITL entry ” indicates error is seem when too many 
concurrent DML transactions are competing for the same data block.
Ou seja muitas transações abertas disputando o mesmo bloco de dados Oracle.
 
O Oracle gerencia até 255 transações disputando o mesmo bloco de dados,
 
 Um bloco de dados Oracle pode ter somente linhas proveniente somente de 
uma tabela ou índices. Se você tiver um objeto pequeno, é 
perfeitamente possível ter mais de 250 linhas deste objeto sobre o mesmo bloco 
em transação. No meu caso este objeto pequeno é o index no campo chave da 
tabela. 
 
No Livro Manual do DBA Oracle 10g - Capitulo 5 é discutido as possiveis 
soluções, como aumentar o pctfree, mas não acho ideal, pois acaba 
gastando mais espaço , a melhor solução foi usar Reverse Key 
Indexes, com isto cada indice incluido poderia usar bloco diferente.
 
Se este for o seu caso, segue o link de um artigo que explica melhor isto.
 
http://oracletoday.blogspot.com/2006/09/there-is-option-to-create-index.html  


 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Jales Jose Moraes malphig...@yahoo.com.br
Para: grupo_oracle oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 12 de Setembro de 2012 7:37
Assunto: [oracle_br] Ajuda em performance urgentemente
 

  
Pessoal existe uma aplicação em que está causando lock's e deixando outras 
sessões em lock's indefinidamente. O desenvolvedor alega que é apenas um insert 
e logo em seguida efetua o commit, mas o fato é que está tudo parado com vários 
lock's.
 
Alguém tem uma sugestão de como podemos proceder para a resolução do problema?
 
Oracle 11g Rac...

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Restore RMAN (base teste)

2012-09-12 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Daniel,

   Seguinte, se você fez backup quente, não tem como fazer o rman esquecer os 
archives, pois os seus backup é inconsistente.

   Mas os erros abaixo me chama a atenção :

   
Linux-x86_64 Error: 2: No such file or directory
RMAN-20506: no backup of archived log found

  1) O Oracle vai procurar os archivelos Log's no direitorio onde esta setado o 
parametro log_archive_dest_N, este diretorio existe no servidor de teste?
Se sim, você precisa copiar seus archives para este diretorio, OU se seus 
archive de producao estiver em algum lugar da Rede acessivel altere esse 
parametro para o lugar da rede.



 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Daniel Mello djnme...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 12 de Setembro de 2012 14:57
Assunto: Re: [oracle_br] Restore RMAN (base teste)
 

  
Milton, executando um recover simples o RMAN dá falta de alguns archives, não 
posso simplesmente fazer com que ele esqueça esses caras? veja abaixo:

RMAN recover database;

Starting recover at 12-SEP-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=396 device type=DISK

starting media recovery

channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=5561
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=5562
channel ORA_DISK_1: reading from backup piece 
/backup/rman/archivelog/for_arch_2tnksugo_1_1
channel ORA_DISK_1: ORA-19870: error while restoring backup piece 
/backup/rman/archivelog/for_arch_2tnksugo_1_1
ORA-19505: failed to identify file 
/backup/rman/archivelog/for_arch_2tnksugo_1_1
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

failover to previous backup
RMAN-00571: ===
RMAN-00569: === ERROR MESSAGE STACK FOLLOWS ===
RMAN-00571: ===
RMAN-03002: failure of recover command at 09/12/2012 13:20:13
RMAN-20506: no backup of archived log found
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of archived log for thread 1 with sequence 5562 and 
starting SCN of 1894548322 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 5561 and 
starting SCN of 1894548166 found to restore

De: Milton Bastos Henriquis Jr. miltonbas...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 12 de Setembro de 2012 15:48
Assunto: Re: [oracle_br] Restore RMAN (base teste)

Olá Daniel!

Cara, não tenho certeza absoluta do que estou falando, até por falta de
informações que vc não passou,
mas vou dar um PALPITE.

Por essa mensagem de erro eu tenho a seguinte impressão:

- Vc restaurou a base, e os datafiles que vc restaurou foram backupeados
DEPOIS
da sequence 5554 que vc definiu.

Ou seja, pra vc restaurar um backup para esse ponto específico, vc teria que
restaurar um backup de ANTES desse ponto, e daí sim ir aplicando os archives
até chegar a este ponto.

Não é possível vc restaurar um backup depois deste ponto, ou seja, um backup
mais novo, e daí mandar ele voltar pra trás. Isso não é possível!

2012/9/12 Daniel Mello djnme...@yahoo.com.br

 **


 Boa tarde pessoal.

   Estou montando um ambiente de testes a partir de uma base de produção em
 modo archivelog.
   Tenho um backup rman feito em hot.
   Já restaurei a base, setei os novos nomes/caminhos dos datafiles, tudo
 correu certo. Mas estou com problemas com o erro abaixo:

 RMAN Recover Database Until Sequence 5554;

 Starting recover at 12-SEP-12
 using channel ORA_DISK_1
 RMAN-00571: ===
 RMAN-00569: === ERROR MESSAGE STACK FOLLOWS ===
 RMAN-00571: ===
 RMAN-03002: failure of recover command at 09/12/2012 13:12:13
 RMAN-06556: datafile 1 must be restored from backup older than SCN
 1894535465

 Estou tentando fazer o recover até a ultima sequencia que tenho, pois essa
 base de testes não ficará em modo archivelog, mas já tentei de todas as
 formas e não vai.

 Oracle 11g

 Muito obrigado.

 Daniel.

 [As partes desta mensagem que não continham texto foram removidas]

  


-- 
Att,

[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus

Re: [oracle_br] Os índices do banco de dados devem ficar numa tablespace específica?

2012-09-06 Por tôpico Alessandro Lúcio Cordeiro da Silva


    Pra mim, chega de tablespace separada entre dados e indices, não faz 
sentido. Muitas pessoas dizem de acesso concorrente entre dados e indices, 
mas não existe isso. No Select você primeiro acesso o indices de depois a 
tabela, no DML o Oracle acessa primeiro a tabela e depois o indices. E num 
ambiente multi usuario, tudo é acesso concorrente. Também ouve muito que se 
você perder a tablespace indices só preciso recriar os indices. Se você perder 
a tablespace indices  o seu sistema esta indisponivel, não é mais 1980. Se você 
perdeu o indices não funciona mais nada.

   Aumentando a discursão, chega de datafiles de 2 e/ou 4 giga, ja estamos no 
seculo 21. Pode criar o DataFile de 32 Giga (o tamanho maximo dos datafiles em 
SmallFile) o ambiente suporta. Então criar uma tablespace data, joga tudo la 
dentro e esta otimo. Vai estar tudo dentro Storage que vai estar particinado.


Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: Wanderson Barrence wbarre...@gmail.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 6 de Setembro de 2012 14:19
Assunto: [oracle_br] Os índices do banco de dados devem ficar numa tablespace 
específica?
 

  
Olá Pessoal,

Gostaria de saber se é interessante manter os índices do banco de dados
numa tablespace específica (TBS_INDEX)?

Se sim, quais são as vantagens?

Caso contrário, quais são as desvantagens?

Att,

--
Wanderson Barrence
DBA Oracle 10g/11g
Analista de Testes - CBTS
--
MSN: wbarre...@hotmail.com
ICQ: 170821994
Linkedin: http://br.linkedin.com/in/wbarrence

[As partes desta mensagem que não continham texto foram removidas]


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Re: Modos de recuperação RMAN

2012-08-15 Por tôpico Alessandro Lúcio Cordeiro da Silva
   Olá

  Olha uma coisa que acho muito importante é simular que os todos os discos (ou 
ate mesmo a maquina) onde esta instalado o Oracle dá pau e então vc com os 
backup's fazer a recuperação/restauração em outro servidor.

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 15 de Agosto de 2012 14:19
Assunto: [oracle_br] Re: Modos de recuperação RMAN
 

  
Eu incluiria :

1. recuperação de corrupt blocks via RMAN, 
http://sysdba.wordpress.com/2006/04/05/how-to-check-for-and-repair-block-corruption-with-rman-in-oracle-9i-and-oracle-10g/
 é um exemplo, que inclui conceitos e comandos, e é uma funcionalidade que 
muita gente esquece

2. recuperação via 11g Guaranteed Restore Points : 
http://easyoradba.com/2012/05/11/guaranteed-restore-points-oracle-11g/ tem os 
conceitos e um exemplinho, é também um ponto muito interessante mas que o 
pessoal às vezes esquece - garantia de pontuação extra, se o seu professor for 
justo

[]s

Chiappa

OBS : também tentando ser original e ganhar mais pontos, eu Tentaria fazer um 
dos cenários incluindo Incremental backup, que aí implica num restore do último 
full, do Incremental e de archives, é bem real-life

--- Em oracle_br@yahoogrupos.com.br, raffaell.ti77 raffaell.ti77@... 
escreveu

 Boa tarde galera. Um professor meu da pós passou um trabalho para nós 
 colocarmos um plano de recuperação de vários tipos de perca de arquivos, 
 focando em erro de mídia, eu consegui fazer 8 tipos, me restam 2 ainda, 
 alguém pode ajudar? VOu mostrar o que já fiz:
 
 **Plano de Restore/Recovery:
 
 1- Recuperando um arquivo não crítico
 
 2 - Recuperando arquivo crítico
 
 3 - Recuperando um  Controlfile
 
 4 - Recuperando um arquivo de parâmetro dinâmico SPFILE
 
 5 - Recuperação de desastre
 
 6 - Recuperação incompleta usando o tempo como parâmetro.
 
 7 - Recuperação incompleta usando o SCN como parâmetro.
 
 8 - Recuperação incompleta usando a sequência de log como parâmetro.
 
 Eu simplifiquei, pois cada tópico desse exige uma explicação e o script a ser 
 executado pelo RMAN.
 
 Alguém poderia colocar mais 2 planos diferentes dos quais eu fiz e o script?



 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Re: DECODE/CASE

2012-08-07 Por tôpico Alessandro Lúcio Cordeiro da Silva
Olá Elcio

   Considerenado sendo NULL o valor da variavel, eu escreveria a Query assim :


select rc.cli_nome
  from crd.analise fb, crd.recusado rc 
 where fb.cpf_cgc = rc.cli_cpf_cgc 
   and ( rc.cli_nome LIKE '%', upper(v_nome) || '%' OR v_nome is null)
   and ( rc.cli_cpf  LIKE '%', upper(v_cpf)  || '%' OR v_cpf  is null)
 order by fb.data_inclusao desc
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 7 de Agosto de 2012 13:13
Assunto: [oracle_br] Re: DECODE/CASE
 

  
Élcio, tá meio confuso esse texto, mas SUPONDO que com em branco vc quis 
dizer NULL (são coisas diferentes uma variável e/ou coluna não-preenchida E uma 
com brancos) E QUE seja apenas as variáveis externas v_xx que possam conter 
NULLs (e não as colunas das tabelas) vc simplesmente tem que tratar os NULLs, 
pois como sabemos um NULL nunca é igual a nada, nunca é diferente de nada, NULL 
é um valor DESCONHECIDO, isso é a Base da lógica tri-valorada (Verdade, Falso 
ou NULO) no RDBMS Oracle  Outro ponto é o citado em 
http://www.oratechinfo.co.uk/nulls.html#null11 , de que o LIKE (óbvio) espera 
receber uma string com wild characters, portatnto VAI ignorar NULOs, NULLs não 
são iguais a uma string nunca 
Não dá pra saber à distância, mas me parece que vc está caindo nesssas falhas 
acima - uma tratativa possível é 'transformar' os NULLs em algum valor via NVL, 
tenta isso - abaixo um exemplo, NÃO o mais performático nem o melhor, mas 
apenas uma prova de conceito, e SEM usar DECODE ou CASE, já que não há 
necessidade deles em princípio ao que entendo  : 

SCOTT@O10GR2::SQLl
SCOTT@O10GR2::SQLselect e.deptno, d.dname, e.empno, e.ename from emp e, dept d
2   where e.deptno = d.deptno
3*and upper(e.ename) like upper( '%' || nvl(:v_ename, e.ename) || '%')

= vou criar a variável, que como toda variável se nada for indicado é criada 
como Vazia, NULA :

SCOTT@O10GR2::SQLvariable V_ENAME varchar2(40)
SCOTT@O10GR2::SQLprint v_ename

V_ENAME
--

SCOTT@O10GR2::SQL

== executo com a variável nula, o nvl bota o valor da coluna na string e 
portanto vem todo mundo :

DEPTNO DNAME   EMPNO ENAME
-- -- -- --
20 RESEARCH 7369 SMITH
30 SALES7499 ALLEN
30 SALES7521 WARD
20 RESEARCH 7566 JONES
30 SALES7654 MARTIN
30 SALES7698 BLAKE
10 ACCOUNTING   7782 CLARK
20 RESEARCH 7788 SCOTT
10 ACCOUNTING   7839 KING
30 SALES7844 TURNER
20 RESEARCH 7876 ADAMS
30 SALES7900 JAMES
20 RESEARCH 7902 FORD
10 ACCOUNTING   7934 MILLER
10 ACCOUNTING    allende

15 linhas selecionadas.

= vou passar um argumento , o NVL não mexe no valor :

SCOTT@O10GR2::SQLexec :v_ename := 'all';

Procedimento PL/SQL concluido com sucesso.

SCOTT@O10GR2::SQL/

DEPTNO DNAME   EMPNO ENAME
-- -- -- --
30 SALES7499 ALLEN
10 ACCOUNTING    allende

SCOTT@O10GR2::SQL

[]s

Chiappa


--- Em oracle_br@yahoogrupos.com.br, Elcio Francisco elciofrancisco@... 
escreveu

 Pessoal tenho uma query aqui, onde o usuario pode consultar por CPF ou por 
 NOME. Porem do jeito que ela esta se o nome for branco não traz nada. Eu 
 preciso colocar no filtro para buscar apenas o CPF ou o NOME do jeito que 
 esta ele busca os 2 campos.
 
 Alguem pode me ajudar
 
 
 
                                       select rc.cli_nome
                                         from crd.analise fb
                                             ,crd.recusado        rc 
                                       where  fb.cpf_cgc              = 
 rc.cli_cpf_cgc                 
                                         and rc.cli_nome  LIKE 
 DECODE(upper(v_nome),NULL,'%', upper(v_nome) || '%')                          
                                                  
 
                                         and rc.cli_cpf  LIKE 
 DECODE(upper(v_cpf),NULL,'%', upper(v_cpf) || '%')
                            order by fb.data_inclusao desc
 
 
 Muito Obrigado
  
 Elcio Francisco  
 
 P Antes de imprimir pense em sua responsabilidade com o MEIO AMBIENTE
  Adote os 3Rs na sua vida: Reduza, Reutilize, Recicle!
 
 [As partes desta mensagem que não continham texto foram removidas]



 

[As partes desta mensagem

Re: [oracle_br] execute immediate

2012-07-12 Por tôpico Alessandro Lúcio Cordeiro da Silva
Tire o Ponto e Virgula no final da instrução .


Ao inves disso

GROUP BY c.qdra_id, i.imov_idcategoriaprincipal  );');

Faça
GROUP BY c.qdra_id, i.imov_idcategoriaprincipal  )');
 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: raffaell.ti77 raffaell.t...@yahoo.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 12 de Julho de 2012 8:10
Assunto: [oracle_br] execute immediate
 

  
Pessoal, bom tarde.

Estou tendo um problema com um execute immediate dentro um SP.
EU tenho um create table que executando apenas ela por fora, ela é criada sem 
problema algum, mas quando coloco dentro do execute immediate me dá um erro na 
hora de executar a procedure. Segue o exemplo:

CREATE OR REPLACE PROCEDURE teste_immediate IS
BEGIN
EXECUTE IMMEDIATE('CREATE TABLE QUADRA_TEMP AS (select c.qdra_id qdra_id, 
i.imov_idcategoriaprincipal catg_id, count(distinct c.imov_id) quantidade
from faturamento.conta c
inner join cadastro.imovel i
on i.imov_id = c.imov_id
inner join cadastro.sistema_parametros sp
on 1=1
where((c.cnta_amreferenciacontabil =
(CASE WHEN (substr(to_char(sp.parm_amreferenciafaturamento), 5, 2) = ''01'') 
THEN
to_number((to_char((to_number(substr(to_char(sp.parm_amreferenciafaturamento), 
1, 4)) - 1)) || ''12''))
ELSE sp.parm_amreferenciafaturamento - 1 END)
and c.dcst_idatual in ( 0,1,2) )
or ( c.cnta_amreferenciacontabil 
(CASE WHEN (substr(to_char(sp.parm_amreferenciafaturamento), 5, 2) = ''01'') 
THEN 
to_number((to_char((to_number(substr(to_char(sp.parm_amreferenciafaturamento), 
1, 4)) - 1)) || ''12''))
ELSE sp.parm_amreferenciafaturamento - 1 END) and c.dcst_idatual in (3,4,5,8) )
and ( c.dcst_idanterior is null
or ( c.cnta_amreferenciaconta = (CASE WHEN 
(substr(to_char(sp.parm_amreferenciafaturamento), 5, 2) = ''01'') THEN 
to_number((to_char((to_number(substr(to_char(sp.parm_amreferenciafaturamento), 
1, 4)) - 1)) || ''12''))  ELSE sp.parm_amreferenciafaturamento - 1 END) and 
c.dcst_idanterior not in (1,2) )))
GROUP BY c.qdra_id, i.imov_idcategoriaprincipal  );');

END;

O erro gerado é o seguinte:

ORA-00911: caractere inválido
ORA-06512: em TESTE_IMMEDIATE, line 3
ORA-06512: em line 2

Eu acho que o problema está no caracter com duas aspas simples, exemplo: ''12''.

Como faço para resolver esse probleminha, alguém tem uma sugestão?


 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Privilégio insuficiente

2012-07-12 Por tôpico Alessandro Lúcio Cordeiro da Silva
O usuario Dono da procedure deve ter o privilegio direto, não pode ser dado via 
role. Tipo não adianta dar permissão de DBA, pois apesar de estar implicito que 
esta role tem permissão de Criar tabela, mas dentro da procedure o usurio dono 
da procedure deve ter a permissão Create Table.

 
Alessandro Lúcio Cordeiro da Silva 
    Analista de Sistema
þ http://alecordeirosilva.blogspot.com/
O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: 
estamos vivos.
    Joana de Souza Schmitz Croxato
 



 De: raffaell.ti77 raffaell.t...@yahoo.com
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quinta-feira, 12 de Julho de 2012 17:20
Assunto: [oracle_br] Privilégio insuficiente
 

  
Pessoal, estou com um probleminha, a procedure abaixo é criada com sucesso, sem 
erros de compilação. Na execução da procedure me dá um erro de insuficiente 
privilégio. O usuário que estou executando tem privilégio de sysdba. Com o 
mesmo usuário peguei o CREATE TABLE e rodei por fora, e a tabela foi criada com 
sucesso, gostaria de saber alguma sugestão de vocês.

Obs: O ususario cobranca recebeu todos os grants possíveis

create or replace
PROCEDURE cobranca.SP_GERAR_RES_PENDENCIA
IS
BEGIN

EXECUTE IMMEDIATE ('CREATE TABLE cobranca.quadra_temp AS (select c.qdra_id 
qdra_id, i.imov_idcategoriaprincipal catg_id, count(distinct c.imov_id) 
quantidade
from faturamento.conta c
inner join cadastro.imovel i
on i.imov_id = c.imov_id
inner join cadastro.sistema_parametros sp
on 1=1
where((c.cnta_amreferenciacontabil =
(CASE WHEN (substr(to_char(sp.parm_amreferenciafaturamento), 5, 2) = ''01'') 
THEN
to_number((to_char((to_number(substr(to_char(sp.parm_amreferenciafaturamento), 
1, 4)) - 1)) || ''12''))
ELSE sp.parm_amreferenciafaturamento - 1 END)
and c.dcst_idatual in ( 0,1,2) )
or ( c.cnta_amreferenciacontabil 
(CASE WHEN (substr(to_char(sp.parm_amreferenciafaturamento), 5, 2) = ''01'') 
THEN 
to_number((to_char((to_number(substr(to_char(sp.parm_amreferenciafaturamento), 
1, 4)) - 1)) || ''12''))
ELSE sp.parm_amreferenciafaturamento - 1 END) and c.dcst_idatual in (3,4,5,8) )
and ( c.dcst_idanterior is null
or ( c.cnta_amreferenciaconta = (CASE WHEN 
(substr(to_char(sp.parm_amreferenciafaturamento), 5, 2) = ''01'') THEN 
to_number((to_char((to_number(substr(to_char(sp.parm_amreferenciafaturamento), 
1, 4)) - 1)) || ''12'')) ELSE sp.parm_amreferenciafaturamento - 1 END) and 
c.dcst_idanterior not in (1,2) )))
GROUP BY c.qdra_id, i.imov_idcategoriaprincipal)');

END; 


 

[As partes desta mensagem que não continham texto foram removidas]



  1   2   >