Amigo, tem sim: basta usar o comando SET NEWNAME dentro do bloco RUN,
imediatamente antes do comando RESTORE. Tem que ter também depois o comando
SWITCH. Veja exemplo em:
http://download-west.oracle.com/docs/cd/B19306_01/backup.102/b14192/recov004.htm#i1040443
[]s
--
Eduardo Claro
Flavio,
A dificuldade que você está tendo ocorre pelo fato de o operador LIKE ser
ESCALAR, isto é, ele permite apenas a comparação de um valor em cada lado da
comparação. O que estou dizendo é que o erro não tem a ver com o fato de o tipo
de dados ser numérico ou caractere, mas sim com o
Acho que assim fica um pouco mais elegante:
SQL select substr('um dois tres',instr('um dois tres',' ',-1)+1) from dual;
SUBS
tres
1 linha selecionada.
--
Eduardo Claro
-Original Message-
From: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] On
Behalf Of
No Oracle 10g, os eventos de espera são classificados por classes, isto é,
tipos de evento com causas semelhantes, para que se possa obter uma informação
mais concisa e sumarizada do que verificar apenas um evento específico.
APPLICATION é uma das classes de eventos de espera, que engloba todos
Tenta:
Set echo off
--
Eduardo Claro
Grupo ATG (administração de ERP Oracle)
Tel: +55 11 4399-7174
Mobile: +55 11 9628-3250
E-mail: eduardo.cl...@eds.com mailto:name.n...@eds.com
EDS, an HP company
ASFO AMER LA BR SP EAS/IAS
Estrada Samuel Aizemberg, 1707 - Bloco E - Piso 4
Olá Clayton, seguem as respostas:
1)A tablespace de UNDO não pode ser usada para comandos DML diretamente. O
Oracle armazena nela imagens dos dados, anteriores a uma alteração DML feita em
dados de outras tablespaces. Estas alterações efetuadas pelo Oracle no UNDO
geram REDO, assim como
o motivo pelo qual o DESC, DESC, ASC não acontece, ficarei
grato.
Grato
Eriovaldo
2009/4/23 Claro, Eduardo eduardo.cl...@eds.com
mailto:eduardo.claro%40eds.com
Gleyson,
A função ASCII retorna o código ASCII do primeiro caractere da sua string.
Portanto, ASCII('0691') e ASCII('0447') na
Gleyson,
A função ASCII retorna o código ASCII do primeiro caractere da sua string.
Portanto, ASCII('0691') e ASCII('0447') na verdade serão executados como
simplesmente ASCII('0'), e por isso o resultado é igual.
Quanto à sua query, por favor poste um exemplo completo, que possa ser
Amigo,
Acho que uma primeira dica seria mandar apenas um e-mail, e não três com o
mesmo conteúdo e títulos diferentes como você fez. Isso acaba poluindo as
mensagens do grupo, que já são muitas, ok? ;-)
Se os seus relatórios estão com esta performance tão ruim, é muito provável que
recaia em
Marcio,
Para restringir percentual de uso de CPU por usuário ou grupos de usuários,
você terá que utilizar o Resource Manager. Pesquise na documentação, ele faz
parte do banco Oracle (package DBMS_RESOURCE_MANAGER).
[]s
--
Eduardo Claro
Grupo ATG (administração de ERP Oracle)
EDS, an HP
Consulta a view DBA_CONSTRAINTS, procura nas colunas R_OWNER e
R_CONSTRAINT_NAME pelo nome da PK da tabela principal.
--
Eduardo Claro
Grupo ATG (administração de ERP Oracle)
EDS, an HP company
ASFO AMER LA BR SP EAS/IAS
Estrada Samuel Aizemberg, 1707 - Bloco E - Piso 4
09851-550 São Bernardo
William,
Segue abaixo o pulo do gato (NÃO FAÇA ISSO NOO SEU BANCO, A NÃO SER EM ÚLTIMO
CASO):
No INIT, além do parâmetro _ALLOW_RESETLOGS_CORRUPTION = TRUE, coloque também:
_MINIMUM_GIGA_SCN = 1000
O número acima deve ser maior que o maior SCN dos teus datafiles. Descubra
assim:
SELECT
a consulta abaixo, veja se te atende.
*select* b.salary, *sum*(b.salary) *as* soma, *sum*(a.salary) *as* cum_sal2
*from* employee a, employee b
*where* a.*rowid* = b.*rowid*
*group* *by* b.*rowid*, b.salary
*order* *by* b.*rowid
*
Abraços,
2008/9/30 Claro, Eduardo [EMAIL PROTECTED]
Utilize uma
Alvaro,
Se você está executando a query exatamente como colocou, ela não vai retornar
nada mesmo, pois o nomes de eventos de espera no Oracle (como o enq que você
está procurando) são com letras minúsculas. Portanto, a query deveria ser:
SELECT event#, name FROM v$event_name
WHERE UPPER(name)
Amigo,
É provável que você esteja coletando estatísticas em um momento de alto consumo
em seu ambiente, o que não é recomendado. Este erro indica que o seu espaço de
UNDO foi consumido pelas transações, e que por isso os dados de leitura
consistente que estavam sendo usados pela query
Amigo,
Faz assim, que seu resultado será o mesmo com uma performance muito melhor:
WHERE DATA = TRUNC(SYSDATE) AND DATA TRUNC(SYSDATE)+1
Outra possibilidade seria você criar um índice baseado em função:
CREATE INDEX I1 ON TABELA ( TRUNC(DATA) );
Desta maneira, você poderia deixar a sua query
Amigo,
Provavelmente alguém fea alguma manutenção na tabela deste índice, como por
exemplo um MOVE. Para resolver, execute:
ALTER INDEX APPLSYS.SYS_C00340288 rebuild;
Ele vai refazer o índice e seu problema será resolvido.
Eduardo Claro
-Original Message-
From:
Pessoal,
Eu também sou usuário aqui do fórum, apesar de que por causa da correria nem
sempre dá pra ler todas as mensagens e/ou ajudar como eu gostaria.
Muito obrigado pelo reconhecimento do meu trabalho, e sucesso a todos.
[]s
Eduardo Claro
-Original Message-
From:
Bia,
É possível SIM fazer backup incremental via RMAN mesmo com o banco em
NOARCHIVELOG. Porém, as restrições do modo NOARCHIVELOG continuam: você não
poderá fazer a recuperação dos dados após o último backup. Ou seja, se perder o
banco ou parte dele, você terá que voltar os backups (que
Duas perguntas pra começar:
1. Tem certeza de que é este processo que está gerando os archives?
2. Será que a tabela remota que está sofrendo este UPDATE não tem triggers que
são disparadas e geram mais um monte de UPDATEs, DELETEs, INSERTs ?
Talvez seria interessante você gerar um trace do
Mária,
Veja se o exemplo a seguir é o que você precisa:
---
SQL create table t (cod number, estado char(2));
Tabela criada.
SQL begin
2 for i in 1..1 loop
3insert into t values (i,
Eduardo Claro
[As partes desta mensagem que não continham texto foram removidas]
Amigo,
A sintaxe SQL que você está usando é típica do SQL Server (UPDATE com FROM e
JOIN). O Oracle não utiliza esta sintaxe, pois não é padrão ANSI SQL. NO Oracle
você teria que traduzir para algo assim:
UPDATE
(
SELECT H.*
FROM E085HCL H
INNER JOIN E085CLI L ON L.CODCLI = H.CODCLI
WHERE
Concordo com a opinião do André.
Como você pode ver, cada um apresentou um percentual bem diferente. Eu acredito
que a estratégia correta é realmente você anualizar todos os ganhos (salário
normal, 13.o, férias, previdência, assist. médica, etc, etc) e também gastos
(impostos, alimentação,
José Mario,
No Oracle 10g dá pra fazer isso SIM, usando a nova ferramenta que substitui o
EXP, chamada EXPDP.
Numa linha de comando, digite expdp -help que você vai ver os parâmetros. Seria
no seu caso algo assim:
expdp usuario/senha directory=diretorio oracle dumpfile=arquivo
logfile=arqlog
Usa o WITH (Oracle 9i+):
with minha_query as (select * from dba_Users)
select * from minha_query where username='SYSTEM'
/
[]s
Eduardo Claro
-Original Message-
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of
nunodetorres
Sent: quarta-feira, 12 de setembro
Após iniciar o banco usando o pfile antigo, como no comando que você mostrou,
digite como SYS:
CREATE SPFILE FROM PFILE;
Ele vai criar um novo SPFILE baseado no PFILE utilizado para subir a instância.
Depois, basta fazer o SHUTDOWN que em seguida poderá subir novamente o banco
apenas com o
Se quiser limpar os registros de auditoria, limpe a tabela SYS.AUD$ pelo campo
TIMESTAMP#
[]s
Eduardo Claro
-Original Message-
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of
Eduardo de Paula
Sent: Tuesday, June 19, 2007 5:11 PM
To:
Para saber o total de Waits da instância, cumulativos desde o STARTUP, consulte
a V$SYSTEM_EVENT. Ela mostra o tempo total, quantidade de esperas, média de
espera, etc, para cada evento de espera que aconteceu.
Para ver os eventos ocorridos em uma sessão específica, consulte a
V$SESSION_EVENT.
Alguns considerações adicionais:
Se é verdade que o banco está bem ajustado, sem muitos problemas de queries
ruins, sem sorts em disco, sem mudança abrupta de comportamento, etc, então
parece que o seu ambiente está mesmo com um gargalo de disco. O storage pode
estar sobrecarregado, ou talvez
É isso mesmo, análise por HIT RATIO é antiga e obsoleta. Serve no máxima como
uma informação a mais, mas jamais considere-a como última palavra.
Uma pergunta importante sobre esta lentidão: o problema de performance começou
de uma hora pra outra, tipo na sexta tava bom, na segunda tava um
Bom, um usuário pode ter três tipos de privilégios: de Sistema, de Objeto e de
Role. As visões são respectivamente DBA_SYS_PRIVS, DBA_TAB_PRIVS e
DBA_ROLE_PRIVS.
Para consultar, faça assim:
SELECT * FROM tabela WHERE GRANTEE='usuario';
Detalhe: apesar do nome DBA_TAB_PRIVS, esta visão contém
Coloca assim:
WHERE b.Codigo_Emp = 1 OR b.Codigo_Mat is null
O que está escrito acima é: onde o Codigo seja 1 ou seja registro sem
correspondencia (neste caso, qq campo da tabela sem o registro fica NULL no
OUTER JOIN).
Outra possibilidade, se vc tm certeza de que o campo b.Codigo_Emp nunca
consulta a V$SEGMENT_STATISTICS, perguntando pelas estatisticas 'physical
reads', 'physical writes' e outras semelhantes para o objeto que você quer.
[]s
Eduardo Claro
-Original Message-
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of Igor
Laguardia
Sent:
Tem sim. Na tabela filha, crie a FK normalmente, porém deixei o campo como
NULL, isto é, permitindo valores nulos.
[]s
Eduardo Claro
EDS - Brazilian Solution Centre
+55 (11) 4393-1276
mailto: [EMAIL PROTECTED]
-Original Message-
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL
Deixa eu ver se consigo jogar uma luz (ou apagá-la de vez ;-) ) em alguns
detalhes:
O tempo total dos eventos de espera não tem que ser igual ao tempo total de
execução. Se o tempo total dos processos é de aprox 6300s, e quase nada ocorreu
de Wait, isso indica que o tempo foi praticamente todo
Faça assim:
select
disciplina,
sum(case when avaliacao=1 then nota else 0 end) nota1,
sum(case when avaliacao=2 then nota else 0 end) nota2,
sum(case when avaliacao=3 then nota else 0 end) nota3
from
boletim
group by
disciplina;
[]s
Eduardo Claro
A maneira como você está criando a trigger está errada. Veja:
===
SQL create table teste_trigger( COD_PRODUTO NUMBER(10,0)
2 ,
3 DES_PRODUTO VARCHAR2(30)
4 , DT_ATUALIZACAO
Roda estas duas queries:
select patch_name
from apps.ad_applied_patches
where upper(patch_name) like upper('%patch%')
order by patch_name;
select bug_id, bug_number
from apps.ad_bugs
where bug_id = 'patch' or bug_number = 'patch';
[]s
Eduardo Claro
-Original Message-
From:
Cara,
Vou te dar minha opinião: sou professor da formação Oracle aqui em SP, já há
mais de 3 anos. Atualmente ministro em um local oficial, usando o material
oficial. Porém, também já ministrei aulas em locais não-oficiais, e não creio
que simplesmente por este motivo o curso fosse pior.
Bruno,
Vou ver se consigo te ajudar em algumas observações importantes:
1) tamanho dos Redos: não há regra pra isso, depende muito de cada ambiente. Muitos ambientes de PROD usam tamanhos como 50M, ou 100M. Mas pode variar muito, pra cima ou pra baixo, dependendo da carga do ambiente.
2)
Faça assim:
select to_char ( to_date('01/01/1900','dd/mm/') + (to_date('01/01/2006
15:00:00','dd/mm/ hh24:mi:ss')-to_date('01/01/2006 14:00:00','dd/mm/
hh24:mi:ss')) , 'hh24:mi') ocupacao from dual;
[]s
Eduardo Claro
-Original Message-
From: oracle_br@yahoogrupos.com.br
: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Claro, Eduardo
Enviada em: segunda-feira, 30 de janeiro de 2006 10:23
Para: oracle_br@yahoogrupos.com.br
Assunto: RE: [oracle_br] NOT IN
Gustavo,
Pelo que vi ainda não teve resposta, então aí vai:
Verifique neste banco em que os
Gustavo,
Pelo que vi ainda não teve resposta, então aí vai:
Verifique neste banco em que os dados não estão aparecendo se existe algum
registro que está sendo capturado pela sua SUBCONSULTA e que está com o campo
da comparação NULO. SE isto acontecer, os dados não serão trazidos mesmo. Mas
Pega aí:
[EMAIL PROTECTED] select * from a;
NUM DATA
- -
1 01-JAN-2006 00:00
2 01-JAN-2006 00:00
3 01-JAN-2006 00:00
3 linhas selecionadas.
[EMAIL PROTECTED] select * from b;
NUM DATA
- -
1 10-FEV-2006
pega
dados realmente comitados. Estou com conceito errado?
Abs
On 12/20/05, Claro, Eduardo [EMAIL PROTECTED] wrote:
Se você colocar o CONSISTENT=Y, aí é que vai ter snapshot tôo old mais
facilmente mesmo. Volte isso para N, ou se quiser realmente que o export
seja totalmente consistente a um
Se você colocar o CONSISTENT=Y, aí é que vai ter snapshot tôo old mais
facilmente mesmo. Volte isso para N, ou se quiser realmente que o export seja
totalmente consistente a um momento do tempo, deixe Y, mas faça o export sem
ninguém mais conectado, por exemplo após um backup frio e startup com
Nicholas,
Pelos sintomas, parece que você criou uma MATERIALIZED VIEW, e não uma VIEW
comum.
Execute o seguinte comando:
SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM DBA_OBJECTS WHERE OBJECT_NAME='sua
view';
E passe o resultado.
Eduardo Claro
EDS - Brazilian Solution Centre
+55 (11) 4393-1276
Não tem como você pedir para ele te avisar quando faz cada full table scan. O
que dá pra fazer é verificar nas estatísticas do banco (V$SYSSTAT por exemplo)
quantos FULL SCANS já foram realizados.
Mas, ainda que mal te pergunte, pra que você quer isso? Se você está partindo
do pressuposto de
Dá uma olhada no ALERT da sua base, para ver se o banco não está apresentando
algum erro. Ele por default estará em ORACLE_HOME\ADMIN\sid\BDUMP, onde
ORACLE_HOME é a pasta que você instalou o Oracle, e SID é o nome da sua base.
Verifique no final do arquivo ALERT_sid.ORA se existe alguma
Ederson,
Não sei se as respostas anteriores já resolveram o seu problema, mas quero
complementar com uma outra possibilidade, que o próprio Oracle já traz
embutida: a cláusula EXCEPTIONS na criação de constraints.
Basta você tentar criar uma constraint UNIQUE na sua tabela, pelas colunas que
mapear essas consultas, para corrigir os erros.
--- Em oracle_br@yahoogrupos.com.br, Claro, Eduardo
[EMAIL PROTECTED] escreveu
Não tem como você pedir para ele te avisar quando faz cada full
table scan. O que dá pra fazer é verificar nas estatísticas do banco
(V$SYSSTAT por exemplo) quantos FULL
. Newer version of
patch is available
- Original Message -
From: Claro, Eduardo
To: oracle_br@yahoogrupos.com.br
Sent: Tuesday, October 25, 2005 10:25 AM
Subject: RE: [oracle_br] patch - o que fazer
Pega neste endereço:
http://updates.oracle.com/ARULink/PatchDetails
Fabio,
Pra ver se eu entendi:
O arquivo do backup é menor que 4G, e quando você começa a recuperar ele vai
crescendo até chegar neste tamanho. É isso?
Se for, parece que o arquivo ainda está com a limitação de tamanho. Não me
parece ser problema do backup, pois o recover é aplicação de redo,
Faça assim:
execute dbms_space_admin.TABLESPACE_MIGRATE_TO_LOCAL('tablespace')
Eduardo Claro
EDS - Brazilian Solution Centre
+55 (11) 4393-1276
mailto: [EMAIL PROTECTED]
-Original Message-
From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of
a_pastore
Sent:
Não precisa ficar recriando e dropando a temporary table. Apenas a deixe
criada, e sempre que necessário a utilize. Os dados são sempre por sessão, e
isto significa que uma sessão não verá os dados da outra, mesmo que as duas
estejam usando a mesma tabela ao mesmo tempo.
[]s
Eduardo Claro
EDS
56 matches
Mail list logo