Dmesg con tiempo en formato humano

Problema:

Queremos ver los logs del comando dmesg en formato humano y asociado a una hora

De esa manera no es legible

 
[   20.597170] IPv6: ADDRCONF(NETDEV_UP): enp2s0f4: link is not ready
[   20.597616] IPv6: ADDRCONF(NETDEV_UP): enp2s0f5: link is not ready
[   20.598192] IPv6: ADDRCONF(NETDEV_UP): enp2s0f6: link is not ready
[   20.598633] IPv6: ADDRCONF(NETDEV_UP): enp2s0f7: link is not ready
[   20.647000] bnx2x 0000:02:00.1 enp2s0f1: NIC Link is Up, 10000 Mbps full duplex, Flow control: ON - receive & transmit
[   20.647020] IPv6: ADDRCONF(NETDEV_CHANGE): enp2s0f1: link becomes ready
[   20.647143] bnx2x 0000:02:00.3 enp2s0f3: NIC Link is Up, 10000 Mbps full duplex, Flow control: ON - receive & transmit
[   20.647168] IPv6: ADDRCONF(NETDEV_CHANGE): enp2s0f3: link becomes ready
[   23.342038] qla2xxx [0000:06:00.0]-8038:1: Cable is unplugged...
[   23.686992] qla2xxx [0000:06:00.1]-8038:2: Cable is unplugged...
[   27.263047] FS-Cache: Loaded
[   27.303111] FS-Cache: Netfs 'nfs' registered for caching
[   67.585000] adrci[12654]: segfault at 40 ip 00002b81c354e2a9 sp 00007ffeac623830 error 4 in libclntsh.so.11.1[2b81c2ebb000+228f000]
[  119.413356] adrci[13547]: segfault at 40 ip 00002ad180e7697d sp 00007fff5fc96f30 error 4 in libclntsh.so.11.1[2ad18076d000+258e000]
[  119.413575] adrci[13548]: segfault at 40 ip 00002b5eaf00097d sp 00007ffedd3e1c20 error 4 in libclntsh.so.11.1[2b5eae8f7000+258e000]

Solución:

Para ello usamos la opción -T

[root@duero ~]# dmesg -T | more
[jue ene 24 21:39:10 2019] Initializing cgroup subsys cpuset
[jue ene 24 21:39:10 2019] Initializing cgroup subsys cpu
[jue ene 24 21:39:10 2019] Initializing cgroup subsys cpuacct
[jue ene 24 21:39:10 2019] Linux version 3.10.0-862.el7.x86_64 (mockbuild@x86-034.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed Mar 21 18:14:51 EDT 2018
[jue ene 24 21:39:10 2019] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.el7.x86_64 root=/dev/mapper/rhel-root ro crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet LANG=es_ES.UTF-8
[jue ene 24 21:39:10 2019] e820: BIOS-provided physical RAM map:
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x0000000000000000-0x000000000009f3ff] usable
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x000000000009f400-0x000000000009ffff] reserved
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x0000000000100000-0x00000000df61efff] usable
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x00000000df61f000-0x00000000df62bfff] ACPI data
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x00000000df62c000-0x00000000df62cfff] usable
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x00000000df62d000-0x00000000e3ffffff] reserved
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x00000000fec00000-0x00000000fee0ffff] reserved
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x00000000ff800000-0x00000000ffffffff] reserved
[jue ene 24 21:39:10 2019] BIOS-e820: [mem 0x0000000100000000-0x000000181fffefff] usable
[jue ene 24 21:39:10 2019] NX (Execute Disable) protection: active
[jue ene 24 21:39:10 2019] SMBIOS 2.7 present.
[jue ene 24 21:39:10 2019] DMI: HP ProLiant BL460c G6, BIOS I24 05/05/2011
[jue ene 24 21:39:10 2019] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[jue ene 24 21:39:10 2019] e820: remove [mem 0x000a0000-0x000fffff] usable
[jue ene 24 21:39:10 2019] e820: last_pfn = 0x181ffff max_arch_pfn = 0x400000000
[jue ene 24 21:39:10 2019] MTRR default type: write-back
[jue ene 24 21:39:10 2019] MTRR fixed ranges enabled:
[jue ene 24 21:39:10 2019]   00000-9FFFF write-back
[jue ene 24 21:39:10 2019]   A0000-BFFFF uncachable
[jue ene 24 21:39:10 2019]   C0000-FFFFF write-protect
[jue ene 24 21:39:10 2019] MTRR variable ranges enabled:
[jue ene 24 21:39:10 2019]   0 base 00E0000000 mask FFE0000000 uncachable
[jue ene 24 21:39:10 2019]   1 disabled
[jue ene 24 21:39:10 2019]   2 disabled

 

Dar permisos de lectura a un usuario en todos sus objetos

PROBLEMA:

Hemos creado un usuario en Oracle y queremos darle permisos de SELECT en todos los objetos del esquema. Esto supondria tener que ir uno por uno dando permisos de grant.

Solución:

Para ello lo que vamos ha hacer es con una query sacar un fichero txt con todos los grant que luego ejecutaremos directamente.

Por ejemplo nuestro usuario se llama read_user

CREATE USER read_user IDENTIFIED BY lectura;

A continuación ejecutamos la siguiente consulta

 SELECT 'GRANT SELECT ON MySchema.'||object_Name||' TO read_user;' From dba_objects where object_type = 'TABLE' and owner = 'Usuario_propiertario'

Quedando algo de esta manera

RANT SELECT ON Usuario_propiertario.USERPICKERFILTER TO read_user;
GRANT SELECT ON Usuario_propiertario.USERPICKERFILTERGROUP TO read_user;
GRANT SELECT ON Usuario_propiertario.USERPICKERFILTERROLE TO read_user;
GRANT SELECT ON Usuario_propiertario.PROJECTVERSION TO read_user;
GRANT SELECT ON Usuario_propiertario.VERSIONCONTROL TO read_user;
GRANT SELECT ON Usuario_propiertario.VOTEHISTORY TO read_user;
GRANT SELECT ON Usuario_propiertario.WORKFLOWSCHEME TO read_user;
GRANT SELECT ON Usuario_propiertario.WORKFLOWSCHEMEENTITY TO read_user;
GRANT SELECT ON Usuario_propiertario.JIRAWORKFLOWSTATUSES TO read_user;
GRANT SELECT ON Usuario_propiertario.APP_USER TO read_user;

Con esto nos ahorraríamos bastante tiempo

Comprobar validez clave privada y certificado

Problema:

Queremos comprobar que el certificado y la clave privada que tenemos para firmar documentos es correcta, es decir que la clave privada es el par necesario para nuestro certificado

Solución

Lo que tenemos que hacer es comprobar mediante el comando ssl que son complementarios, para ello la salida de los siguiente comandos debe ser la misma.

[root@test01]# openssl pkey -in example.key -pubout -outform pem | sha256sum 
4e560486b4a4409ddf65af69c964f1f67114a80d0f5fdf342fda7224cda83606  -
[root@test01]# openssl x509 -in example.crt -pubkey -noout -outform pem | sha256sum   
4e560486b4a4409ddf65af69c964f1f67114a80d0f5fdf342fda7224cda83606  -

En el ejemplo de arriba podemos ver que ambas cadenas coinciden

Rescan de discos con iscsi

Problema:

Por problemas de espacio necesitamos hacer un rescan de nuestro disco iscsi.

Solución:

Para ello ejecutamos el siguiente comando

iscsiadm -m node -R

A continuación mostramos la secuencia completa de comandos:

Contenido original del disco

# fdisk -l /dev/sdc

Disk /dev/sdf: 506.09 GB, 98212254720 bytes
64 heads, 32 sectors/track, 30720 cylinders
Units = cylinders of 2048 * 512 = 221048576 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sdf           1       30720    31457264   83  Linux

Reescaneo de discos

iscsiadm -m node -R
Rescanning session [sid: 1, target: iqn.1992-08.com.netapp:sn.3f3d51deaa9900a0988def83:vs.90, portal: 172.168.125.221,3260]
Rescanning session [sid: 2, target: iqn.1992-08.com.netapp:sn.3f3d51deaa900a0988def83:vs.90, portal: 172.168.125.220,3260]

Disco duro con espacio aumentado

# fdisk -l /dev/sdj
Disk /dev/sdj: 966.5 GB, 966490324992 bytes, 1887676416 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 65536 bytes

 

 

Logs creación bases de datos en ODA

Problema:

En nuestro ODA (Oracle Database Appliance X7-2HA), se necesita crear una base de datos, pero en algún momento de la instalación esta finaliza con el siguiente error:

ERROR: 2019-01-14 08:30:43: Failed to run /u01/app/12.2.0.1/grid/bin/sqlplus -L / as sysasm @/opt/oracle/oak/log/oda1/utils/12.2.1.3.0/sql/checkdg_redundancy_70817.sql
Died at /opt/oracle/oak/lib/oakutilslib/SqlUtils.pm line 95.

Para la creación de la base se ha usado la siguiente orden:

[root@oda1 dbconf]# oakcli create database -db test -oh OraDb12102_home1 -params dataguard 

Donde dataguard son los paremetros para la creación de nuestra base de datos

Solución:

Para tener mas información y saber en que ha fallado o donde puede estar el problema, los logs de la creación de la base de datos en ODA están en la ruta «/opt/oracle/oak/log/inca1/tools/12.2.1.3.0/ » donde 12.2.1.3.0 es la version de nuestro demonio de OAK