[oracle_br] Re: ORA-01552: cannot use system rollback segment for non-system tablespace
Intão, os segmentos são um pouco mais que simples divisões lógicas, eles tem um papel físico também. Antes de falar sobre isso, de cara já aviso que o que segue é mais conhecimento acadêmico do que qquer outra coisa, a Oracle desencoraja e recomenda contra o controle manual de undo nas versões mais recentes de banco, e é o que é praxe, então só mesmo num exercício teórico (como o é o OCP), ou num eventual caso de banco enorme e ultra-ativo é que vc vai precisa disso . Por causa disso também a documentação atual fala muito pouco deles, ela os considera como um mecanismo interno que deveria ser controlado internamente pelo banco, para referência eu indico docs antigos, como as notas metalink General Overview of Rollback Segments, doc id=1011108.6 e Creating, Optimizing, and Understanding Rollback Segments, doc id=62005.1 . Bem, vamos lá : creio que vc já sabe, mas o conceito básico de consistência no bd Oracle é que para poder ser alterado necessariamente o dado foi lido pro cache, e o que é liudo é o BLOCO inteiro aonde o dado reside. Quando há a alteração, é feita uma CÓPIA desse bloco antes da alteração , que é o UNDO (ou também chamado de ROLLBACK). Ora, um bloco é bem pequeno, então vc normalmente tem ** montes ** deles, se o banco fosse ter uma lista de blocos de undo ia ser enrome, além do que ia exigir montes e montes de I/Os pequeninos,então ele ** agrupa ** isso num EXTENT, que é uma série de blocos contíguos, aí esse I/O todo pode ser feito duma vez só. O conjunto de extents de undo em uso é o chamado rollback segment. Notar que cada transação só pode acessar um único rollback segment durante a sua vida, MAS um rollback segment pode atender várias transações, um extent por vez. Suponha que exista um segmento de rollback R1 online numa dada tablespace, uma transação T1 inicia-se, ela aloca um extent E1 nesse segmento, essa transação enquanto durar só poderá pedir por mais extents nesse segmento R1. Se logo após uma transação T2 inicia, ela pode alocar um extent E2 nesse mesmo segmento (e daí pra frente só poderá pedir por mais extents nesse segmento), assim por diante. Então, logicamente falando, em tese eu poderia ter só um único segmento de rollback atendendo todo mundo ? Até poderia, mas : - há limite na qtdade máxima de extents que um segmento pode ter (bem alto nos releases mais recentes, mas há) - há estruturas de controle no cabeçalho (header) dum segmento, cada transação interessada em o usar/continuar usando um segmento precisa aplicar/esperar por latches nesses caras == então poderia haver forte CONTENÇÃO (competição pela chance de usar) se houvesse um só segmento, além da questão de limites de extents. Assim, se deve trabalhar em esquema de round-robin, ie : vc cria alguns segmentos de rollback, a primeira transação T1 vê que o segmento R1 tá livre e aloca um extent nele, a T2 aloca extent no segmento R2, assim por diante, até chegar um momento em que não há segmentos livres, aí a transação Tn aloca um extent do R1, Tn+1 do R2, aí vai. Com isso vc DIMINUI a taxa de interessados num único segmento, portanto diminui a concorrência, essa é a idéia. Aí vem as suas perguntas : - qual o tamanho adequado pra extents dum segmento de rollback : tem que ser um tamanho nem muito grande (pois se não uma transação que altere poucos bytes vai causar um tamanhão de I/O), nem muito pequeno senão sub-utiliza o hardware de I/O, normalmente 1 Mb é considerado razoável - qtdade de segmentos : tem que ser uma qtdade tal que não force muitas transações a quererem usar o mesmo segmento ao mesmo tempo, mas também não desperdice muito espaço em disco, normalmente se ter umas 3 ou 4 transações ativas pra cada segmento de rollback é ok. == essas recomendações vêm da aplicação do citado em http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:275215756923 , mas na época de rollback manual a gente tinha mesmo que fazer os testes cfrme o link cita. - quando vc seta undo_management para AUTO, o que ele faz é ir criando/removendo/colocando ONLINE e OFFLINE os segmentos de rollback conforme as transações vão chegando, ok ? Então SIM, a partir do momento que vc desliga a feature com undo_management=MANUAL, fica POR SUA CONTA não só criar como ativar/colocar ONLINE os segmentos, então é natural que se vc não o fez levou erro - o erro da msg em questão : quando vc cria o banco de dados por conta própria ele cria um segmento de rollback especial, chamado SYSTEM, na tablespace de sistema também chamada SYSTEM : esse cara porém só pode ser usada para as transações *** INTERNAS ***, feitas nas tabelas INTERNAS do banco por ele próprio, se vc não tiver segmentos de rollback de usuário criados, no caso de transação em tabelas não-internas o banco vai olhar, só achará o SYSTEM, esse é RESERVADO, pumba, levas o erro em questão, ok ? É como eu falei, a partir do momento que vc desativa o undo automático, fica POR SUA CONTA criar segmentos, os ter online, os
[oracle_br] Re: PL/SQL...
*** Muitíssimo *** provavelmente vc tem falha de lógica aí, decorrendo de má-formação da sua transação : por exemplo, num dado cursor vc faz um SELECT FOR UPDATE (que ** DEPENDE ** de locks para funcionar) e mete um COMMIT com esse cursor aberto, só pode dar galho... Ou vc pede SAVEPOINT prum ponto no tempo antes do cursor ser aberto, ou vc está usando uma variável implícita (criada num FOR LOOP, por exemplo) fora do loop/escope, algo do tipo Ou ainda, a tool de onde vc chama a Procedure está fazendo algo do tipo (com a nunca por demais xingada feature de AUTOCOMMIT do ODBC/JDBC, por aí... http://ora-01002.ora-code.com/ , http://www.oracle.com/technology/oramag/oracle/04-sep/o54asktom.html , http://www.orafaq.com/maillist/oracle-l/2000/10/05/1096.htm e http://www.freelists.org/archives/oracle-l/08-2004/msg01535.html são alguns exemplos de casos, mas a resposta é uma só, REVEJA e DEBUGUE a tua lógica, ponto. E é claro, veja lá se as features de Replicação built-in do Oracle, e/ou do DB2 e/ou outras opções (como dump em arquivo texto e leitura via loader/external tables) não te ajudam, sempre que vc puder substituir código seu pelo (normalmente) super-testado e interno código do banco, melhor... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Márcio Ricardo [EMAIL PROTECTED] escreveu Untitled DocumentBoas. Fiz uma package que faz o sincronismo entre o banco DB2 e Oracle... Em certos momentos do sincronismo recebo a mensagem de FETCH OUT OF SEQUENCE... executo a package novamente e volta a funcionar perfeitamente. Alguém sabe o que pode estar acontecendo? O que fazer para evitar o erro? Grato, Márcio Ricardo Alves da Silva Programador Pleno * [EMAIL PROTECTED] Config Informática Ltda Av. Eng. Luis Carlos Berrini, 801 - 7º andar 04571-010 - Brooklin Novo - São Paulo - SP ( Fone (11) 5501-8300 ( Fax (11) 5501-8302 8 www.config.com.br [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: ORA-01552: cannot use system rollback segment for non-system tablespace
Bom Dia Chiappa, eu li e reli a sua resposta a minha pergunta. só tem mais uma coisa que eu gostaria de entender, no final, você me responde dizendo que este segmento de undo especial chamado system que reside na tablespace system somente é utilizado para transações de tabelas internas e não para tabelas de usuários. Sendo assim, temos 2 cenários: undo_management=AUTO undo_tablespace=UNDOTBS1 e undo_management=MANUAL undo_tablespace=UNDOTBS1. No primeiro caso, ele utilizaria o gerenciamento dos segmentos de rollback é feito automaticamente pelo banco e eu não preciso me preocupar com isso, somente com o tamanho da tablespace, de acordo com o tamanho máximo das transações e com o tempo máximo que desejo ter flashback no banco, correto? Mas a tablespace que o banco utiliza continua sendo a UNDOTBS1, correto? no segundo cenário, eu teria que criar os segmentos de undo e o banco utilizaria estes segmentos de rollback ( que foram criados dentro da tablespace UNDOTBS1) para o armazenamento de dados de undo. A minha pergunta ( o que fiquei sem entender na sua resposta anterior) é, no caso de undo_management=auto, ele mesmo assim utilizaria segmentos de rollback de dentro da tablespace system para dados das tabelas internas do sistemas, e automaticamente segmentos de rollback dentro da tablespace de undo UNDOTBS1? seria isso? Mais uma vez obrigado. --- Em oracle_br@yahoogrupos.com.br, jlchiappa [EMAIL PROTECTED] escreveu Intão, os segmentos são um pouco mais que simples divisões lógicas, eles tem um papel físico também. Antes de falar sobre isso, de cara já aviso que o que segue é mais conhecimento acadêmico do que qquer outra coisa, a Oracle desencoraja e recomenda contra o controle manual de undo nas versões mais recentes de banco, e é o que é praxe, então só mesmo num exercício teórico (como o é o OCP), ou num eventual caso de banco enorme e ultra-ativo é que vc vai precisa disso . Por causa disso também a documentação atual fala muito pouco deles, ela os considera como um mecanismo interno que deveria ser controlado internamente pelo banco, para referência eu indico docs antigos, como as notas metalink General Overview of Rollback Segments, doc id=1011108.6 e Creating, Optimizing, and Understanding Rollback Segments, doc id=62005.1 . Bem, vamos lá : creio que vc já sabe, mas o conceito básico de consistência no bd Oracle é que para poder ser alterado necessariamente o dado foi lido pro cache, e o que é liudo é o BLOCO inteiro aonde o dado reside. Quando há a alteração, é feita uma CÓPIA desse bloco antes da alteração , que é o UNDO (ou também chamado de ROLLBACK). Ora, um bloco é bem pequeno, então vc normalmente tem ** montes ** deles, se o banco fosse ter uma lista de blocos de undo ia ser enrome, além do que ia exigir montes e montes de I/Os pequeninos,então ele ** agrupa ** isso num EXTENT, que é uma série de blocos contíguos, aí esse I/O todo pode ser feito duma vez só. O conjunto de extents de undo em uso é o chamado rollback segment. Notar que cada transação só pode acessar um único rollback segment durante a sua vida, MAS um rollback segment pode atender várias transações, um extent por vez. Suponha que exista um segmento de rollback R1 online numa dada tablespace, uma transação T1 inicia-se, ela aloca um extent E1 nesse segmento, essa transação enquanto durar só poderá pedir por mais extents nesse segmento R1. Se logo após uma transação T2 inicia, ela pode alocar um extent E2 nesse mesmo segmento (e daí pra frente só poderá pedir por mais extents nesse segmento), assim por diante. Então, logicamente falando, em tese eu poderia ter só um único segmento de rollback atendendo todo mundo ? Até poderia, mas : - há limite na qtdade máxima de extents que um segmento pode ter (bem alto nos releases mais recentes, mas há) - há estruturas de controle no cabeçalho (header) dum segmento, cada transação interessada em o usar/continuar usando um segmento precisa aplicar/esperar por latches nesses caras == então poderia haver forte CONTENÇÃO (competição pela chance de usar) se houvesse um só segmento, além da questão de limites de extents. Assim, se deve trabalhar em esquema de round-robin, ie : vc cria alguns segmentos de rollback, a primeira transação T1 vê que o segmento R1 tá livre e aloca um extent nele, a T2 aloca extent no segmento R2, assim por diante, até chegar um momento em que não há segmentos livres, aí a transação Tn aloca um extent do R1, Tn+1 do R2, aí vai. Com isso vc DIMINUI a taxa de interessados num único segmento, portanto diminui a concorrência, essa é a idéia. Aí vem as suas perguntas : - qual o tamanho adequado pra extents dum segmento de rollback : tem que ser um tamanho nem muito grande (pois se não uma transação que altere poucos bytes vai causar um tamanhão de I/O), nem muito pequeno senão sub-utiliza o hardware de I/O, normalmente 1 Mb é considerado razoável -
[oracle_br] Re: ORA-01552: cannot use system rollback segment for non-system tablespace
Segue respostas : Thu, 07 Feb 2008 03:37:46 -0800 Bom Dia Chiappa, eu li e reli a sua resposta a minha pergunta. só tem mais uma coisa que eu gostaria de entender, no final, você me responde dizendo que este segmento de undo especial chamado system que reside na tablespace system somente é utilizado para transações de tabelas internas e não para tabelas de usuários. Sendo assim, temos 2 cenários: undo_management=AUTO undo_tablespace=UNDOTBS1 e undo_management=MANUAL undo_tablespace=UNDOTBS1. No primeiro caso, ele utilizaria o gerenciamento dos segmentos de rollback é feito automaticamente pelo banco e eu não preciso me preocupar com isso, somente com o tamanho da tablespace, de acordo com o tamanho máximo das transações e com o tempo máximo que desejo ter flashback no banco, correto? == Não só o tamanho das transações mas também quanto tempo ela fica ativa, consumindo extents, mas é essencialmente correto, sim. Mas a tablespace que o banco utiliza continua sendo a UNDOTBS1, correto? == Certo. no segundo cenário, eu teria que criar os segmentos de undo e o banco utilizaria estes segmentos de rollback ( que foram criados dentro da tablespace UNDOTBS1) para o armazenamento de dados de undo. == Criar e colocar ONLINE, sim. A minha pergunta ( o que fiquei sem entender na sua resposta anterior) é, no caso de undo_management=auto, ele mesmo assim utilizaria segmentos de rollback de dentro da tablespace system para dados das tabelas internas do sistemas, e automaticamente segmentos de rollback dentro da tablespace de undo UNDOTBS1? seria isso? == PRECISAMENTE, a idéia é separar o que é UNDO de usuário do UNDO interno do banco. Isso é facílimo de se verificar, veja só : - estou com UNDO automático [EMAIL PROTECTED]:SQLshow parameters undo NAME TYPEVALUE --- -- undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS1 - MESMO ASSIM veja lá que há SIM o segmento de rollback SYSTEM criado e ativo, à disposição do banco, MAS veja lá que ele é não é público, é PARTICULAR a quem o criou, o usuário SYS no caso, que é o usuário interno do banco : [EMAIL PROTECTED]:SQLselect * from DBA_ROLLBACK_SEGS; SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID FILE_ID BLOCK_ID INITIAL_EXTENT NEXT_EXTENT STATUS -- --- -- --- -- --- -- SYSTEM SYSSYSTEM 0 19 114688 ONLINE _SYSSMU1$PUBLIC UNDOTBS1 1 29 131072 ONLINE _SYSSMU2$PUBLIC UNDOTBS1 2 2 25 131072 ONLINE _SYSSMU3$PUBLIC UNDOTBS1 3 2 41 131072 ONLINE _SYSSMU4$PUBLIC UNDOTBS1 4 2 57 131072 ONLINE _SYSSMU5$PUBLIC UNDOTBS1 5 2 73 131072 ONLINE _SYSSMU6$PUBLIC UNDOTBS1 6 2 89 131072 ONLINE _SYSSMU7$PUBLIC UNDOTBS1 7 2 105 131072 ONLINE _SYSSMU8$PUBLIC UNDOTBS1 8 2 121 131072 ONLINE _SYSSMU9$PUBLIC UNDOTBS1 9 2 137 131072 ONLINE _SYSSMU10$ PUBLIC UNDOTBS110 2 153 131072 ONLINE 11 linhas selecionadas. [EMAIL PROTECTED]:SQL == esses caras _SYSxyz$ são os que foram criados pelo undo automático, é o que eu te falei na msg anterior, segmento de rollback existe SEMPRE, o que o undo auto faz é os criar/ativar/desativar automaticamente cfrme crescem/diminuem as transações, ok ? []s Chiappa --- Em oracle_br@yahoogrupos.com.br, rei_do_delphi [EMAIL PROTECTED] escreveu Bom Dia Chiappa, eu li e reli a sua resposta a minha pergunta. só tem mais uma coisa que eu gostaria de entender, no final, você me responde dizendo que este segmento de undo especial chamado system que reside na tablespace system somente é utilizado para transações de tabelas internas e não para tabelas de usuários. Sendo assim, temos 2 cenários: undo_management=AUTO undo_tablespace=UNDOTBS1 e undo_management=MANUAL undo_tablespace=UNDOTBS1. No primeiro caso, ele utilizaria o gerenciamento dos segmentos de rollback é feito automaticamente pelo banco e eu não preciso me preocupar com isso, somente com o tamanho da tablespace, de acordo com o tamanho máximo das transações e com o tempo máximo que desejo ter flashback no banco, correto? Mas a tablespace que o banco utiliza continua sendo a UNDOTBS1, correto? no segundo cenário, eu teria que criar os segmentos de undo e o banco utilizaria
[oracle_br] Re: ORA-01552: cannot use system rollback segment for non-system tablespace
entendi agora, ficou mais claro a explicação. Obrigado e um abraço. --- Em oracle_br@yahoogrupos.com.br, jlchiappa [EMAIL PROTECTED] escreveu Segue respostas : Thu, 07 Feb 2008 03:37:46 -0800 Bom Dia Chiappa, eu li e reli a sua resposta a minha pergunta. só tem mais uma coisa que eu gostaria de entender, no final, você me responde dizendo que este segmento de undo especial chamado system que reside na tablespace system somente é utilizado para transações de tabelas internas e não para tabelas de usuários. Sendo assim, temos 2 cenários: undo_management=AUTO undo_tablespace=UNDOTBS1 e undo_management=MANUAL undo_tablespace=UNDOTBS1. No primeiro caso, ele utilizaria o gerenciamento dos segmentos de rollback é feito automaticamente pelo banco e eu não preciso me preocupar com isso, somente com o tamanho da tablespace, de acordo com o tamanho máximo das transações e com o tempo máximo que desejo ter flashback no banco, correto? == Não só o tamanho das transações mas também quanto tempo ela fica ativa, consumindo extents, mas é essencialmente correto, sim. Mas a tablespace que o banco utiliza continua sendo a UNDOTBS1, correto? == Certo. no segundo cenário, eu teria que criar os segmentos de undo e o banco utilizaria estes segmentos de rollback ( que foram criados dentro da tablespace UNDOTBS1) para o armazenamento de dados de undo. == Criar e colocar ONLINE, sim. A minha pergunta ( o que fiquei sem entender na sua resposta anterior) é, no caso de undo_management=auto, ele mesmo assim utilizaria segmentos de rollback de dentro da tablespace system para dados das tabelas internas do sistemas, e automaticamente segmentos de rollback dentro da tablespace de undo UNDOTBS1? seria isso? == PRECISAMENTE, a idéia é separar o que é UNDO de usuário do UNDO interno do banco. Isso é facílimo de se verificar, veja só : - estou com UNDO automático [EMAIL PROTECTED]:SQLshow parameters undo NAME TYPEVALUE --- -- undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS1 - MESMO ASSIM veja lá que há SIM o segmento de rollback SYSTEM criado e ativo, à disposição do banco, MAS veja lá que ele é não é público, é PARTICULAR a quem o criou, o usuário SYS no caso, que é o usuário interno do banco : [EMAIL PROTECTED]:SQLselect * from DBA_ROLLBACK_SEGS; SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID FILE_ID BLOCK_ID INITIAL_EXTENT NEXT_EXTENT STATUS -- --- -- --- -- --- -- SYSTEM SYSSYSTEM 0 1 9 114688 ONLINE _SYSSMU1$PUBLIC UNDOTBS1 1 2 9 131072 ONLINE _SYSSMU2$PUBLIC UNDOTBS1 2 2 25 131072 ONLINE _SYSSMU3$PUBLIC UNDOTBS1 3 2 41 131072 ONLINE _SYSSMU4$PUBLIC UNDOTBS1 4 2 57 131072 ONLINE _SYSSMU5$PUBLIC UNDOTBS1 5 2 73 131072 ONLINE _SYSSMU6$PUBLIC UNDOTBS1 6 2 89 131072 ONLINE _SYSSMU7$PUBLIC UNDOTBS1 7 2 105 131072 ONLINE _SYSSMU8$PUBLIC UNDOTBS1 8 2 121 131072 ONLINE _SYSSMU9$PUBLIC UNDOTBS1 9 2 137 131072 ONLINE _SYSSMU10$ PUBLIC UNDOTBS110 2 153 131072 ONLINE 11 linhas selecionadas. [EMAIL PROTECTED]:SQL == esses caras _SYSxyz$ são os que foram criados pelo undo automático, é o que eu te falei na msg anterior, segmento de rollback existe SEMPRE, o que o undo auto faz é os criar/ativar/desativar automaticamente cfrme crescem/diminuem as transações, ok ? []s Chiappa --- Em oracle_br@yahoogrupos.com.br, rei_do_delphi brunomaximomogi@ escreveu Bom Dia Chiappa, eu li e reli a sua resposta a minha pergunta. só tem mais uma coisa que eu gostaria de entender, no final, você me responde dizendo que este segmento de undo especial chamado system que reside na tablespace system somente é utilizado para transações de tabelas internas e não para tabelas de usuários. Sendo assim, temos 2 cenários: undo_management=AUTO undo_tablespace=UNDOTBS1 e undo_management=MANUAL undo_tablespace=UNDOTBS1. No primeiro caso, ele utilizaria o gerenciamento dos segmentos de rollback é feito automaticamente pelo banco e eu não preciso me preocupar com isso, somente com o tamanho
[oracle_br] Verificar Patch instalado
Pessoal, Tem alguma forma de verificar pelo banco de dados quais patches\patchsets\fix foram instalados? SO: Windows Server 2003 BD: Oracle 9.2.0.8 sds, --- Felipe Daniel O. Aragão GBarbosa Comercial Ltda. Analista de Banco de Dados OCP-Oracle Certification Professional --- Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Verificar Patch instalado
Felipe , para CPUs (Critical Patch Updates ) faça assim: set ORACLE_HOME=seu_home va no diretório %ORACLE_HOME%/OPatch/ digite o comando opatch lsinventory Abraços JOSÉ CARLITOS CARVALHO JÚNIOR Administrador de Banco de Dados PST Electronics S/A (+55 (19) 3787-6418 Ê+55 (19) 3787-6238 / [EMAIL PROTECTED] web:http://www.pst.com.br web:http://www.positron.com.br 100+ Inovadoras no Uso de TI 2006 no setor Indústria: Automotiva e Autopeças Felipe Daniel [EMAIL PROTECTED] Sent by: oracle_br@yahoogrupos.com.br 07/02/2008 11:06 Please respond to oracle_br@yahoogrupos.com.br To oracle_br@yahoogrupos.com.br, [EMAIL PROTECTED] cc Subject [oracle_br] Verificar Patch instalado Pessoal, Tem alguma forma de verificar pelo banco de dados quais patches\patchsets\fix foram instalados? SO: Windows Server 2003 BD: Oracle 9.2.0.8 sds, --- Felipe Daniel O. Aragão GBarbosa Comercial Ltda. Analista de Banco de Dados OCP-Oracle Certification Professional --- Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] * Esta mensagem, incluindo os seus anexos, contém informações confidenciais destinadas a indivíduo e propósito específicos, e é protegida por lei. Caso você não seja o citado indivíduo, deve apagar esta mensagem. É terminantemente proibida a utilização, acesso, cópia ou divulgação não autorizada das informações presentes nesta mensagem. As informações contidas nesta mensagem e em seus anexos são de responsabilidade de seu autor, não representando idéias, opiniões, pensamentos ou qualquer forma de posicionamento por parte da PST Indústria Eletrônica da Amazônia Ltda. The information contained in this communication is confidential, is law protected, and is intended only for the business use of the addressee. If you have received this communication in error, please immediately delete it. It's forbidden the unauthorized use, access, copy or disclose of the information contained in this communication. The content of this message is responsibility of the author, and does not represent ideas, opinions, thoughts or any kind of statement of PST Indústria Eletrônica da Amazônia Ltda. [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: certificação oracle 9i
--- Em oracle_br@yahoogrupos.com.br, claudyafo [EMAIL PROTECTED] escreveu Boa tarde, pessoal! Estou precisando de apostila do SQL oracle 9i para tirar a certificação. Alguem tem ou poderia dar-me alguma dica de onde eu poderia encontrar? Obrigada. eu acho q tenho em casa!! preciso procurar!
[oracle_br] Res:Re: ORA-12560: TNS:erro de adaptador de protocolo
Carlos, se é que entendi bem, você gostaria de conectar a um servidor oracle que esta na internet? Entre 1 computador ligado a net e uma maquina com oracle ligada na net também? Me diz uma coisa, na sua rede do servidor, o gateway de internet é outra máquina, correto? Que distribui conexão web para várias outras máquinas, correto? Se para minhas perguntas a resposta for sim, você configurou um nat no seu router ( ou server de internet)? No cliente, (máquina que vai acessar o oracle remotamente), vc verificou firewall etc? --- Em oracle_br@yahoogrupos.com.br, Carlos Geiser [EMAIL PROTECTED] escreveu Bom dia Gustavo, eu já tinha achado esses dois links pesquisando o Google mesmo assim revi esses dois links para ver se achava ali a solução mas nada. Problema na rede não é, pois a rede eu mesmo instalei e não tem nenhuma limitação, tudo liberado. Se alguem puder ajudar nessa conexão vai ai os dados: IP externo: 201.25.25.173 - Porta: 1521 IP Interno do servidor: 192.168.1.33 Nome do Banco: CONPRO USUARIO (Esquema) CEPS SENHA: CEPS quem puder ajudar a conectar esse esquema e ver o que se está faltando alguma coisa para conexão é só falar que passo. Grato, Carlos Geiser. - Original Message - From: Gustavo Veríssimo To: oracle_br@yahoogrupos.com.br Sent: Wednesday, February 06, 2008 12:12 PM Subject: [oracle_br] Res:Re: ORA-12560: TNS:erro de adaptador de protocolo Bom Dia Deêm uma olhada nessas duas discussões: http://info.abril.com.br/forum/forum.php?topico=93248 http://info.abril.com.br/forum/forum.php?topico=93518 No meu caso, os passos passados resolveram o problema. __ Gustavo Veríssimo Junqueira Rodrigues MSN : [EMAIL PROTECTED] Rua Padre Conrado, 987 - (016) 3723-3033 14405-275 Franca - SP __ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Re: compando imp
Obrigado Valeu _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de rei_do_delphi Enviada em: quinta-feira, 7 de fevereiro de 2008 15:47 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Re: compando imp no oracle é %. Se sua versão for 10g, e for exportar para 10g, usa o expdp e impdp ou invés de imp e exp. --- Em [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br, Gerson Luz - Dpto. TI [EMAIL PROTECTED] escreveu Boa tarde a todos, Estou com uma dúvida, quando utilizo o comando imp, no parametro tables, eu consigo utilizar de caracteres coringa? Tipo tables=SR*, e ele importar todas as tabelas que começão com SR? Grato Gerson Luz Departamento de T.I. [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: Tempo de Resposta de SQL no Banco
Só uma dica pra você pensar: você analisar uma query no sqlplus é MUITO diferente de analisar uma query na aplicação. Uma query pode ter uma resposta de menos de 1 segundo no sqlplus, mas na hora da aplicação demorar 1minuto. Depende do estado do banco. Não sei se adianta muito pra você, mas a sugestão do amigo de olhar a v$session_longops é a mais adequada, na minha opinião. Em 07/02/08, dhvillegas [EMAIL PROTECTED] escreveu: O intuito disso é fazer uma analise em todas as consultas das aplicaçoes existentes, ago parecido com o que eu ja tenho numa base em postgress. Montei um relatorio baseado em todas as conexões efetuados durante o dia, sumarizando todas as consultas e mostrando a media do tempo gasto de cada view, com isso consigo saber se ha alguma coisa errada com alguma aplicacao que pode provocar a lentidao do servico. precisava de algo assim: select * from tables 34ms select * from users where id_user = 1 23ms Obrigado Denis --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, rei_do_delphi [EMAIL PROTECTED] escreveu Denis, não tenho acesso ao Oracle aqui no serviço, mas se muito não me engano, você consegue essas informações na v$sql. Vallew. --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, dhvillegas denis.villegas@ escreveu Pessoal, Preciso saber se existe alguma consulta ou query que esteja rodando e o tempo seja maior que 1 segundo, pra fins de analise, isso é possivel, consigo estrair essa informação? abs Denis [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Export de Tabelas
Se seu banco for 10g, vc pode usar o Data Pump, que é bem melhor... blz.. qualquer coisa vc pode encontrar no Google.. blz.. abraço! Welvis Douglas - Original Message - From: Carlos Henrique Correa To: oracle_br@yahoogrupos.com.br Sent: Thursday, February 07, 2008 4:37 PM Subject: Re: [oracle_br] Export de Tabelas Dê uma olhada neset link: http://www.psoug.org/reference/export.html Carl Jose - Oracle [EMAIL PROTECTED] escreveu: Algum colega poderia me dar uma auxilio para exportar uma tabela de oracle para oracle ? [] barba [As partes desta mensagem que não continham texto foram removidas] O ENPO-BR 2008 (O maior evento de Profissionais de Oracle do Brasil!) será realizado no dia 29 de Março no auditório da FIAP - Faculdade de Administração e Informática Paulista em São Paulo. E tem total apoio deste Grupo. Veja mais em http://www.enpo-br.org/ -- 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/ -- O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ -- Links do Yahoo! Grupos - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Download de Oracle Client 8i e 9i
O cliente do Oracle 8i encontrei no CD oficial do servidor 8i. Mas acredito que os drivers que vc consegue pro 9i funcionam nele sem problemas. Tenta procurar pelos JDBC do 9i no site oficial que vc encontra. _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de TucaZ Enviada em: quinta-feira, 7 de fevereiro de 2008 16:48 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Download de Oracle Client 8i e 9i Boa tarde Srs, estou precisando dar manutenção em uma aplicação que consome Oracle 8i e 9i, mas não encontro em lugar nenhum esses Oracle Clients pra download. Eu sei que o 8i não é mais suportado então não tem mais no site oficial. Minha pergunta é se alguém sabe algum lugar alternativo pra efetuar esses doanloads? Muito obrigado! Att., Antonio Carlos Zegunis Filho [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Download de Oracle Client 8i e 9i
Boa tarde Srs, estou precisando dar manutenção em uma aplicação que consome Oracle 8i e 9i, mas não encontro em lugar nenhum esses Oracle Clients pra download. Eu sei que o 8i não é mais suportado então não tem mais no site oficial. Minha pergunta é se alguém sabe algum lugar alternativo pra efetuar esses doanloads? Muito obrigado! Att., Antonio Carlos Zegunis Filho [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Reindexação de tabelas (URGENTE)
Olá Pessoal, Estava de férias e aqui na empresa foi necessário atualizar a base de dados oracle 9.2.0.3 para 9.2.0.7 para que algumas atualização da RM Sistemas fizessem efeito. POis bem, foi feita a atualização e hoje quando retornei de férias verifiquei que não rola o exp e o imp. No momento de exportar rola: . . exporting table XUSUARIO 1 rows exported EXP-00056: ORACLE error 904 encountered ORA-00904: SYS.DBMS_EXPORT_EXTENSION.FUNC_INDEX_DEFAULT: invalid identifie r isso é uma das tabelas, ok? Eu reindexei tudo com o comando: select 'alter index USUARIO.EPONTOPRF_PK rebuild;' from dba_indexes where owner='USUARIO'; Rodei o script e para um de meus schemas funcionou perfeitamente mas para o principal não, dá o erro apresentado. Conversei com o pessoal que fez a atualização do Oracle e me informaram que apenas os comandos de statística que são aplicados antes da instalação da atualização do Oracle é que não foram executados. O comando era p execute dbms_stats.delete_schema_stats('sys'); Não sei se tem exetamente haves o caso acima, mas se tiver como farei pois eles ainda que não conseguissem rodar este comando, instalaram o pacth para a versão 9.2.0.7. Como eu poderia acertar este problema? Por favor, me ajudem. Aguarddo ancioso a auda dos amigos. Atenciosamente Wilson Dutra
Re: [oracle_br] Export de Tabelas
Dê uma olhada neset link: http://www.psoug.org/reference/export.html Carl Jose - Oracle [EMAIL PROTECTED] escreveu: Algum colega poderia me dar uma auxilio para exportar uma tabela de oracle para oracle ? [] barba [As partes desta mensagem que não continham texto foram removidas] O ENPO-BR 2008 (O maior evento de Profissionais de Oracle do Brasil!) será realizado no dia 29 de Março no auditório da FIAP - Faculdade de Administração e Informática Paulista em São Paulo. E tem total apoio deste Grupo. Veja mais em http://www.enpo-br.org/ -- 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/ -- O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Qual processo é tem menor custo para o banco ???
Boa tarde ! Estou com algumas duvidas e gostaria de uma ajuda. 1 - O conceito de NESTED TABLE é melhor que usar duas tabelas separadas ? 2 - Devo criar uma tabela de dominio, usar FK e depois fazer os joins ou posso criar uma nested table para fazer a mesma coisa ? De qualque modo terei quase um milhão de registros. Utilizo oracle 10g rodando em linux Red Hat. Obrigado Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: compando imp
no oracle é %. Se sua versão for 10g, e for exportar para 10g, usa o expdp e impdp ou invés de imp e exp. --- Em oracle_br@yahoogrupos.com.br, Gerson Luz - Dpto. TI [EMAIL PROTECTED] escreveu Boa tarde a todos, Estou com uma dúvida, quando utilizo o comando imp, no parametro tables, eu consigo utilizar de caracteres coringa? Tipo tables=SR*, e ele importar todas as tabelas que começão com SR? Grato Gerson Luz Departamento de T.I. [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] compando imp
Boa tarde a todos, Estou com uma dúvida, quando utilizo o comando imp, no parametro tables, eu consigo utilizar de caracteres coringa? Tipo tables=SR*, e ele importar todas as tabelas que começão com SR? Grato Gerson Luz Departamento de T.I. [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Tempo de Resposta de SQL no Banco
O intuito disso é fazer uma analise em todas as consultas das aplicaçoes existentes, ago parecido com o que eu ja tenho numa base em postgress. Montei um relatorio baseado em todas as conexões efetuados durante o dia, sumarizando todas as consultas e mostrando a media do tempo gasto de cada view, com isso consigo saber se ha alguma coisa errada com alguma aplicacao que pode provocar a lentidao do servico. precisava de algo assim: select * from tables 34ms select * from users where id_user = 1 23ms Obrigado Denis --- Em oracle_br@yahoogrupos.com.br, rei_do_delphi [EMAIL PROTECTED] escreveu Denis, não tenho acesso ao Oracle aqui no serviço, mas se muito não me engano, você consegue essas informações na v$sql. Vallew. --- Em oracle_br@yahoogrupos.com.br, dhvillegas denis.villegas@ escreveu Pessoal, Preciso saber se existe alguma consulta ou query que esteja rodando e o tempo seja maior que 1 segundo, pra fins de analise, isso é possivel, consigo estrair essa informação? abs Denis
Re: [oracle_br] Export de Tabelas
Meu jovem leia o manual de administração oracle. ou no sistema operacional com o usuário oracle, digite : exp help=y e depois imp help=y Boa sorte Rogério Em 07/02/08, Jose - Oracle [EMAIL PROTECTED] escreveu: Algum colega poderia me dar uma auxilio para exportar uma tabela de oracle para oracle ? [] barba [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Ferramenta para monitoramento
Boa tarde a todos, Alguem conhece e que possa me indicar alguma ferramenta da propria Oracle que possa monitorar a porta 1521. Quero monitorar por exemplo: a) o tempo de resposta (consulta mais demorada); b) conexoes recusadas; etc... Utilizo Oracle 10g. Obrigado pela atencao de todos. Kleber [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Tempo de Resposta de SQL no Banco
Denis, não tenho acesso ao Oracle aqui no serviço, mas se muito não me engano, você consegue essas informações na v$sql. Vallew. --- Em oracle_br@yahoogrupos.com.br, dhvillegas [EMAIL PROTECTED] escreveu Pessoal, Preciso saber se existe alguma consulta ou query que esteja rodando e o tempo seja maior que 1 segundo, pra fins de analise, isso é possivel, consigo estrair essa informação? abs Denis
Re: [oracle_br] Qual processo é tem menor custo para o banco ???
Olá Kalango, Em momentos que realizei testes com nested table ela se mostrou boa para tabelas com poucas linhas x manutenção (DML). Na realidade, na Teoria, a Documentação da Oracle fala bem de nested tables, mas na prática, não vejo usuários que estão usando essa solução. O que desejo citar, do qual julgo importante é que meça com bastante cuidado os teus testes, meça o quanto de overhead um SQL/PL recursivo estará adicionando, use volumes verdadeiros no teste, com vários usuários simultâneos, teste performance, enfim, ok??? Quando cito acima os sql/pl recursivo me refiro ao explicado no seguinte link: http://asktom.oracle.com/pls/ask/f?p=4950:8:F4950_P8_DISPLAYID:3311300131016 Saudações, Anderson Haertel Rodrigues Consultor Oracle TEIKO Soluções em Tecnologia da Informação Blumenau/SC (47) - 3035 3777 - (47) 9178 0170 www.teiko.com.br --- Kalango Brasilis [EMAIL PROTECTED] escreveu: Boa tarde ! Estou com algumas duvidas e gostaria de uma ajuda. 1 - O conceito de NESTED TABLE é melhor que usar duas tabelas separadas ? 2 - Devo criar uma tabela de dominio, usar FK e depois fazer os joins ou posso criar uma nested table para fazer a mesma coisa ? De qualque modo terei quase um milhão de registros. Utilizo oracle 10g rodando em linux Red Hat. Obrigado Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] O ENPO-BR 2008 (O maior evento de Profissionais de Oracle do Brasil!) será realizado no dia 29 de Março no auditório da FIAP - Faculdade de Administração e Informática Paulista em São Paulo. E tem total apoio deste Grupo. Veja mais em http://www.enpo-br.org/ -- 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/ -- O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/
Re: [oracle_br] Reindexação de tabelas (URGENTE)
Tenta @?/rdbms/admin/catexp E Tente exportar novamente Thiago M. Zerbinato [thiagomz] OCP DBA --- http://thiagomz.hpg.com.br Wilson Dutra said the following on 7/2/2008 19:54: Olá Pessoal, Estava de férias e aqui na empresa foi necessário atualizar a base de dados oracle 9.2.0.3 para 9.2.0.7 para que algumas atualização da RM Sistemas fizessem efeito. POis bem, foi feita a atualização e hoje quando retornei de férias verifiquei que não rola o exp e o imp. No momento de exportar rola: . . exporting table XUSUARIO 1 rows exported EXP-00056: ORACLE error 904 encountered ORA-00904: SYS.DBMS_EXPORT_EXTENSION.FUNC_INDEX_DEFAULT: invalid identifie r isso é uma das tabelas, ok? Eu reindexei tudo com o comando: select 'alter index USUARIO.EPONTOPRF_PK rebuild;' from dba_indexes where owner='USUARIO'; Rodei o script e para um de meus schemas funcionou perfeitamente mas para o principal não, dá o erro apresentado. Conversei com o pessoal que fez a atualização do Oracle e me informaram que apenas os comandos de statística que são aplicados antes da instalação da atualização do Oracle é que não foram executados. O comando era p execute dbms_stats.delete_schema_stats('sys'); Não sei se tem exetamente haves o caso acima, mas se tiver como farei pois eles ainda que não conseguissem rodar este comando, instalaram o pacth para a versão 9.2.0.7. Como eu poderia acertar este problema? Por favor, me ajudem. Aguarddo ancioso a auda dos amigos. Atenciosamente Wilson Dutra O ENPO-BR 2008 (O maior evento de Profissionais de Oracle do Brasil!) será realizado no dia 29 de Março no auditório da FIAP - Faculdade de Administração e Informática Paulista em São Paulo. E tem total apoio deste Grupo. Veja mais em http://www.enpo-br.org/ -- 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/ -- O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos
Re: [oracle_br] Res:Re: ORA-12560: TNS:erro de adaptador de protocolo
Olá, Sim, eu configurei um nat, da mesma maneira que configuro para liberar a porta 3389 para acessar o servidor por Terminal Service. Não existe Firewall, tá tudo liberado. - Original Message - From: rei_do_delphi To: oracle_br@yahoogrupos.com.br Sent: Thursday, February 07, 2008 1:12 PM Subject: [oracle_br] Res:Re: ORA-12560: TNS:erro de adaptador de protocolo Carlos, se é que entendi bem, você gostaria de conectar a um servidor oracle que esta na internet? Entre 1 computador ligado a net e uma maquina com oracle ligada na net também? Me diz uma coisa, na sua rede do servidor, o gateway de internet é outra máquina, correto? Que distribui conexão web para várias outras máquinas, correto? Se para minhas perguntas a resposta for sim, você configurou um nat no seu router ( ou server de internet)? No cliente, (máquina que vai acessar o oracle remotamente), vc verificou firewall etc? --- Em oracle_br@yahoogrupos.com.br, Carlos Geiser [EMAIL PROTECTED] escreveu Bom dia Gustavo, eu já tinha achado esses dois links pesquisando o Google mesmo assim revi esses dois links para ver se achava ali a solução mas nada. Problema na rede não é, pois a rede eu mesmo instalei e não tem nenhuma limitação, tudo liberado. Se alguem puder ajudar nessa conexão vai ai os dados: IP externo: 201.25.25.173 - Porta: 1521 IP Interno do servidor: 192.168.1.33 Nome do Banco: CONPRO USUARIO (Esquema) CEPS SENHA: CEPS quem puder ajudar a conectar esse esquema e ver o que se está faltando alguma coisa para conexão é só falar que passo. Grato, Carlos Geiser. - Original Message - From: Gustavo Veríssimo To: oracle_br@yahoogrupos.com.br Sent: Wednesday, February 06, 2008 12:12 PM Subject: [oracle_br] Res:Re: ORA-12560: TNS:erro de adaptador de protocolo Bom Dia Deêm uma olhada nessas duas discussões: http://info.abril.com.br/forum/forum.php?topico=93248 http://info.abril.com.br/forum/forum.php?topico=93518 No meu caso, os passos passados resolveram o problema. __ Gustavo Veríssimo Junqueira Rodrigues MSN : [EMAIL PROTECTED] Rua Padre Conrado, 987 - (016) 3723-3033 14405-275 Franca - SP __ [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]
RES: [oracle_br] Re: Tempo de Resposta de SQL no Banco
set timing on select count(*) from user_objects; set timing off De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Gleyson Melo Enviada em: quinta-feira, 7 de fevereiro de 2008 13:40 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Re: Tempo de Resposta de SQL no Banco Fala Denis! Deixa eu ver se entendi o que você quer.. lendo a sua mensagem, você quer saber se existe alguma consulta demorando mais de um segundo. Essa é uma pergunta muuuito específica. Se fossem consultas demoradas de verdade, eu te recomendaria olhar na v$session_longops. Já que você está falando em um tempo muito pequeno, eu te recomendo fazer um sql_trace, se você tiver possibilidade. alter session set sql_trace=true; select * from tabela1; select * from tabela1; select * from tabela1; alter session set sql_trace=false; Depois você olha no user_dump_dest e procura o arquivo de trace. Encontrando, você usa a ferramenta tkprof para convertê-lo para um formato mais amigável e analisa por lá. Só não lembro se iniciando o trace dessa forma ele te gera os tempos. Essa abordagem do trace considera que você tem como monitorar um conjunto específico de consultas para saber quanto tempo cada uma está demorando. Em 07/02/08, rei_do_delphi [EMAIL PROTECTED] mailto:brunomaximomogi%40hotmail.com escreveu: Denis, não tenho acesso ao Oracle aqui no serviço, mas se muito não me engano, você consegue essas informações na v$sql. Vallew. --- Em oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, dhvillegas [EMAIL PROTECTED] escreveu Pessoal, Preciso saber se existe alguma consulta ou query que esteja rodando e o tempo seja maior que 1 segundo, pra fins de analise, isso é possivel, consigo estrair essa informação? abs Denis -- Atenciosamente, Gleyson Melo Oracle Database 10g Administrator Certified Professional [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Oracle + Linux
O que você pode fazer, é chamar o script no rc.local do linux. Sempre q o linux é reiniciado ele lê esse arquivo, basta colocar o comando q vc executaria no console para levantar as instancias. Eu configurei aqui no meu servidor, e ta funcionando legalzinho! BOa sorte --- Em oracle_br@yahoogrupos.com.br, Milton Bastos Henriquis Jr. [EMAIL PROTECTED] escreveu Crie um script no Linux para subir automático depois do boot. Dei uma pesquisada rápida no Google e encontrei essas páginas: http://www.oracle-base.com/articles/linux/AutomatingDatabaseStartupAndShutdownOnLinux.php http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b15658/strt_stp.htm http://www.globalguideline.com/db/Automating_Database_Startup_and_Shutdown_on_Linux.php http://www.remote-dba.net/t_grid_db_startup_shutdown.htm http://www.linux.org/docs/ldp/howto/Oracle-7-HOWTO-6.html 2008/2/6 Adriano Cavalcanti [EMAIL PROTECTED]: Criar eu consegui soh nao intendo como faço para subir. Quando eu crio ele ja fica ativo, mas quando eu reinicio o servidor por algum motivo nao sei bem como faço para ele subir. preciso ainda fazer com que eles iniciem quando o servidor iniciar. Ajuda ? To: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br From: [EMAIL PROTECTED] miltonbastos%40gmail.com Date: Wed, 6 Feb 2008 14:23:40 -0200 Subject: Re: [oracle_br] Oracle + Linux Não há segredo, basta criar outra instância usando o dbca (é um executável, está na pasta $ORACLE_HOME/bin). 2008/2/6 Adriano Cavalcanti __ Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas e muito mais no MSN Video! http://video.msn.com/?mkt=pt-br [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: ORA-12560: TNS:erro de adaptador de protocolo
Crie um serviço no TNSNAMES e em seguida cria um DBLINK informando o usuario e senha do outro banco que vc quer acessar. Acho q vai! --- Em oracle_br@yahoogrupos.com.br, Carlos Geiser [EMAIL PROTECTED] escreveu Grande Chiappa. A minha falta de conhecimento de expressões me atrapalha. O meu ambiente são dois servidores Win2003 com o Oracle instalado rodando cada um com um banco de dados distintos. Um servidor se encontra em Porto Alegre e outro servidor se encontra em Feira e Santa (BH) Esse ambiente é laboratório, ou seja, ambiente de estudos e testes. Quando disse via internet , quis somente dizer que o acesso NÃO é via rede local, ou seja, estou querendo acessar uma aplicação (JAVA) Descktop de um outro computador (Servidor de um colega meu) que tem SIM o Oracle instalado pois esse mesmo computador roda um outro banco de dados ENTÃO esse computador está tudo certinho para acessar um outro banco de dados externo. Os IP´s são fixos com os suas respectiva portas 1521 liberadas. Ambos servidores acessam bem os seus respectivos bancos de dados pela rede local. O que estamos querendo agora é fazer com que um dos servidores acesse o banco de dados do outro. Grato Carlos Geiser. - Original Message - From: jlchiappa To: oracle_br@yahoogrupos.com.br Sent: Monday, February 04, 2008 8:18 PM Subject: [oracle_br] Re: ORA-12560: TNS:erro de adaptador de protocolo Eu não entendi muito bem, se é aplicação desktop, o que significa esse via internet Outra coisa, se é uma aplicação web, que o usuário utiliza via browser, normalmente o que ocorre é que o browser só envia/recebe msgs pro servidor web, e é o ** servidor web ** que conecta no banco, então é ELE que deve ter configurados TNSNAMES.ORA, SQLNET.ORA , deve ter cliente Oracle instalado se o acesso do servidor web ao banco é THICK, isso tudo confere ? Há pool de conexão envolvido ? Se sim, qual é ? E é claro, a partir do momento que vc fala via internet , tranquilamente o servidor web pode estar numa OUTRA rede, fisicamente distante do servidor de banco, então há algum tipo de ROTEAMENTO aí na parada entre as duas redes, vc tem certeza de que não está havendo qquer impedimento aí ? O IP que vc usa, é REALMENTE público, a outra rede consegue o enxergar ?? Enfim, dá uma palavrinha aí sobre o seu ambiente, onde está o servidor web e o de banco, que tipo de comunicação de rede vc tem entre eles, como foi montado o acesso entre eles (se há túnel ou se é rede privada direta), enfim, dá uma dic geral nesse sentido da rede, que pelo jeito é algo por aí que tá te pegando Eu mesmo não manjo assim tão profundamente de rede, mas se não conseguir qquer colega que onheça mais nos esclarece... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Carlos Geiser geiser@ escreveu Olá pessoal, estou conectando 100% BEM o Oracle 9i com JAVA (Aplicação desktop) pela rede local, mas quando tendo conectar via internet da erro: ORA-12560: TNS:erro de adaptador de protocolo Em tnsnames.ora adicionei: GEISER = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 201.25.25.173)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = CONPRO) ) ) OBS: uso o Servidor Windows 2003 A porta 1521 se encontra aberta no modem Não tem nenhum Firewall instalado alguém poderia dar um dica ? Grato, Carlos Geiser. [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] Res:Re: ORA-12560: TNS:erro de adaptador de protocolo
Bom dia Gustavo, eu já tinha achado esses dois links pesquisando o Google mesmo assim revi esses dois links para ver se achava ali a solução mas nada. Problema na rede não é, pois a rede eu mesmo instalei e não tem nenhuma limitação, tudo liberado. Se alguem puder ajudar nessa conexão vai ai os dados: IP externo: 201.25.25.173 - Porta: 1521 IP Interno do servidor: 192.168.1.33 Nome do Banco: CONPRO USUARIO (Esquema) CEPS SENHA: CEPS quem puder ajudar a conectar esse esquema e ver o que se está faltando alguma coisa para conexão é só falar que passo. Grato, Carlos Geiser. - Original Message - From: Gustavo Veríssimo To: oracle_br@yahoogrupos.com.br Sent: Wednesday, February 06, 2008 12:12 PM Subject: [oracle_br] Res:Re: ORA-12560: TNS:erro de adaptador de protocolo Bom Dia Deêm uma olhada nessas duas discussões: http://info.abril.com.br/forum/forum.php?topico=93248 http://info.abril.com.br/forum/forum.php?topico=93518 No meu caso, os passos passados resolveram o problema. __ Gustavo Veríssimo Junqueira Rodrigues MSN : [EMAIL PROTECTED] Rua Padre Conrado, 987 - (016) 3723-3033 14405-275 Franca - SP __ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Invitation to connect on LinkedIn
Julio Nohara requested to add you as a connection on LinkedIn: -- Carmine Andre, I'd like to add you to my professional network on LinkedIn. -Julio View invitation from Julio Nohara http://www.linkedin.com/e/hWdLbEQovS9WxUla2SAnQ1WHcdNiQNfnEPkab4_YW6T/blk/435062324_2/cBYQczcOdz0RcPgLqnpPbOYWrSlI/svi/ -- Fact: Harvard Business School graduates have 58 connections each (average) -- (c) 2007, LinkedIn Corporation [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Tempo de Resposta de SQL no Banco
Pessoal, Preciso saber se existe alguma consulta ou query que esteja rodando e o tempo seja maior que 1 segundo, pra fins de analise, isso é possivel, consigo estrair essa informação? abs Denis
Re: [oracle_br] Re: Tempo de Resposta de SQL no Banco
Fala Denis! Deixa eu ver se entendi o que você quer.. lendo a sua mensagem, você quer saber se existe alguma consulta demorando mais de um segundo. Essa é uma pergunta muuuito específica. Se fossem consultas demoradas de verdade, eu te recomendaria olhar na v$session_longops. Já que você está falando em um tempo muito pequeno, eu te recomendo fazer um sql_trace, se você tiver possibilidade. alter session set sql_trace=true; select * from tabela1; select * from tabela1; select * from tabela1; alter session set sql_trace=false; Depois você olha no user_dump_dest e procura o arquivo de trace. Encontrando, você usa a ferramenta tkprof para convertê-lo para um formato mais amigável e analisa por lá. Só não lembro se iniciando o trace dessa forma ele te gera os tempos. Essa abordagem do trace considera que você tem como monitorar um conjunto específico de consultas para saber quanto tempo cada uma está demorando. Em 07/02/08, rei_do_delphi [EMAIL PROTECTED] escreveu: Denis, não tenho acesso ao Oracle aqui no serviço, mas se muito não me engano, você consegue essas informações na v$sql. Vallew. --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, dhvillegas [EMAIL PROTECTED] escreveu Pessoal, Preciso saber se existe alguma consulta ou query que esteja rodando e o tempo seja maior que 1 segundo, pra fins de analise, isso é possivel, consigo estrair essa informação? abs Denis -- Atenciosamente, Gleyson Melo Oracle Database 10g Administrator Certified Professional [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: URGENTE - CORRUPT BLOCK RELATIVE DBA
Chiappa, O export full funcionou apesar de ter apresentado um warning ora- 00903 para um dos objetos, veja o último trecho do log: - . about to export 01148402's tables via Conventional Path ... . about to export 01160639's tables via Conventional Path ... . about to export 01088913's tables via Conventional Path ... . exporting synonyms . exporting views . exporting referential integrity constraints . exporting stored procedures . exporting operators . exporting indextypes . exporting bitmap, functional and extensible indexes . exporting posttables actions . exporting triggers . exporting materialized views . exporting snapshot logs . exporting job queues . exporting refresh groups and children . exporting dimensions . exporting post-schema procedural objects and actions EXP-8: ORACLE error 903 encountered ORA-00903: invalid table name ORA-06512: at SYS.DBMS_RULE_EXP_RL_INTERNAL, line 311 ORA-06512: at SYS.DBMS_RULE_EXP_RULES, line 142 ORA-06512: at line 1 EXP-00083: The previous problem occurred when calling SYS.DBMS_RULE_EXP_RULES.schema_info_exp . exporting user history table . exporting default and system auditing options . exporting statistics Export terminated successfully with warnings. -- O DBV com o banco offline eu estou agendando, pois com o banco online não retornou erro. Também encaminhei ao suporte de servidores as questões a verificar sobre harware e SO. Obrigado e desculpe pela demora em atender. Pedro. --- Em oracle_br@yahoogrupos.com.br, jlchiappa [EMAIL PROTECTED] escreveu Bem, provavelmente o colega leu rapiinho a referência Current log# 3 seq# 250522 mem# 1: E:\ORACLE\DATA\P16\REDO3B.LOG e por iso julgou que o assunto tinha a ver om redo log file... Se realmente esse file 13, block 233993 é de datafile, vc tem corrupção em mãos Se o dbv foi ** mesmo ** executado corretamente e não mostrou nada, sim, há grandes chances do problema ser corrupção em RAM, ie : o bloco está correto, quando o bloco é lido pra RAM há algum pente de RAM defeituoso (digamos), aí o byte que estava como X no disco por falha da RAM é armazenado como Y, aí é corrupção à vista Eu recomendo : 1. fazer um export full, para que os objetos de dados todos sejam acessados 2. experimentar um DBV nos datafiles todos com o banco offline e o mais importante : 3. uma checagem PROFUNDA e RIGOROSA do teu hardware, EM ESPECIAL placa-mãe, pentes de RAM, controladoras Eu ** não *** estou falando de rodar CHKDSK, é alguma coisa MAIS PROFUNDA que isso, yes ?? se vc não tem o conhecimento e as tools necessárias, chame uma empresa especializada, se o fornecedor do teu hardware não oferece esse serviço... 4. há a chance também de bugs em software embarcado (como SO, ou drivers, por exemplo), eu recomendo também uma checagem no Suporte do teu SO e/ou do teu fornecedor de hardware, bem como nos fóruns e grupos de discussão de usuários do mesmo hardware que vc, procurando por patches... SE o teu fornecedor oferece Suporte referente à isto, acioná-lo... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, pedrojosemanso pedrojosemanso@ escreveu Rogerio, Obrigado por sua ajuda! Mas o file# referido no erro não é do redo. É de um datafile. Pela mensagem de erro parece ser alguma coisa em buffer e não em disco. Não é isso? Atenciosamente, Pedro Manso. --- Em oracle_br@yahoogrupos.com.br, Rogério Falconi rogerfalcon@ escreveu Se numca fez, podemos passar o procedimento... Em 17/01/08, Rogério Falconi rogerfalcon@ escreveu: Jovem, o redo REDO3B.LOG esta corrompido. faça o procedimento de criação de novos redos e exclua os velhos. sito resolverá o mais fácil pra vc, use o interprise manager. []´s Rogério Em 16/01/08, pedrojosemanso pedrojosemanso@ escreveu: Senhores, Estamos no meio de um processo de muita atividade online e de forma intermitente tem aparecido no alert esteas mensagens de erro abaixo acompanhadas de indisponibilidade do banco de dados. As conexões vão caindo e novas conexões recebem o erro 12500. Vejam a mensagem: Wed Jan 16 15:06:19 2008 Current log# 3 seq# 250522 mem# 1: E:\ORACLE\DATA\P16 \REDO3B.LOG *** Corrupt block relative dba: 0x03439209 (file 13, block 233993) Bad header found during buffer read Data in bad block - type: 6 format: 2 rdba: 0x03439288 last change scn: 0x.7889f9b9 seq: 0x1 flg: 0x06 consistency value in tail: 0xf9b90601 check value in block header: 0xc349, computed block checksum: 0x0 spare1: 0x0, spare2: 0x0, spare3: 0x0 *** Reread of rdba: 0x03439209 (file 13, block 233993) found valid data *** Executei o dbv nos datafiles e não
[oracle_br] Erro em plsql
Olá amigos Venho mais uma vez pedir mais uma vez a ajuda de vcs. Não estou entendendo o que está errado nesta PL. DECLARE CURSOR IDX IS SELECT INDEX_NAME FROM USER_INDEXES; BEGIN FOR C_IDX IN IDX LOOP EXECUTE IMMEDIATE 'ALTER INDEX '||C_IDX.INDEX_NAME||' REBUILD TABLESPACE TS_IDX_DISCO ;'; END LOOP; END; DECLARE * ERRO na linha 1: ORA-00911: caractere invßlido ORA-06512: em line 6
[oracle_br] Export de Tabelas
Algum colega poderia me dar uma auxilio para exportar uma tabela de oracle para oracle ? [] barba [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Erro em plsql
ops$marcio:LX10G select index_name, tablespace_name from user_indexes; INDEX_NAME TABLESPACE_NAME -- -- TI USERS TI2USERS 2 rows selected. ops$marcio:LX10G ops$marcio:LX10G begin 2 for x in ( select index_name from user_indexes ) 3 loop 4 execute immediate 'alter index '|| x.index_name ||' rebuild tablespace sysaux'; 5 end loop; 6 end; 7 / PL/SQL procedure successfully completed. ops$marcio:LX10G ops$marcio:LX10G select index_name, tablespace_name from user_indexes; INDEX_NAME TABLESPACE_NAME -- -- TI SYSAUX TI2SYSAUX 2 rows selected. 2008/2/7 jorgelrt1 [EMAIL PROTECTED]: Olá amigos Venho mais uma vez pedir mais uma vez a ajuda de vcs. Não estou entendendo o que está errado nesta PL. DECLARE CURSOR IDX IS SELECT INDEX_NAME FROM USER_INDEXES; BEGIN FOR C_IDX IN IDX LOOP EXECUTE IMMEDIATE 'ALTER INDEX '||C_IDX.INDEX_NAME||' REBUILD TABLESPACE TS_IDX_DISCO ;'; END LOOP; END; DECLARE * ERRO na linha 1: ORA-00911: caractere invßlido ORA-06512: em line 6 -- Marcio Portes Material Tecnico em Portugues - http://mportes.blogspot.com Practical Learning Oracle - http://mportes.blogspot.com/2006/02/practical-learning-oracle.html [As partes desta mensagem que não continham texto foram removidas]