Vishal desai’s Oracle Blog

May 14, 2012

Datafile resizing

Filed under: Tools — vishaldesai @ 3:28 pm

One of our DW environment is very dynamic in terms of space utilization and as client is planning to move production environment to Exadata they do not want to want to invest anything in existing SAN infrastructure which is Netapp. Priorities of work done by Data Analysts and Product creation team changes every other day and Data analysts are given quota on USERS tablespace and all Product creation team uses DATA tablespace. Both USERS and DATA tablespaces are mapped to same ASM Disk group. I could have used one tablespace only but have not done it so as I have seen Data Anaysts writing cartesian join and filling up entire tablespace/mount points and security. To cut long story short, I have to do manual tablespace managment for USERS and DATA depending upon requirement. Below is the script that will display data files that can be resized to release free space from data files above High Water Mark (HVM).

 

 

VDESAI@db > @freespace

TABLESPACE_NAME              TOTAL_SPACE  FREE_SPACE   AUTO_GROW LARGEST_EXTENT  USED_SPACE PCTFULL PCTAUTOGROW
---------------------------- ----------- ----------- ----------- -------------- ----------- ------- -----------
....
USERS                            181,733      62,208     305,274         11,200     119,525      66         168
....


TOTAL_SPACE  FREE_SPACE  USED_SPACE
----------- ----------- -----------
  7,611,993   2,104,437   5,507,556

VDESAI@db > @release_tbs_space.sql
Please enter tablespace name            : USERS
--alter database datafile '+DG_DATA_CSPROD/users_36.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_02.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_38.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_46.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_19.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_13.dbf' resize m--frag size0m;
alter database datafile '+DG_DATA_CSPROD/users_56.dbf' resize 3166m--total size4830m;
--alter database datafile '+DG_DATA_CSPROD/users_56.dbf' resize 3166m--frag size-1728m;
--alter database datafile '+DG_DATA_CSPROD/users_37.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_07.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_32.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_23.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_26.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_50.dbf' resize m--frag size0m;
alter database datafile '+DG_DATA_CSPROD/users_43.dbf' resize 3886m--total size4974m;
--alter database datafile '+DG_DATA_CSPROD/users_43.dbf' resize 3886m--frag size-1152m;
--alter database datafile '+DG_DATA_CSPROD/users_03.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_31.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_09.dbf' resize m--frag size0m;
alter database datafile '+DG_DATA_CSPROD/users_57.dbf' resize 427m--total size2411m;
--alter database datafile '+DG_DATA_CSPROD/users_57.dbf' resize 427m--frag size-2048m;
--alter database datafile '+DG_DATA_CSPROD/users_47.dbf' resize m--frag size0m;
alter database datafile '+DG_DATA_CSPROD/users_41.dbf' resize 59492m--total size65508m;
--alter database datafile '+DG_DATA_CSPROD/users_41.dbf' resize 59492m--frag size-6080m;
--alter database datafile '+DG_DATA_CSPROD/users_54.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_53.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_05.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_33.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_21.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_16.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_14.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_25.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_22.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_48.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_20.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_06.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_34.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_30.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_15.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_52.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_11.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_01.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_18.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_35.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_12.dbf' resize m--frag size0m;
alter database datafile '+DG_DATA_CSPROD/users_55.dbf' resize 3922m--total size4946m;
--alter database datafile '+DG_DATA_CSPROD/users_55.dbf' resize 3922m--frag size-1088m;
alter database datafile '+DG_DATA_CSPROD/users_42.dbf' resize 46718m--total size47166m;
--alter database datafile '+DG_DATA_CSPROD/users_42.dbf' resize 46718m--frag size-512m;
--alter database datafile '+DG_DATA_CSPROD/users_49.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_39.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_24.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_29.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_08.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_10.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_28.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_51.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_04.dbf' resize m--frag size0m;
alter database datafile '+DG_DATA_CSPROD/users_44.dbf' resize 3901m--total size5245m;
--alter database datafile '+DG_DATA_CSPROD/users_44.dbf' resize 3901m--frag size-1408m;
--alter database datafile '+DG_DATA_CSPROD/users_27.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_40.dbf' resize m--frag size0m;
--alter database datafile '+DG_DATA_CSPROD/users_17.dbf' resize m--frag size0m;
Total space reclaimation:13568MB
VDESAI@db > 


VDESAI@db > alter database datafile '+DG_DATA_CSPROD/users_56.dbf' resize 3166m--total size4830m;

Database altered.

VDESAI@db > alter database datafile '+DG_DATA_CSPROD/users_43.dbf' resize 3886m--total size4974m;

Database altered.

VDESAI@db > alter database datafile '+DG_DATA_CSPROD/users_57.dbf' resize 427m--total size2411m;

Database altered.

VDESAI@db > alter database datafile '+DG_DATA_CSPROD/users_41.dbf' resize 59492m--total size65508m;

Database altered.

VDESAI@db > alter database datafile '+DG_DATA_CSPROD/users_55.dbf' resize 3922m--total size4946m;

Database altered.

VDESAI@db > alter database datafile '+DG_DATA_CSPROD/users_42.dbf' resize 46718m--total size47166m;

Database altered.

VDESAI@db > alter database datafile '+DG_DATA_CSPROD/users_44.dbf' resize 3901m--total size5245m;

Database altered.

VDESAI@db > @freespace

TABLESPACE_NAME              TOTAL_SPACE  FREE_SPACE   AUTO_GROW LARGEST_EXTENT  USED_SPACE PCTFULL PCTAUTOGROW
---------------------------- ----------- ----------- ----------- -------------- ----------- ------- -----------
....
USERS                            168,166      48,640     312,378         11,200     119,526      71         186
....


VDESAI@db > l
  1  declare
  2  cursor c1 is select tablespace_name,file_id,max(block_id) mbid from dba_extents where tablespace_name='&&tbs'
  3  group by tablespace_name,file_id;
  4  fs number;
  5  fn varchar2(100);
  6  ts number;
  7  x number;
  8  gtot number:=0;
  9  tffs number:=0;
 10  ffrags number:= 0;
 11  begin
 12  for v1 in c1 loop
 13     select sum(bytes)/1024/1024 into fs from dba_free_space where tablespace_name = v1.tablespace_name and
 14          file_id = v1.file_id and block_id>v1.mbid;
 15          select file_name,bytes/1024/1024 into fn,ts from dba_data_files where file_id=v1.file_id and tablespace_name=v1.tablespace_name;
 16          select sum(bytes/1024/1024) into tffs from
 17          (select a.bytes/1024/1024 as bytes from dba_free_space a where file_id=v1.file_id and tablespace_name=v1.tablespace_name
 18           union all
 19           select 0.000001 as bytes from dual);
 20  x:=(ts-fs)+64;
 21  if ts>x then
 22  dbms_output.put_line('alter database datafile ' || '''' || fn || '''' || ' resize ' ||  round(x) || 'm' || '--total size' || round(ts) || 'm;' );
 23
 24  gtot :=  gtot + (ts-x);
 25  end if;
 26
 27  ffrags := nvl(tffs - fs,0);
 28  dbms_output.put_line('--alter database datafile ' || '''' || fn || '''' || ' resize ' ||  round(x) || 'm' || '--frag size' || round(ffrags) || 'm;');
 29
 30  end loop;
 31
 32  dbms_output.put_line('Total space reclaimation:' || gtot || 'MB');
 33* end;
VDESAI@db > 

January 6, 2011

Blocking Lock script

Filed under: Performance Tuning, Tools, Uncategorized — vishaldesai @ 10:08 pm

Tool

I just learned from AOT training that v$session is a gold mine and has lot of information about blocking session and final blocking session. So it was time for me to modify my old blocking lock script.

If the script is run on 10g it will only display blocking session. If it is run on 11g it will display blocking and final blocking session.

Sample Output

                                                                                          final
                                                          blocking        blocking        blocking        final
                                                          instance        lockholder      instance        lockholder
Inst                           P2              P3         sid             name            sid             name
  Id  SID SERIAL# P1           ID1             ID2        status          mode            status          mode
---- ---- ------- ------------ --------------- ---------- --------------- --------------- --------------- ---------------
   1    9    6001 Name=TX mode usn<<16 | slot= sequence=3 1 10 VALID      Name=TX mode=6  1 591 VALID
                  =6 X         1245251         60                         X id1=1245251 i
                                                                          d2=360

   1   10    4925 Name=TX mode usn<<16 | slot= sequence=3 1 591 VALID     Name=TX mode=6  1 591 VALID     Name=TX mode=6
                  =6 X         1310780         56                         X id1=1310780 i                 X id1=1310780 i
                                                                          d2=356                          d2=356

SQL> @bl

                                                                                          final
                                                          blocking        blocking        blocking        final
                                                          instance        lockholder      instance        lockholder
Inst                           P2              P3         sid             name            sid             name
  Id  SID SERIAL# P1           ID1             ID2        status          mode            status          mode
---- ---- ------- ------------ --------------- ---------- --------------- --------------- --------------- ---------------
   1   10    4925 Name=TM mode object #=77657  table/part 1 591 VALID     Name=TM mode=3  1 591 VALID     Name=TM mode=3
                  =4 share                     ition=0                    row-X id1=77657                 row-X id1=77657
                                                                           id2=0                           id2=0

Download script

Oracle iostat

Filed under: OS, Performance Tuning, Tools — vishaldesai @ 6:35 pm

Tool:

I have written a simple script to display io statistics from database. This script will help in measuring how much IO/MBPS is reaching to Oracle database. It can also help to troubleshoot if there is queuing happening somewhere. For example if SAN is delivering 500 MBPS throughput but if DBA’s are seeing only 350 MBPS on database then there is possibility of queuing happening somewhere at hardware/software level like volumes, file systems etc.

In Solaris/Linux nicstat can be used to see total bytes sent/received via hba/network card. In AIX similar statistics can be viewed using nmon (-n flag).

iostat.sql displays current io statistics
awr_iostat.sql display historical io statistics based on AWR.

RD – Read
WR – Write
IOPS – IO operations per second
1BLK – single block read
MBRC – multi block read count
MBPS – Megabytes per second (throughput)
Cac – Cache reads
DR – Direct
RDTM – Read in temporary tablespace
WRTM – Write in temporary tablespace

Example:

SQL> @iostat 10 10
|--Tot IOPS----|-APPL IOPS----|------TYPE---------|--Total MBPS--|--APPL MBPS---|---------Type MBPS-----------|
--------------------------------------------------------------------------------------------------------------|
|RD  |WR  |Tot |RD  |WR  |Tot |RD  |RD  |WR  |WR  |RD  |WR  |Tot |RD  |WR  |Tot |Cac |DR  |DR  |Cac |DR  |DR  |
|IOPS|IOPS|IOPS|IOPS|IOPS|IOPS|1BLK|MBRC|1BLK|MBRC|MBPS|MBPS|MBPS|MBPS|MBPS|MBPS|RD  |RD  |RDTM|WR  |WR  |WRTM|
--------------------------------------------------------------------------------------------------------------|
|2656|   1|2657|2656|   0|2656|   0|2656|   1|   0| 125|   0| 125| 125|   0| 125|   0|   0| 125|   0|   0|   0|
|2633|   1|2634|2633|   0|2633|   0|2633|   1|   0| 123|   0| 123| 123|   0| 123|   0|   0| 123|   0|   0|   0|
|2643|   1|2644|2643|   0|2643|   0|2643|   1|   0| 124|   0| 124| 124|   0| 124|   0|   0| 124|   0|   0|   0|
|2647|   1|2648|2647|   0|2647|   0|2647|   1|   0| 124|   0| 124| 124|   0| 124|   0|   0| 124|   0|   0|   0|
|2572|   1|2573|2572|   0|2572|   0|2572|   1|   0| 121|   0| 121| 121|   0| 121|   0|   0| 121|   0|   0|   0|
|2600|   1|2601|2600|   0|2600|   0|2600|   1|   0| 122|   0| 122| 122|   0| 122|   0|   0| 122|   0|   0|   0|
|2697|   1|2698|2697|   0|2697|   0|2697|   1|   0| 126|   0| 126| 126|   0| 126|   0|   0| 126|   0|   0|   0|
|2439|   1|2440|2439|   0|2439|   0|2439|   1|   0| 114|   0| 114| 114|   0| 114|   0|   0| 114|   0|   0|   0|
|2338|   1|2339|2338|   0|2338|   0|2338|   1|   0| 110|   0| 110| 110|   0| 110|   0|   0| 110|   0|   0|   0|
|2181|   1|2182|2181|   0|2181|   0|2181|   1|   0| 102|   0| 102| 102|   0| 102|   0|   0| 102|   0|   0|   0| 

Output from nmon on AIX:

I/F Name Recv=KB/s Trans=KB/s
     en8  114489.4      835.0

SQL> @awr_iostat.sql
Please enter start_date(mm/dd/yy)    :01/05/11
Please enter end_date  (mm/dd/yy)    :01/06/11
old   2: where begin_interval_time>=to_date('&start_date','mm/dd/yy')
new   2: where begin_interval_time>=to_date('01/05/11','mm/dd/yy')
old   3: and   begin_interval_time<=to_date('&end_date','mm/dd/yy')+1
new   3: and   begin_interval_time<=to_date('01/06/11','mm/dd/yy')+1

   SNAP_ID BEGIN_INTERVAL_TIME
---------- ---------------------------------------------------------------------------
      1773 05-JAN-11 12.00.31.153 AM
      1774 05-JAN-11 01.00.27.309 AM
      1775 05-JAN-11 02.00.29.137 AM
      1776 05-JAN-11 03.00.27.934 AM
      1777 05-JAN-11 04.00.33.089 AM
      1778 05-JAN-11 05.00.37.860 AM
      1779 05-JAN-11 06.00.36.449 AM
      1780 05-JAN-11 07.00.39.974 AM
      1781 05-JAN-11 08.00.40.605 AM
      1782 05-JAN-11 09.00.32.146 AM
      1783 05-JAN-11 10.00.29.752 AM
      1784 05-JAN-11 11.00.24.355 AM
      1785 05-JAN-11 12.00.21.982 PM
      1786 05-JAN-11 01.00.28.256 PM
      1787 05-JAN-11 02.00.40.490 PM
      1788 05-JAN-11 03.00.52.797 PM
      1789 05-JAN-11 04.00.08.024 PM
      1790 05-JAN-11 05.00.17.315 PM
      1791 05-JAN-11 06.00.29.626 PM
      1792 05-JAN-11 07.00.41.831 PM
      1793 05-JAN-11 08.00.57.045 PM
      1794 05-JAN-11 09.00.06.255 PM
      1795 05-JAN-11 10.00.24.512 PM
      1796 05-JAN-11 11.00.42.825 PM
      1797 06-JAN-11 12.01.04.130 AM
      1798 06-JAN-11 01.00.16.404 AM
      1799 06-JAN-11 02.00.34.637 AM
      1800 06-JAN-11 03.00.46.922 AM
      1801 06-JAN-11 04.01.05.180 AM
      1802 06-JAN-11 05.00.20.395 AM
      1803 06-JAN-11 06.00.35.606 AM
      1804 06-JAN-11 07.00.50.808 AM
      1805 06-JAN-11 08.00.03.012 AM
      1806 06-JAN-11 09.00.21.245 AM

34 rows selected.

Enter value for start snap_id   :1773
Enter value for end snap_id     :1806

PL/SQL procedure successfully completed.

-Timestamp-|--Tot IOPS-------|-APPL IOPS-------|------TYPE-------------|--Total MBPS--|--APPL MBPS---|---------Type MBPS----
-----------|----------------------------------------------------------------------------------------------------------------
-----------|RD   |WR   |Tot  |RD   |WR   |Tot  |RD   |RD   |WR   |WR   |RD  |WR  |Tot |RD  |WR  |Tot |Cac |DR  |DR  |Cac |DR
-----------|IOPS |IOPS |IOPS |IOPS |IOPS |IOPS |1BLK |MBRC |1BLK |MBRC |MBPS|MBPS|MBPS|MBPS|MBPS|MBPS|RD  |RD  |RDTM|WR  |WR
----------------------------------------------------------------------------------------------------------------------------

01/05 01:00| 2776| 1828| 4604| 2774| 1828| 4602| 1381| 1395|    1| 1827| 103|  85| 188| 103|  85| 188|  18|   0|  85|   0|
01/05 02:00| 2654| 1749| 4403| 2652| 1748| 4400| 1320| 1334|    1| 1748|  98|  81| 179|  98|  81| 179|  17|   0|  81|   0|
01/05 03:00| 2666| 1790| 4456| 2664| 1789| 4453| 1322| 1345|    1| 1789| 101|  83| 184| 101|  83| 184|  18|   0|  83|   0|
01/05 04:00| 2609| 1768| 4377| 2607| 1767| 4374| 1297| 1313|    1| 1766|  97|  82| 179|  97|  82| 179|  15|   0|  82|   0|
01/05 05:00| 4280|  730| 5010| 4277|  730| 5007|  969| 3310|    1|  729| 175|  34| 209| 175|  34| 209|   7|   0| 168|   0|
01/05 06:00| 2933|  163| 3096| 2924|  126| 3050|  383| 2551|    6|  155| 125|  57| 182| 124|  29| 153|   0|   0| 124|   0|
01/05 07:00| 3620|  119| 3739| 3613|   92| 3705|  468| 3152|    5|  112| 154|  41| 195| 154|  21| 175|   0|   0| 154|   0|
01/05 08:00| 2363|  640| 3003| 2355|  612| 2967|  320| 2043|   10|  630| 120|  71| 191| 120|  47| 167|   0|  22|  97|   0|
01/05 09:00|  250| 1205| 1455|  246| 1197| 1443|    4|  246|    2| 1203|  57|  68| 125|  57|  61| 118|   0|  51|   6|   0|
01/05 10:00| 1031|  295| 1326| 1022|  231| 1253|    9| 1022|    7|  272|  48|  77| 125|  48|  50|  98|   0|   0|  48|   0|
01/05 11:00|  622|  802| 1424|  620|  801| 1421|   25|  597|    8|  793|  56|  58| 114|  56|  58| 114|   0|  31|  25|   0|
01/05 12:00| 1368| 1190| 2558| 1366| 1189| 2555|    3| 1365|    1| 1189| 110|  56| 166| 110|  56| 166|   0|  51|  59|   0|
01/05 13:00| 4038|    2| 4040| 4036|    1| 4037|    3| 4036|    1|    1| 189|   0| 189| 189|   0| 189|   0|   0| 189|   0|
01/05 14:00| 4037|    2| 4039| 4034|    1| 4035|    6| 4031|    1|    1| 189|   0| 189| 189|   0| 189|   0|   0| 189|   0|
01/05 15:00| 3969|   43| 4012| 3967|   15| 3982|    3| 3967|    1|   28| 186|   0| 186| 186|   0| 186|   0|   0| 186|   0|
01/05 16:00| 3698|   19| 3717| 3695|   18| 3713|    3| 3695|    1|   18| 237|   1| 238| 237|   1| 238|   0|  71| 166|   0|
01/05 17:00| 3246|    4| 3250| 3244|    3| 3247|    3| 3244|    1|    3| 160|   0| 160| 160|   0| 160|   0|   9| 151|   0|
01/05 18:00| 3450|    1| 3451| 3447|    0| 3447|    3| 3447|    1|    0| 162|   0| 162| 162|   0| 162|   0|   0| 162|   0|
01/05 19:00| 2641|    1| 2642| 2638|    0| 2638|    3| 2638|    1|    0| 124|   0| 124| 124|   0| 124|   0|   0| 124|   0|
01/05 20:00| 3000|    1| 3001| 2998|    0| 2998|    2| 2998|    1|    0| 141|   0| 141| 141|   0| 141|   0|   0| 141|   0|
01/05 21:00| 3625|    1| 3626| 3622|    1| 3623|    4| 3621|    1|    1| 170|   0| 170| 170|   0| 170|   0|   0| 170|   0|
01/05 22:00| 3609|    5| 3614| 3607|    4| 3611|   62| 3547|    2|    3| 174|   0| 174| 174|   0| 174|   9|   0| 165|   0|
01/05 23:00| 3550|    2| 3552| 3548|    1| 3549|   23| 3527|    1|    1| 175|   0| 175| 175|   0| 175|  11|   0| 164|   0|
01/06 00:01| 3287|    4| 3291| 3285|    3| 3288|   24| 3263|    1|    3| 167|   0| 167| 167|   0| 167|  16|   0| 151|   0|
01/06 01:00| 3556|    3| 3559| 3554|    2| 3556|   28| 3529|    1|    2| 179|   0| 179| 179|   0| 179|  15|   0| 164|   0|
01/06 02:00| 3623|    2| 3625| 3621|    1| 3622|   18| 3606|    1|    1| 181|   0| 181| 181|   0| 181|  13|   0| 168|   0|
01/06 03:00| 3709|    3| 3712| 3707|    2| 3709|   25| 3685|    1|    2| 179|   0| 179| 179|   0| 179|   7|   0| 172|   0|
01/06 04:01| 3350|    3| 3353| 3348|    2| 3350|   20| 3331|    1|    2| 172|   0| 172| 172|   0| 172|  18|   0| 154|   0|
01/06 05:00| 3710|    3| 3713| 3707|    3| 3710|   18| 3692|    1|    2| 188|   0| 188| 188|   0| 188|  17|   0| 171|   0|
01/06 06:00| 3898|    1| 3899| 3896|    0| 3896|    3| 3895|    1|    0| 183|   0| 183| 183|   0| 183|   0|   0| 183|   0|
01/06 07:00| 3702|    1| 3703| 3699|    1| 3700|    3| 3699|    1|    1| 174|   0| 174| 174|   0| 174|   0|   0| 173|   0|
01/06 08:00| 3611|    1| 3612| 3609|    0| 3609|    3| 3609|    1|    0| 169|   0| 169| 169|   0| 169|   0|   0| 169|   0|
01/06 09:00| 2681|    1| 2682| 2678|    0| 2678|    2| 2678|    1|    0| 126|   0| 126| 126|   0| 126|   0|   0| 126|   0|
SQL>

Download scripts

Theme: Silver is the New Black. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.