domingo, 7 de febrero de 2021

SOFTWARE FREE

Bizagi Modeler

Wireless Network Watcher

Map Toolkit  Inventario Maquinas Windows 

Gestion de Proyectos.

Jira | Software de seguimiento de proyectos e incidencias | Atlassian

VULNERABILIDADES SEGURIDAD

Nessus

Download Microsoft Assessment and Planning Toolkit from Official Microsoft Download Center

Pentaho (ETL Hitachi)

Apache superset (Visualizacion de Datos) Software free

Apache JMeter - Apache JMeter™

The Grinder, a Java Load Testing Framework (sourceforge.net)

DIAGRAMAS

diagrams.net

CONTRASEÑAS

https://bitwarden.com/

Zabbix: una herramienta de monitoreo de red de código abierto que permite el monitoreo en tiempo real de redes, servidores, aplicaciones y servicios.

GLPI: una herramienta de gestión de activos de TI de código abierto que permite la gestión de inventarios de hardware y software, la gestión de tickets de soporte, la gestión de contratos y la gestión de recursos.

Inicio - GLPI Project (glpi-project.org)

OCS Inventory NG: una herramienta de inventario de hardware y software de código abierto que permite la gestión remota de activos de TI, la recopilación de información del hardware y software, y la generación de informes detallados.

Nagios: una herramienta de monitoreo de red de código abierto que permite la supervisión y alerta de servicios de red, servidores y aplicaciones.

iTop: una herramienta de gestión de servicios de TI de código abierto que permite la gestión de servicios de TI, la gestión de incidentes, la gestión de cambios, la gestión de problemas y la gestión de configuraciones.

SuiteCRM: una herramienta de gestión de relaciones con clientes (CRM) de código abierto que permite la gestión de ventas, marketing y soporte al cliente.

OpenNMS: una herramienta de gestión de red de código abierto que permite el monitoreo y gestión de redes complejas y heterogéneas.

Live optics: Collector Software

  1. OpenVAS: una herramienta de escaneo de vulnerabilidades de código abierto que permite la detección de vulnerabilidades en sistemas y redes.

  2. Nmap: una herramienta de escaneo de puertos de código abierto que permite la detección de puertos abiertos en sistemas y redes.

  3. Nikto: una herramienta de escaneo de vulnerabilidades web de código abierto que permite la detección de vulnerabilidades en aplicaciones web.

  4. Snort: una herramienta de detección de intrusiones de código abierto que permite la detección de ataques en tiempo real en redes.

  5. OSSEC: una herramienta de detección de intrusiones de código abierto que permite la detección de ataques en tiempo real en sistemas.

  6. Wireshark: una herramienta de análisis de tráfico de red de código abierto que permite la captura y análisis de paquetes de red para detectar posibles vulnerabilidades y ataques.

  7. Metasploit: una herramienta de pruebas de penetración de código abierto que permite la simulación de ataques para detectar vulnerabilidades en sistemas y redes.

  8. Cacti: Es una herramienta de gráficos y monitoreo basada en RRDTool. Permite visualizar datos de rendimiento en forma de gráficos y ayudar a identificar patrones y tendencias.

  9. Git: Es un sistema de control de versiones distribuido. Permite gestionar el código fuente y colaborar en proyectos de desarrollo de software de manera eficiente.

HERRAMIENTAS DE DISEÑO

  1. Sweet Home 3D: Es una herramienta de diseño de interiores gratuita y de código abierto que permite a los usuarios crear modelos en 3D de sus hogares. La herramienta cuenta con una gran biblioteca de muebles y objetos decorativos que pueden ser utilizados para crear diseños personalizados.

  2. Blender: Aunque es una herramienta de modelado 3D más general, Blender se puede utilizar para el diseño de interiores también. Es una herramienta muy potente que permite a los usuarios crear modelos en 3D, animaciones y gráficos. Es un poco más complicado de usar que Sweet Home 3D, pero también ofrece una amplia variedad de herramientas de diseño y opciones de personalización.

  3. SketchUp: Es una herramienta de modelado 3D que es especialmente popular entre los arquitectos y diseñadores de interiores. SketchUp es fácil de usar y cuenta con una amplia variedad de herramientas para crear diseños precisos y detallados.

  4. RoomSketcher: Es una herramienta de diseño de interiores en línea que permite a los usuarios crear planos de planta, diseños de interiores y renderizaciones en 3D. RoomSketcher es fácil de usar y cuenta con una gran variedad de herramientas para crear diseños personalizados.

viernes, 5 de febrero de 2021

GRANULO MEMORIA

 SQL> select (bytes/1024/1024) from v$sgainfo where name='Granule Size';

(BYTES/1024/1024)

-----------------

4

SQL> select (bytes) from v$sgainfo where name='Granule Size';

     BYTES

----------

   4194304

SQL> 


miércoles, 3 de febrero de 2021

RESULT_CACHE EJEMPLO IMPLEMENTACION

 select /*+ RESULT_CACHE */ department_id, avg(salary) from hr.employees group by department_id

select /*+ NO_RESULT_CACHE */ department_id, avg(salary) from hr.employees group by department_id


Execution Plan
----------------------------------------------------------
Plan hash value: 1192169904

--------------------------------------------------------------------------------
------------------

| Id  | Operation     | Name | Rows  | Bytes | Cost
(%CPU)| Time |

--------------------------------------------------------------------------------
------------------

|   0 | SELECT STATEMENT    | |    11 |    77 |     3
   (0)| 00:00:01 |

|   1 |  RESULT CACHE     | cs8656szabsxu2j64yh85u2ppq | | |
      | |

|   2 |   HASH GROUP BY     | |    11 |    77 |     3
   (0)| 00:00:01 |

|   3 |    TABLE ACCESS FULL| EMPLOYEES |   107 |   749 |     3
   (0)| 00:00:01 |

--------------------------------------------------------------------------------
------------------


Result Cache Information (identified by operation id):
------------------------------------------------------

   1 - column-count=2; dependencies=(HR.EMPLOYEES); name="select /*+ RESULT_CACH
E */ department_id, avg(salary) from hr.employees group by department_id"



Statistics
----------------------------------------------------------
  1  recursive calls
  0  db block gets
  0  consistent gets
  0  physical reads
  0  redo size
869  bytes sent via SQL*Net to client
543  bytes received via SQL*Net from client
  2  SQL*Net roundtrips to/from client
  0  sorts (memory)
  0  sorts (disk)
12  rows processed

SQL> 


select  department_id, avg(salary) from hr.employees group by department_id

SQL> select  department_id, avg(salary) from hr.employees group by department_id;

12 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 1192169904

--------------------------------------------------------------------------------
| Id  | Operation    | Name      | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |        |    11 |    77 |     3 (0)| 00:00:01 |
|   1 |  HASH GROUP BY    |        |    11 |    77 |     3 (0)| 00:00:01 |
|   2 |   TABLE ACCESS FULL| EMPLOYEES |   107 |   749 |     3 (0)| 00:00:01 |
--------------------------------------------------------------------------------


Statistics
----------------------------------------------------------
  1  recursive calls
  0  db block gets
  7  consistent gets
  0  physical reads
  0  redo size
869  bytes sent via SQL*Net to client
543  bytes received via SQL*Net from client
  2  SQL*Net roundtrips to/from client
  0  sorts (memory)
  0  sorts (disk)
12  rows processed

SQL> execute dbms_result_cache.flush;

PL/SQL procedure successfully completed.



Consultas SQL útiles para obtener información sobre Oracle Database

Consultas SQL útiles para obtener información sobre Oracle Database

  • Vista que muestra el estado de la base de datos:
select * from v$instance
  • Consulta que muestra si la base de datos está abierta:
select status from v$instance
  • Vista que muestra los parámetros generales de Oracle:
select * from v$system_parameter
  • Versión de Oracle:
select value 
from v$system_parameter 
where name = 'compatible'
  • Ubicación y nombre del fichero spfile:
select value 
from v$system_parameter 
where name = 'spfile'
  • Ubicación y número de ficheros de control:
select value 
from v$system_parameter 
where name = 'control_files'
  • Nombre de la base de datos
select value 
from v$system_parameter 
where name = 'db_name'
  • Vista que muestra las conexiones actuales a Oracle:
select osuser, username, machine, program 
  from v$session 
  order by osuser
  • Vista que muestra el número de conexiones actuales a Oracle agrupado por aplicación que realiza la conexión
select program Aplicacion, count(program) Numero_Sesiones
from v$session
group by program 
order by Numero_Sesiones desc
  • Vista que muestra los usuarios de Oracle conectados y el número de sesiones por usuario
select username Usuario_Oracle, count(username) Numero_Sesiones
from v$session
group by username
order by Numero_Sesiones desc
  • Propietarios de objetos y número de objetos por propietario
select owner, count(owner) Numero 
  from dba_objects 
  group by owner 
  order by Numero desc
  • Diccionario de datos (incluye todas las vistas y tablas de la Base de Datos):
select * from dictionary



select table_name from dictionary
  
  • Muestra los datos de una tabla especificada (en este caso todas las tablas que lleven la cadena "EMPLO"):
select * 
from ALL_ALL_TABLES 
where upper(table_name) like '%EMPLO%'
select *
from ALL_TRIGGERS 

  • Tablas propiedad del usuario actual:
select * from user_tables
  • Todos los objetos propiedad del usuario conectado a Oracle:
select * from user_catalog
  • Consulta SQL para el DBA de Oracle que muestra los tablespaces, el espacio utilizado, el espacio libre y los ficheros de datos de los mismos:
Select t.tablespace_name  "Tablespace",  t.status "Estado",  
    ROUND(MAX(d.bytes)/1024/1024,2) "MB Tamaño",
    ROUND((MAX(d.bytes)/1024/1024) - 
    (SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024),2) "MB Usados",   
    ROUND(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024,2) "MB Libres", 
    t.pct_increase "% incremento", 
    SUBSTR(d.file_name,1,80) "Fichero de datos"  
FROM DBA_FREE_SPACE f, DBA_DATA_FILES d,  DBA_TABLESPACES t  
WHERE t.tablespace_name = d.tablespace_name  AND 
    f.tablespace_name(+) = d.tablespace_name    
    AND f.file_id(+) = d.file_id GROUP BY t.tablespace_name,   
    d.file_name,   t.pct_increase, t.status ORDER BY 1,3 DESC
  • Productos Oracle instalados y la versión:
select * from product_component_version 
  • Roles y privilegios por roles:
select * from role_sys_privs
  • Reglas de integridad y columna a la que afectan:
select constraint_name, column_name 
from sys.all_cons_columns
  • Tablas de las que es propietario un usuario, en este caso "HR":
SELECT table_owner, table_name 
from sys.all_synonyms 
where table_owner like 'HR'
  • Otra forma más efectiva (tablas de las que es propietario un usuario):
SELECT DISTINCT TABLE_NAME 
FROM ALL_ALL_TABLES 
WHERE OWNER LIKE 'HR' 
  • Parámetros de Oracle, valor actual y su descripción:
SELECT v.name, v.value value, decode(ISSYS_MODIFIABLE, 'DEFERRED', 
     'TRUE', 'FALSE') ISSYS_MODIFIABLE,  decode(v.isDefault, 'TRUE', 'YES',
     'FALSE', 'NO') "DEFAULT",  DECODE(ISSES_MODIFIABLE,  'IMMEDIATE',  
     'YES','FALSE',  'NO',  'DEFERRED', 'NO', 'YES') SES_MODIFIABLE,   
     DECODE(ISSYS_MODIFIABLE, 'IMMEDIATE', 'YES',  'FALSE', 'NO',  
     'DEFERRED', 'YES','YES') SYS_MODIFIABLE ,  v.description  
FROM V$PARAMETER v 
WHERE name not like 'nls%'   ORDER BY 1
  
  • Usuarios de Oracle y todos sus datos (fecha de creación, estado, id, nombre, tablespace temporal,...):
Select  * FROM dba_users
  • Tablespaces y propietarios de los mismos:
select owner, decode(partition_name, null, segment_name, 
   segment_name || ':' || partition_name) name, 
   segment_type, tablespace_name,bytes,initial_extent, 
   next_extent, PCT_INCREASE, extents, max_extents 
from dba_segments 
Where 1=1 And extents > 1 order by 9 desc, 3 
  • Últimas consultas SQL ejecutadas en Oracle y usuario que las ejecutó:
select distinct vs.sql_text, vs.sharable_mem, 
  vs.persistent_mem, vs.runtime_mem,  vs.sorts,
  vs.executions, vs.parse_calls, vs.module,  
  vs.buffer_gets, vs.disk_reads, vs.version_count, 
  vs.users_opening, vs.loads,  
  to_char(to_date(vs.first_load_time,
  'YYYY-MM-DD/HH24:MI:SS'),'MM/DD  HH24:MI:SS') first_load_time,  
  rawtohex(vs.address) address, vs.hash_value hash_value , 
  rows_processed  , vs.command_type, vs.parsing_user_id  , 
  OPTIMIZER_MODE  , au.USERNAME parseuser  
from v$sqlarea vs , all_users au   
where (parsing_user_id != 0)  AND 
(au.user_id(+)=vs.parsing_user_id)  
and (executions >= 1) order by   buffer_gets/executions desc 
  • Todos los ficheros de datos y su ubicación:
select * from V$DATAFILE
  • Ficheros temporales:
select * from V$TEMPFILE
  • Tablespaces:
select * from V$TABLESPACE
  • Otras vistas muy interesantes:
select * from V$BACKUP

select * from V$ARCHIVE   

select * from V$LOG   

select * from V$LOGFILE    

select * from V$LOGHIST          

select * from V$ARCHIVED_LOG    

select * from V$DATABASE
  • Memoria Share_Pool libre y usada:
select name,to_number(value) bytes 
from v$parameter where name ='shared_pool_size'
union all
select name,bytes 
from v$sgastat where pool = 'shared pool' and name = 'free memory'

          select * from v$sgastat where name='free memory'; 

  • Cursores abiertos por usuario:
select b.sid, a.username, b.value Cursores_Abiertos
      from v$session a,
           v$sesstat b,
           v$statname c
      where c.name in ('opened cursors current')
      and   b.statistic# = c.statistic#
      and   a.sid = b.sid 
      and   a.username is not null
      and   b.value >0
      order by 3
  • Aciertos de la caché (no debe superar el 1 por ciento):
select sum(pins) Ejecuciones, sum(reloads) Fallos_cache,
  trunc(sum(reloads)/sum(pins)*100,2) Porcentaje_aciertos 
from v$librarycache
where namespace in ('TABLE/PROCEDURE','SQL AREA','BODY','TRIGGER');
  • Sentencias SQL completas ejecutadas con un texto determinado en el SQL:
SELECT c.sid, d.piece, c.serial#, c.username, d.sql_text 
FROM v$session c, v$sqltext d 
WHERE  c.sql_hash_value = d.hash_value 
  and upper(d.sql_text) like '%WHERE CAMPO LIKE%'
ORDER BY c.sid, d.piece
  • Una sentencia SQL concreta (filtrado por sid):
SELECT c.sid, d.piece, c.serial#, c.username, d.sql_text 
FROM v$session c, v$sqltext d 
WHERE  c.sql_hash_value = d.hash_value and sid = 105
ORDER BY c.sid, d.piece
  • Tamaño ocupado por la base de datos
select sum(BYTES)/1024/1024 MB 
from DBA_EXTENTS  
  • Tamaño de los ficheros de datos de la base de datos:
select sum(bytes)/1024/1024 MB 
from dba_data_files
  • Tamaño ocupado por una tabla concreta sin incluir los índices de la misma
select sum(bytes)/1024/1024 MB 
from user_segments
where segment_type='TABLE' and segment_name='NOMBRETABLA'
  • Tamaño ocupado por una tabla concreta incluyendo los índices de la misma
select sum(bytes)/1024/1024 Table_Allocation_MB 
from user_segments
where segment_type in ('TABLE','INDEX') and
  (segment_name='NOMBRETABLA' or segment_name in
    (select index_name 
     from user_indexes 
     where table_name='NOMBRETABLA'))
  • Tamaño ocupado por una columna de una tabla:
select sum(vsize('NOMBRECOLUMNA'))/1024/1024 MB 
from NOMBRETABLA
  • Espacio ocupado por usuario:
SELECT owner, SUM(BYTES)/1024/1024 
FROM DBA_EXTENTS MB
GROUP BY owner
  • Espacio ocupado por los diferentes segmentos (tablas, índices, undo, rollback, cluster, ...):
SELECT SEGMENT_TYPE, SUM(BYTES)/1024/1024 
FROM DBA_EXTENTS MB
GROUP BY SEGMENT_TYPE
  • Espacio ocupado por todos los objetos de la base de datos, muestra los objetos que más ocupan primero:
SELECT SEGMENT_NAME, SUM(BYTES)/1024/1024 
FROM DBA_EXTENTS MB
GROUP BY SEGMENT_NAME
ORDER BY 2 DESC
  • Obtener todas las funciones de Oracle: NVL, ABS, LTRIM, ...:
SELECT distinct object_name 
FROM all_arguments 
WHERE package_name = 'STANDARD'
order by object_name
  • Obtener los roles existentes en Oracle Database:
select * from DBA_ROLES
  • Obtener los privilegios otorgados a un rol de Oracle:
select privilege 
from dba_sys_privs 
where grantee = 'NOMBRE_ROL'
  • Obtener la IP del servidor de la base de datos Oracle Database:
select utl_inaddr.get_host_address IP
from dual 

  • Mostrar datos de auditoría de la base de datos Oracle (inicio y desconexión de sesiones):
select username, action_name, priv_used, returncode
from dba_audit_trail

  • Comprobar si la auditoría de la base de datos Oracle está activada:
select name, value
from v$parameter
where name like 'audit_trail'

lunes, 1 de febrero de 2021

BITCOIN HALVING


HALVING 

# HALVING# BLOQUERECOMPENSA ACTIVA# BTC INTRODUCIDOAÑO
005010500000,000000002008
1210000255250000,000000002012
242000012,52625000,000000002016
36300006,251312500,000000002020
48400003,125656250,000000002024
510500001,5625328125,000000002028
1021000000,0488281310253,906250002048
1531500000,00152588320,434570312068
2042000000,0000476810,013580322088
2552500000,000001490,312924392108
3063000000,000000050,009778892128
3471400000,000000000,000611182144
TOTAL DE BITCOINS20.999.999,99938880

DELETE INCIDENTES

Si deseamos borrar todo el historial de notificaciones:
SQL> begin
2 delete from mgmt_current_severity;
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.

begin
delete from mgmt_current_severity;
end;


The Driving Table


The table of interest in the SYSMAN schema is named MGMT_SEVERITY.
USER is "SYSTEM"
SQL> conn sysman/oracle
Connected.
USER is "SYSMAN"
SQL> desc mgmt_severity
 Name                                      Null?    Type
 ----------------------------------------- -------- --------------
 TARGET_GUID                               NOT NULL RAW(16)
 METRIC_GUID                               NOT NULL RAW(16)
 KEY_VALUE                                 NOT NULL VARCHAR2(256)
 COLLECTION_TIMESTAMP                      NOT NULL DATE
 LOAD_TIMESTAMP                                     DATE
 SEVERITY_CODE                             NOT NULL NUMBER
 SEVERITY_TYPE                                      NUMBER
 SEVERITY_DURATION                                  NUMBER
 SEVERITY_GUID                                      RAW(16)
 ANNOTATED_FLAG                                     NUMBER
 NOTIFICATION_STATUS                                NUMBER
 MESSAGE                                            VARCHAR2(4000)
 MESSAGE_NLSID                                      VARCHAR2(64)
 MESSAGE_PARAMS                                     VARCHAR2(4000)
 ACTION_MESSAGE                                     VARCHAR2(4000)
 ACTION_NLSID                                       VARCHAR2(64)
 ACTION_MESSAGE_PARAMS                              VARCHAR2(4000)
 ADVISORY_ID                                        VARCHAR2(64)
 USER_NAME                                          VARCHAR2(64)

Aside from the RAW datatypes, working with data in this table should be fairly straightforward, that is, once you know what to look for. The table’s primary key is a composite key, and uses TARGET_GUID, METRIC_GUID, KEY_VALUE, COLLECTION_TIMESTAMP, and SEVERITY_CODE.

You won’t find the RAW values anywhere on the page, even if you look at the page’s source. If you try that approach, mainly as an exercise to see what the underlying HTML code looks like, all you’re going to see (at the bottom of the text editor page) are a few lines of code, with one of them stretching out well over 30,000 characters.

The two best telltales in the table are KEY_VALUE and COLLECTION_TIMESTAMP. The KEY_VALUE values have a pattern to them. If the message is about a tablespace having crossed a space threshold, then the KEY_VALUE is simply the name of the tablespace. If the message is about SYS having logged on, the KEY_VALUE will be a mixture of “SYS” plus “_.” The recovery area message is identified by a value of RECOVERY AREA. The blocking message starts with SID, and the invalid objects in a schema begins with the schema name.

For the most part, the date and time shown under Alert Triggered will appear as the value for COLLECTION_TIMESTAMP. Between that time and the “key values” in the KEY_VALUE column, you should be sufficiently armed to invoke a procedure named DELETE_CURRENT_SEVERITY in the EM_SEVERITY package.
PROCEDURE DELETE_CURRENT_SEVERITY
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 P_TARGET_GUID                  RAW                     IN
 P_METRIC_GUID                  RAW                     IN
 P_KEY_VALUE                    VARCHAR2                IN


This procedure deletes data from a table named MGMT_CURRENT_SEVERITY.
  BEGIN
    DELETE FROM MGMT_CURRENT_SEVERITY
     WHERE target_guid = p_target_guid
       AND metric_guid = p_metric_guid
       AND key_value = p_key_value;
  END delete_current_severity;

On the face of it, this approach seems like a safe way to go about clearing stale messages, but there is a better way, and that way is to delete directly from the MGMT_SEVERITY table and let the SEVERITY_DELETE trigger do all the work for you.