Como resolver problemas com seus registros do banco de dados oracle 12c

Video: Programação Avançada de Banco de Dados Oracle PL/SQL

Você precisa mergulhar no 12c a Oracle registra-se. Cada banco de dados tem um conjunto de diretórios onde chaves de registro, rastreamento e arquivos de despejo são armazenados.

infra-estrutura de log de banco de dados no Oracle 12c

Usando arquivos de log para diagnosticar um problema é muitas vezes uma tarefa diária para o DBA para saber como a Oracle gerencia esse recurso crítico é importante. estrutura e gestão do arquivo de log do Oracle são referidos como a Repositório Automatic Diagnostic (ADR). ADR fornece esses recursos de gerenciamento de log:

  • gerenciamento de log integrada não apenas para o banco de dados, mas outros produtos da Oracle. Atualmente, o Automatic Storage Management e ouvinte também escrever para a nova infra-estrutura de log.

  • O registro de eventos em termos de incidentes com dados de diagnóstico incluído e armazenado em arquivos zip que podem ser revisados ​​e enviados ao Suporte Oracle. A ideia é melhor compartimentar eventos de erro e ordenadamente empacotá-los para que eles possam ser enviados diretamente ao Suporte Oracle.

  • controle de inundações incidente para limitar de forma inteligente a criação eo tamanho dos arquivos de rastreamento. Se um evento repete a uma taxa extrema acima de um limiar definido, apenas a ocorrência do evento é registado.

É importante saber onde os arquivos de diagnóstico principais estão localizados:

  • A localização para os subdirectórios de diagnóstico (diag) é o ADR_BASE e é tipicamente sob a ORACLE_BASE.

  • A localização da base para os subdirectórios de registo é o ADR_HOME e é definida pela base de dados de parâmetro DIAGNOSTIC_DEST.

  • O ADR_HOME está abaixo da localização ADR_BASE e está sob o diretório SID do banco de dados.

A estrutura para ADR_HOME para bases de dados se segue:

$ ADR_BASE / diag / rdbms / DATABASE NAME / DATABASE SID

Por exemplo, aqui é a seguinte estrutura para o banco de dados dev12c:

$ Ls $ ORACLE_BASE / diag / rdbms / dev12c / dev12calert hmincpkg lck metadatametadata_pv sweepcdump log ir incidente metadata_dgif stagetrace

A localização ADR_HOME é o caminho completo até e incluindo a segunda referência para dev12c.

Video: Instalação Oracle Linux 7 Para Banco de Dados

Você vê esta mesma informação ordenadamente armazenados dentro do banco de dados e pode ser consultado via V $ DIAG_INFO:

SQLgt; select name, o valor de v $ diag_info-NAME VALOR ----------- ---------------------------- ----- diag Ativado TRUEADR base / u01 / app / oracleADR Início / u01 / app / oracle / diag / rdbms / dev12c / dev12cDiag Trace / u01 / app / oracle / diag / rdbms / dev12c / dev12c / Alert traceDiag / u01 / app / oracle / diag / rdbms / dev12c / dev12c / alertDiag Incident / u01 / app / oracle / diag / rdbms / dev12c / dev12c / incidentDiag Cdump / u01 / app / oracle / diag / rdbms / dev12c / dev12cl / cdumpHealth monitor / u01 / app / oracle / diag / rdbms / dev12c / dev12c / hmDefault Traçar File / u01 / app / oracle / diag / rdbms / dev12c / dev12c / trace / dev12c_ora_23293.trcActive problema de contagem de 0Active Incident Contagem 011 linhas selecionadas.

Dentro de cada diretório de banco de dados são subdiretórios onde diferentes arquivos são armazenados. Aqui está cada diretório principal e sua finalidade.

Diretóriopropósito
alertaLojas muito importante log de alerta de formato XML para banco de dados
cdumplocal de despejo de núcleo da pilha de memória quando um processo falha
incidenteSubdiretórios relativos a eventos ou incidentes individuais
vestígioRastrear e arquivos de despejo para o fundo e usuário processos- também
contém registro de alertas de texto formatado
Esta é uma lista de cada diretório:
$ Ls $ ORACLE_BASE / diag / rdbms / dev12c / dev12calert hmincpkg lck metadatametadata_pv sweepcdump log ir incidente metadata_dgif stagetraceoralinux1gt; ls $ ORACLE_BASE / diag / rdbms / dev12c / dev12c / alertlog.xml $ ls $ ORACLE_BASE / diag / rdbms / dev12c / dev12c / cdump $ ls $ ORACLE_BASE / diag / rdbms / dev12c / dev12c / incidentes $ ls $ ORACLE_BASE / diag / rdbms / dev12c / dev12c / tracealert_dev12c.logdev12c_m000_23037.trc dev12c_ora_6593.trmdev12c_aqpc_24310.trc dev12c_m000_23037.trm dev12c_ora_760.trc

Esses diretórios podem ficar confuso com muitos arquivos e comer espaço em disco.



Ter um processo para limpar os diretórios de rastreamento, cdump e incidentes para que eles não encher o seu disco e são mais fáceis de gerenciar.

Rastrear e arquivos de despejo no Oracle 12c

Quando um evento de problema ocorre (como um processo falhou ou alocação de memória falhou), arquivos de log para esse evento estão escritos no diretório de rastreamento.

Video: Dicas e Truques de Banco de Dados - Gerenciando bloqueios com Spotlight para Oracle

O formato para o nome do arquivo de log é SID_process name_process ID.TRC:

$ Ls $ ORACLE_BASE / diag / rdbms / dev12c / dev12c / tracealert_dev12c.logdev12c_m000_23037.trc dev12c_ora_6593.trmdev12c_aqpc_24310.trc dev12c_m000_23037.trm dev12c_ora_760.trc

Eis o conteúdo de um arquivo de rastreamento:

arquivo de rastreamento /u01/app/oracle/diag/rdbms/dev12c/dev12c/trace/dev12c_dbw0_24263.trcOracle banco de dados 12c Enterprise Edition versão 12.1.0.1.0 - 64bit ProductionWith o particionamento, OLAP, Análises Avançadas e Real Application Testing optionsORACLE_HOME = / u01 /app/oracle/product/12.1.0System nome: nome LinuxNode: oralinux1Release: 2.6.39-400.17.2.el6uek.x86_64Version: # 1 SMP Wed 13 de março 12:31:05 PDT 2013Machine: nome x86_64Instance: rosca dev12cRedo montado por neste caso: 0 A Oracle número do processo: 11Unix processo pid: 24263, imagem: oracle @ oralinux1 (DBW0) *** 2013/07/19 13: 21: 21,458 *** ID CLIENT :() 2013/07/19 13: 21: 21,458 * ** Name Service :() 2013/07/19 13: 21: 21,458 *** Nome do Módulo :() 2013/07/19 13: 21: 21,458 *** AÇÃO NOME :() 2013/07/19 13: 21: 21.4582013-07-19 13: 21: 21,458540: kjcipctxinit (): (pid | PSN) = (11 | 1): inicializado pctX andlinked 0x125d93038 na lista de processos

A diferença entre um aterro e um arquivo de rastreamento: A vestígio é um log contínuo de um evento de problema. o lixeira é a one-time despejo de informações em um arquivo para um evento de problema. Como um administrador de base (DBA), você deve rever esses arquivos de texto para diagnosticar o que está ocorrendo.

Video: Dicas e Truques de Banco de Dados - Conectando seus Bancos de dados ao Spotlight para Oracle

Se um processo deixa de funcionar, um core dump pode ser criado no diretório cdump. Este é um arquivo de rastreamento binário do processo de memória e seu conteúdo no momento do acidente. Embora muitas pessoas consideram que estes sejam “hands-off” para um DBA para rever, que não é necessariamente o caso.

O comando Linux e UNIX cordas podem mostrar o texto de impressão de um arquivo binário. Se você optar por fazer o upload do arquivo de núcleo para qualquer organização de suporte, você pode querer revê-lo primeiro para combinações de nome de usuário e senha, porque eles são, por vezes presente em texto claro nesses arquivos.

log Listener no Oracle 12c

Você pode ter que rastrear conexões no banco de dados através do ouvinte. Toda vez que uma conexão com o banco de dados ocorre, esse evento (ou fracasso) é armazenado no log ouvinte.

Saber onde os logs de ouvintes são gerados é importante para solução de problemas. Você pode encontrar o registro de ouvinte sob a árvore de diretórios ADR_BASE / diag / tnslsnr. (Neste exemplo, é /u01/app/oracle/diag/tnslsnr/oralinux1/listener/trace/listener.log.)

Aqui está uma entrada de registo de exemplo:

-02-AUG 2013 17:38:48 * (CONNECT_DATA = (SERVICE_NAME = dev12c) (CID = (PROGRAMA = sqlplus) (HOST = oralinux1) (UTILIZADOR = Oracle))) * (ENDEREÇO ​​= (protocolo TCP =) (HOST = 192.168.2.121) (PORT = 21165)) * * estabelecer dev12c * 0

informações-chave é o tempo, anfitrião, e um programa para as conexões de entrada.

Aqui é um usuário utilitário de software SAPO Dell conexão, provavelmente a partir de estação de trabalho de um usuário:

-02-AUG 2013 11:57:45 * (CONNECT_DATA = (SERVICE_NAME = 192.168.2.121) (CID = (PROGRAMA = C:? Programa FilesQuest SoftwareTOADTOAD.exe) (HOST = LPT-MPYLE) (UTILIZADOR = mpyle)) ) * (ENDEREÇO ​​= (protocolo TCP =) (HOST = 192.168.2.170) (PORT = 3108)) * * estabelecer 192.168.2.121 * 12514

Finalmente, um erro é que ocorre:

TNS-12514: TNS: ouvinte não sabe atualmente de servicerequested no descritor de conexão

Você pode procurar o Transport Network Substrate (TNS) código de erro no log de ouvinte para ver o que os erros estão ocorrendo. Esta pesquisa é útil porque vai (espero) ser muito mais ligações do que erros e, como os logs de alerta, o log de ouvinte pode crescer grande.


Publicações relacionadas