sexta-feira, 12 de novembro de 2021

No ADR base is set

O ADRCI (Automatic Diagnostic Repository Command Interpreter), é uma ferramenta de linha de comando introduzida na versão 11g do Oracle database cujo propósito é gerenciar os dados de diagnóstico armazenados no ADR (Automatic Diagnostic Repository)

O ADR é um repositório de arquivos de diagnóstico de banco de dados, tais como traces, dumps, o alert log, health monitor reports, etc


Recentemente ao utilizar a ferramenta me deparei com a mensagem "No ADR base is set" e ao executar o comando "show homes" a mensagem "No ADR homes are set"

[oracle@oda1 ~]$ adrci

ADRCI: Release 19.0.0.0.0 - Production on Wed Nov 10 10:33:37 2021

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

No ADR base is set
adrci> show homes
No ADR homes are set
adrci>

Isso ocorre devido ao arquivo $ORACLE_HOME/log/diag/adrci_dir.mif estar danificado ou ausente. neste caso, ausente e procedi com a criação do diretório/arquivo direcionando o $ORACLE_BASE para dentro do arquivo conforme exemplo abaixo:

[oracle@oda1 ~]$ ls -l $ORACLE_HOME/log/diag/adrci_dir.mif
ls: cannot access /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1/log/diag/adrci_dir.mif: No such file or directory
[oracle@oda1 ~]$ mkdir -p $ORACLE_HOME/log/diag
[oracle@oda1 ~]$ echo $ORACLE_BASE
/u01/app/odaorabase/oracle
[oracle@oda1 ~]$ printf "%s" "$ORACLE_BASE" > $ORACLE_HOME/log/diag/adrci_dir.mif
[oracle@oda1 ~]$

Feito os ajustes, basta entrar novamente no ADRCI para que já esteja funcional perante o ADR informado.

[oracle@oda1 ~]$ adrci

ADRCI: Release 19.0.0.0.0 - Production on Wed Nov 10 10:36:58 2021

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

ADR base = "/u01/app/odaorabase/oracle"
adrci> show homes
ADR Homes:
diag/rdbms/cbdprd1/CBDPRD1
diag/asm/user_root/host_1679024932_110
diag/clients/user_oracle/host_1679024932_110
diag/asmtool/user_root/host_1679024932_110
adrci>
Mais informações →

sexta-feira, 25 de junho de 2021

Consultando dados de uma partição


Algo que ainda não havia usado nem ao menos lido sobre.. mas fica a dica de como consultar dados de partições específicas.

select [columns] from [table] partition ([partition])

SQL> select partition_name from dba_tab_partitions where table_name='AUD$UNIFIED';

PARTITION_NAME
--------------------------------------------------------------------------------
AUD_UNIFIED_P0
SYS_P49826
SYS_P50746
SYS_P51806
SYS_P53186
SYS_P54526
SYS_P56266

7 rows selected.

SQL> select count(*) from AUDSYS.AUD$UNIFIED partition (SYS_P54526);

  COUNT(*)
----------
      2904

SQL> select count(*) from AUDSYS.AUD$UNIFIED partition (SYS_P56266);

  COUNT(*)
----------
      8997

SQL> select count(*) from AUDSYS.AUD$UNIFIED partition (SYS_P56266) where OS_USER='apache';

  COUNT(*)
----------
       142
Mais informações →

sexta-feira, 4 de junho de 2021

Recuperando credenciais de administrador no weblogic

 


Dica para quem esqueceu as credenciais de acesso ao Weblogic.

Capture as informações criptografadas a partir do arquivo boot.properties localizado no $USERDOMAIN_HOME/servers/AdminServer/security/


[root@wls ~]# export USERDOMAIN_HOME=/u01/Oracle/Middleware/Oracle_Home/user_projects/domains/app_domain
[root@wls ~]# cd $USERDOMAIN_HOME/servers/AdminServer/security/
[root@wls security]# cat boot.properties
# Generated by Configuration Wizard on Mon Jun 27 07:42:49 BRT 2016
username={AES}zoDTpzXJwBoWCPwqbTuoBhQiR8bIneBw1nnumM2XkAU=
password={AES}MRuZtj19v4RBzFCb4gX5IM+qItLDVAaP1IC13WvTitA=

Carregue as as variáveis de ambiente do domínio:

[root@wls security]# . $USERDOMAIN_HOME/bin/setDomainEnv.sh
Crie um arquivo chamado recoverpassword.java, por exemplo, contendo o seguinte comando:

[root@wls app_domain]# cat recoverpassword.java
public class recoverpassword {
 public static void main(String[] args)
 {
  System.out.println(
  new weblogic.security.internal.encryption.ClearOrEncryptedService(
  weblogic.security.internal.SerializedSystemIni.getEncryptionService(args[0]
   )).decrypt(args[1]));
  }
}
Chame a classe java criada passando a string criptografada do arquivo boot.properties como parâmetro:

[root@wls app_domain]# java -cp $CLASSPATH:. recoverpassword $DOMAIN_HOME {AES}zoDTpzXJwBoWCPwqbTuoBhQiR8bIneBw1nnumM2XkAU=
weblogic
[root@wls app_domain]# java -cp $CLASSPATH:. recoverpassword $DOMAIN_HOME {AES}MRuZtj19v4RBzFCb4gX5IM+qItLDVAaP1IC13WvTitA=
Passw0rd
A saída do comando trará em texto simples o nome de usuário e senha do administrador do Weblogic.

Mesmo que existam vários ambientes com as mesmas credenciais, o retorno do arquivo boot.properties pode conter textos criptografados diferentes, pois ao criptografar e descriptografar o weblogic usa a chave cifrada armazenada no arquivo "security/SerializedSystemIni.dat". Portanto, sendo a chave de cifra diferente, é possível obter um texto criptografado diferente até para a mesma entrada.
Mais informações →

domingo, 24 de janeiro de 2021

VM Guest lenta e com elevado percentual de CPU roubada (steal)

Acompanhando a performance de algumas máquinas virtualizadas em um ODA X7-2 HA foi observado durante o período alto percentual de CPU steal (%st) que mostra a porcentagem de tempo gasto (roubado)  em esperas involuntárias da CPU enquanto o hypervisor está atendendo outro processador virtual.

Para dar ênfase ao problema e posteriormente demonstrar a mudança de comportamento junto aos ajustes em uma VM com 8 vCPU, forcei a utilização de CPU disparando comandos "yes" em nohup onde dentro de alguns segundos o percentual de CPU roubada já atingiu 68%

[root@vm04 ~]# cat /proc/cpuinfo | egrep 'processor' | wc -l
8
[root@vm04 ~]#
[root@vm04 ~]# yes > /dev/null &
[1] 26080
[root@vm04 ~]# yes > /dev/null &
[2] 26135
[root@vm04 ~]# yes > /dev/null &
[3] 26137
[root@vm04 ~]# yes > /dev/null &
[4] 26138
[root@vm04 ~]#














Tratando-se de um Oracle engineered systems, busquei como referência o MOS (My Oracle Support) onde encontrei a Doc ID 1928868.1 falando exatamente sobre este comportamento destacando em seu título "Guest VM Running Slow and is not Able to Use All the CPUs Assigned to it on ODA"

Este comportamento ocorre devido ao parâmetro CPU_CAP estar definido como 100 que independente da quantidade de CPUs associados a máquina virtual ela utilizará apenas 1 CPU.

Cancelando o stress de CPU na VM

[root@vm04 ~]# pkill yes
[1]   Terminated              yes > /dev/null
[2]-  Terminated              yes > /dev/null
[3]-  Terminated              yes > /dev/null
[4]+  Terminated              yes > /dev/null

No dom0 confirme o valor do CPU CAP e ajuste dinamicamente seu valor para 0. 

[root@dom0 ~]# xm sched-credit
Name                                ID Weight  Cap
Domain-0                             0  65535    0
oakDom1                              1    256    0
vm03                                 3    256  100
vm04                                 4    256  100


[root@dom0 ~]# xm sched-credit -d vm04 -c 0
[root@dom0 ~]# xm sched-credit
Name                                ID Weight  Cap
Domain-0                             0  65535    0
oakDom1                              1    256    0
vm03                                 3    256  100
vm04                                 4    256    0
[root@dom0 ~]#

Ao ser criado uma VM, o valor padrão para o parâmetro é 100%. Esse valor é então convertido em um limite de utilização da CPU no arquivo vm.cfg para a máquina virtual. 

O valor definido no arquivo vm.cfg limita a quantidade de CPU que um convidado (VM Guest) pode consumir. Se o Processor Cap for definido como 100% no Oracle VM, o valor definido em vm.cfg será 0, o que significa que não há limite para a utilização da CPU.

Retornando a VM vou proceder com um novo teste forçando a utilização das CPUs da mesma forma que a anterior

[root@vm04 ~]# yes > /dev/null &
[1] 31926
[root@vm04 ~]# yes > /dev/null &
[2] 31928
[root@vm04 ~]# yes > /dev/null &
[3] 31929
[root@vm04 ~]# yes > /dev/null &
[4] 31976

Com alguns segundos já foi perceptível que o percentual de CPU roubada não sofria oscilações, estava de forma constante em 0%















Comparando o antes e depois do ajuste

















Referência:

Guest VM Running Slow and is not Able to Use All the CPUs Assigned to it on ODA (Doc ID 1928868.1)

Mais informações →

quarta-feira, 29 de julho de 2020

sábado, 18 de julho de 2020

terça-feira, 16 de junho de 2020

Postagens mais antigas Página inicial

Translate

# Suporte

# ACE Program

#Oracle

#Oracle
Disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

#Blog reconhecido

#ARTICULISTA

Marcadores

Postagens populares