Tuesday, 27 October 2015

Calculate Mysql Memory Usage

As per:
http://kedar.nitty-witty.com/blog/calculte-mysql-memory-usage-quick-stored-proc
------------------
DELIMITER $$

DROP PROCEDURE IF EXISTS `my_memory` $$
CREATE PROCEDURE `my_memory` ()
BEGIN

DECLARE var VARCHAR(100);
DECLARE val VARCHAR(100);
DECLARE done INT;

#Variables for storing calculations
DECLARE GLOBAL_SUM DOUBLE;
DECLARE PER_THREAD_SUM DOUBLE;
DECLARE MAX_CONN DOUBLE;
DECLARE HEAP_TABLE DOUBLE;
DECLARE TEMP_TABLE DOUBLE;

#Cursor for Global Variables

#### For < MySQL 5.1 
#### DECLARE CUR_GBLVAR CURSOR FOR SHOW GLOBAL VARIABLES;

#### For MySQL 5.1+
DECLARE CUR_GBLVAR CURSOR FOR SELECT * FROM information_schema.GLOBAL_VARIABLES;
#### Ref: http://bugs.mysql.com/bug.php?id=49758

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;


SET GLOBAL_SUM=0;
SET PER_THREAD_SUM=0;
SET MAX_CONN=0;
SET HEAP_TABLE=0;
SET TEMP_TABLE=0;

OPEN CUR_GBLVAR;

mylp:LOOP
      FETCH CUR_GBLVAR INTO var,val;
  IF done=1 THEN
    LEAVE mylp;
  END IF;
    IF var in ('key_buffer_size','innodb_buffer_pool_size','innodb_additional_mem_pool_size','innodb_log_buffer_size','query_cache_size') THEN
    #Summing Up Global Memory Usage
      SET GLOBAL_SUM=GLOBAL_SUM+val;
    ELSEIF var in ('read_buffer_size','read_rnd_buffer_size','sort_buffer_size','join_buffer_size','thread_stack','max_allowed_packet','net_buffer_length') THEN
    #Summing Up Per Thread Memory Variables
      SET PER_THREAD_SUM=PER_THREAD_SUM+val;
    ELSEIF var in ('max_connections') THEN
    #Maximum allowed connections
      SET MAX_CONN=val;
    ELSEIF var in ('max_heap_table_size') THEN
    #Size of Max Heap tables created
      SET HEAP_TABLE=val;
    #Size of possible Temporary Table = Maximum of tmp_table_size / max_heap_table_size.
    ELSEIF var in ('tmp_table_size','max_heap_table_size') THEN
      SET TEMP_TABLE=if((TEMP_TABLE>val),TEMP_TABLE,val);
    END IF;

END LOOP;
CLOSE CUR_GBLVAR;
#Summarizing:
select "Global Buffers" as "Parameter",CONCAT(GLOBAL_SUM/(1024*1024),' M') as "Value" union
select "Per Thread",CONCAT(PER_THREAD_SUM/(1024*1024),' M')  union
select "Maximum Connections",MAX_CONN union
select "Total Memory Usage",CONCAT((GLOBAL_SUM + (MAX_CONN * PER_THREAD_SUM))/(1024*1024),' M') union
select "+ Per Heap Table",CONCAT(HEAP_TABLE / (1024*1024),' M') union
select "+ Per Temp Table",CONCAT(TEMP_TABLE / (1024*1024),' M') ;

END $$
DELIMITER ;

Wednesday, 8 April 2015

Examine SharePoint 2013 Content-ID errors

As Per:

https://habaneroconsulting.com/insights/an-even-better-way-to-get-the-real-sharepoint-error#.VSWFBnl0wb8

Merge-SPLogFile -Path ".\error.log" -Correlation "5ca5269c-8de5-4091-3f1b-f179af4d5121"

Friday, 7 February 2014

Converting LDAP timestamp

EXCEL FORMULA

Taken from: https://social.technet.microsoft.com/wiki/contents/articles/12814.active-directory-lastlogontimestamp-conversion.aspx

=IF(C2>0,C2/(8.64*10^11) - 109205,"")

Date to timestamp

In PowerShell:

(Get-Date "1/11/2013").ToFileTime()

Timestamp to date:

From the command line:

w32tm.exe /ntte 130277628000000000

Friday, 6 December 2013

Windows ipconfig does not show anything

As per: http://lindsaar.net/2009/1/5/windows-ipconfig-does-not-show-anything

You can do the following at a CMD prompt to reset the network configurations:

C:\> netsh winsock reset catalog
C:\> netsh int ip reset reset.log

The first line resets all the WINSOCK entries to their defaults, the second line resets all the TCP/IP entries to their defaults.

The first one will ask you to reboot, don’t. Do both commands and then reboot your system.

Wednesday, 28 August 2013

How to find a machine serial number from command prompt using WMI

wmic bios get serialnumber

wmic /NODE:<computername> csproduct list full

or use PowerShell:

Get-WmiObject win32_bios

To discover HP Proliant Product Number:

Get-WmiObject Win32_ComputerSystem | Select-Object OEMStringArray

Wednesday, 7 August 2013

CertUtil: -deleterow command FAILED

Recently moved my root enterprise CA from Server 2008 to Server 2012 and was no longer able to delete pending request or expired certificates with using the -deleterow parameter. The error I was getting:

C:\>certutil -v -deleterow 08/05/2013 Request
CertUtil: -deleterow command FAILED: 0x80070057 (WIN32: 87)
CertUtil: The parameter is incorrect.

After 12 hours of pulling my hair out and verifying ever aspect of the migration I did, it turned out (although not mentioned at all in the certutil command help, e.g. http://technet.microsoft.com/en-us/library/cc732443.aspx#BKMK_deleterow) I had to spell the month rather than use numbers:

C:\>certutil -deleterow Aug/05/2013 Request
Rows deleted: 34
CertUtil: -deleterow command completed successfully.

Muppets at MS, why oh why do you do this to us !?!?!?

Wednesday, 1 May 2013

Set default input language for all users in Win7

Source: http://community.spiceworks.com/topic/202556-set-default-input-language-for-all-users-in-win7

1. Start the registry editor (regedit.exe)
2. Move to HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
3. Double click on 1 and change the number to your local layout (you could get this by looking at HKEY_CURRENT_USER\Keyboard Layout\Preload1). Click OK
4. You may also change HKEY_USERS\.DEFAULT\Control Panel\International\Locale to this value however it is not mandatory to do so.
5. Close the registry editor
6. Logoff and then on again