Monday, June 16, 2014

How to Add Exadata Storage Servers



Как известно, Оракл разрешает расширять Экзадату путем добавления новых серверов хранения. Вот попалась нота на этот счет:

How to Add Exadata Storage Servers to an Existing Database Machine (Doc ID 1476336.1)

Самое интересное в ней – правила:
  • Within a rack, you can only add the same kinds of disks as what already exists.  E.g., if you already have high capacity (HC) disks, then you can only add HC disks and similarly if you already have high performance (HP) disks you can only add HP disks
  • When adding an additional rack or storage expansion rack, you may add either HC or HP disks, but if the new disks are a different type from the existing ones, then you must add them to a new diskgroup containing only that disk type. E.g., your existing disks are HP and you add an HC storage expansion rack; the new disks must go into a new diskgroup
В переводе на русский:

  • В пределах одной стойки все диски должны быть одного типа.Если нужны диски другого типа, то добавляй новую стойку.
  • Если добавились диски другого типа, то из них надо создавать отдельную дисковую группу. Иными словами, в одной дисковой группе нельзя смешивать диски разного типа.

Sunday, June 8, 2014

How to enable the Flash Cache Compression ?

Prereqs:
- should i shutdown databases ?
- should i shutdown clusterware ?

My experiment say - no, i didn't shutdown DB soft or clusterware (CW). I just connected to cells with terminal program and made my operations. The DB and ASM alert logs showed no errors during this operation.


If you make the "list cell detail" before this operation then you don't see the
"flashCacheCompress" parameter. It is absent.

And a size of FlashCache is:

[root@exa2celadm01 ~]# cellcli -e list flashcache detail|grep -i Size
     effectiveCacheSize:     2978.75G
     size:                   2978.75G



The "alter flashcache all flush" command may take a very long time, for example, 1+ hour. So run it on the all cells simultaneously some times before your operation.


My commands:

CellCLI> alter flashcache all flush
Flash cache ed02celadm01_FLASHCACHE altered successfully

CellCLI> drop flashcache all       
Flash cache ed02celadm01_FLASHCACHE successfully dropped

CellCLI> drop flashlog all         
Flash log ed02celadm01_FLASHLOG successfully dropped

CellCLI> drop celldisk all flashdisk
CellDisk FD_00_ed02celadm01 successfully dropped
CellDisk FD_01_ed02celadm01 successfully dropped
CellDisk FD_02_ed02celadm01 successfully dropped
CellDisk FD_03_ed02celadm01 successfully dropped
CellDisk FD_04_ed02celadm01 successfully dropped
CellDisk FD_05_ed02celadm01 successfully dropped
CellDisk FD_06_ed02celadm01 successfully dropped
CellDisk FD_07_ed02celadm01 successfully dropped
CellDisk FD_08_ed02celadm01 successfully dropped
CellDisk FD_09_ed02celadm01 successfully dropped
CellDisk FD_10_ed02celadm01 successfully dropped
CellDisk FD_11_ed02celadm01 successfully dropped
CellDisk FD_12_ed02celadm01 successfully dropped
CellDisk FD_13_ed02celadm01 successfully dropped
CellDisk FD_14_ed02celadm01 successfully dropped
CellDisk FD_15_ed02celadm01 successfully dropped

CellCLI>

CellCLI> alter cell FlashCacheCompress=true
Cell ed02celadm01 successfully altered

CellCLI>

CellCLI> create celldisk all flashdisk
CellDisk FD_00_ed02celadm01 successfully created
CellDisk FD_01_ed02celadm01 successfully created
CellDisk FD_02_ed02celadm01 successfully created
CellDisk FD_03_ed02celadm01 successfully created
CellDisk FD_04_ed02celadm01 successfully created
CellDisk FD_05_ed02celadm01 successfully created
CellDisk FD_06_ed02celadm01 successfully created
CellDisk FD_07_ed02celadm01 successfully created
CellDisk FD_08_ed02celadm01 successfully created
CellDisk FD_09_ed02celadm01 successfully created
CellDisk FD_10_ed02celadm01 successfully created
CellDisk FD_11_ed02celadm01 successfully created
CellDisk FD_12_ed02celadm01 successfully created
CellDisk FD_13_ed02celadm01 successfully created
CellDisk FD_14_ed02celadm01 successfully created
CellDisk FD_15_ed02celadm01 successfully created

CellCLI> create flashlog all size=512M
Flash log ed02celadm01_FLASHLOG successfully created

CellCLI> create flashcache all
Flash cache ed02celadm01_FLASHCACHE successfully created

CellCLI>

CellCLI> list cell detail      
     name:                   ed02celadm01
     bbuChargeThreshold:     800
     bbuStatus:              normal
     bbuTempThreshold:       60
     bmcType:                IPMI
     cellVersion:            OSS_12.1.1.1.0_LINUX.X64_131219
     cpuCount:               24
     diagHistoryDays:        7
     fanCount:               8/8
     fanStatus:              normal
     flashCacheMode:         WriteBack
     flashCacheCompress:     TRUE
     id:                     1340NM502N
     interconnectCount:      3
     interconnect1:          ib0
     interconnect2:          ib1
     iormBoost:              0.0
     ipaddress1:             192.168.11.5/22
     ipaddress2:             192.168.11.6/22
     kernelVersion:          2.6.39-400.128.1.el5uek
     locatorLEDStatus:       off
     makeModel:              Oracle Corporation SUN SERVER X4-2L High Capacity
     metricHistoryDays:      7
     notificationMethod:     snmp
     notificationPolicy:     critical,warning,clear
     offloadGroupEvents:
     offloadEfficiency:      481,755.6
     powerCount:             2/2
     powerStatus:            normal
     releaseVersion:         12.1.1.1.0
     releaseTrackingBug:     16980054
     snmpSubscriber:         host=ed02dbadm02.distr.fors.ru,port=3872,community=public
                             host=ed02dbadm01.distr.fors.ru,port=3872,community=public
     status:                 online
     temperatureReading:     24.0
     temperatureStatus:      normal
     upTime:                 50 days, 18:13
     cellsrvStatus:          running
     msStatus:               running
     rsStatus:               running



And size of FlashCache in our X4-2 after modification is about 2 times bigger:

[root@ed02celadm01 ~]# cellcli -e list flashcache detail|grep -i Size
     effectiveCacheSize:     5959G
     size:                   5959G

Monday, May 19, 2014

Exadata X5-2

Привет,

Есть желание пофантазировать на тему Х5 Экзадаты .
В начале этого года все оба-два основных производителя выпустили по 6Т-модели жестких дисков. Также, пишут, что за прошлый год стоимость флэш памяти снизилась на 30%, и еще на 14% - произошло снижение стоимости в за 1 квартал текущего года. Т.е. в сумме набегает 44%.

Оба этих фактора дают основания сделать прогноз о новой Экзадате ...
Итак, что это будет:

1.
В Экзадате Х5 High Capacity будут стоять жесткие диски емкостью по 6Т, что означает 50% рост дискового пространства по сравнению с 4Т-дисками, которые используются сейчас.

2.
Новые 6Т жесткие диски также содержат в описании ключевые слова 512e/512n, поэтому есть основания полагать, что произойдет переход на 4К-сектор для жестких дисков. Давно ждем. С сейчас в Экзадатах Х4 жесткие диски под ASM все еще по 512-байт:
$ asmcmd lsdg
 State    Type   Rebal  Sector   Name
MOUNTED  NORMAL  N         512   DATAC1/
MOUNTED  NORMAL  N         512   DBFS_DG/
MOUNTED  NORMAL  N         512   RECOC1/


И параметр _disk_sector_size_override уже не будет таким скрытым.

4К-сектор принесет дополнительное увеличение емкости на 10%, по сравнению с 512-байтным сектором за счет экономии на контрольных суммах.
Т.е. увеличение емкости будет не 50%, а 60% .

Хорошая статья на тему HDD 4K.

3.
В связи с ростом дисковой емкости на 60% флэш-диски также будут пропорционально увеличены. На мой взгляд объем увеличения ограничен снизу цифрой 50%, чтобы попытаться сохранить пропорцию "объем флэша"/"объем ЖД".
Благодаря снижению цены флэша на рынке приблизительно на 50%, увеличение объема флэша на 50% будет для Оракла бесплатным.
Т.е. будут выпущены флэш акселераторы F120 (1200 ГБ) или F160 (1600 ГБ), взамен используемых сегодня F80 (800 ГБ ) .

4.
Произойдет переход на 4К для флэш-дисков.
Флэш диски ВСЕГДА имели размер сектора 4К и обращаться с ними как с 512-байтовыми устройствами как-то неправильно.

За счет перехода к 4К-флэшу произойдет увеличение его объема на 10%.

5.
В связи с ростом дисковой емкости  потребуется на 60% больше места под Storage Index в оперативной памяти серверов хранения. Поэтому я предполагаю, что память на серверах хранения будет увеличена. Cейчас эта цифра 96Г, в новых моделях она будет 128-144 Г.

6.
Флэш-акселераторы перейдут на PCI 3, сейчас в Х4 стоят карточки F80 с PCI 2.

7.
Кэш на RAID-контроллерах жестких дисков, который сегодня 512МБ будет увеличен до 1Г для лучшей адаптации к загруке больших объемов данных.
RAID-контроллер тоже перейдет на PCI 3.

Tuesday, March 11, 2014

ASYNC IO is not working in 11.2.0.4.3 (January 2014 quarterly full stack patch)

After applying to the Exadata the January 2014 quarterly full stack patch and 11.2.0.4.3 RDBMS we run the IO Calibration dbms_resource_manger.calibrate_io(). It generated the messages in alert log trace files:

calibrate_io (kcfcagmdf): WARNING: ASync I/O not possible for datafile with file number (fno) [1]
calibrate_io (kcfcagmdf): WARNING: ASync I/O not possible for datafile with file number (fno) [2]
calibrate_io (kcfcagmdf): WARNING: ASync I/O not possible for datafile with file number (fno) [3]
calibrate_io (kcfcagmdf): WARNING: ASync I/O not possible for datafile with file number (fno) [4]


We checked the DB parameters:

SQL> show parameter filesystemio

NAME                 TYPE   VALUE
-------------------- ------ ------
filesystemio_options string setall

SQL> show parameter disk_asynch_io

NAME           TYPE    VALUE
-------------- ------- -------
disk_asynch_io boolean TRUE


We checked the  ASYNC IO inside the DB:

SQL> COL NAME FORMAT A50
SELECT NAME,ASYNCH_IO FROM V$DATAFILE F,V$IOSTAT_FILE I
WHERE F.FILE#=I.FILE_NO
AND FILETYPE_NAME='Data File';

NAME                                          ASYNCH_IO
--------------------------------------------- ---------
+DATAC1/migdb/datafile/system.256.839351447   ASYNC_OFF
+DATAC1/migdb/datafile/sysaux.257.839351449   ASYNC_OFF
+DATAC1/migdb/datafile/undotbs1.258.839351449 ASYNC_OFF
+DATAC1/migdb/datafile/users.259.839351449    ASYNC_OFF


Then we checked the libaio libraries in Linux (they are well):

[root@dm01dbadm01 ~]# rpm -qa|grep libaio
libaio-0.3.106-5
libaio-devel-0.3.106-5
libaio-devel-0.3.106-5
libaio-0.3.106-5
[root@dm01dbadm01 ~]# find / -name libaio*
/usr/lib64/libaio.so.1
/usr/lib64/libaio.so.1.0.0
/usr/lib64/libaio.so.1.0.1
/usr/lib64/libaio.a
/usr/lib64/libaio.so
/usr/lib/libaio.so.1.0.0
/usr/lib/libaio.so.1
/usr/lib/libaio.so.1.0.1
/usr/lib/libaio.a
/usr/lib/libaio.so
/usr/share/doc/libaio-0.3.106
/usr/include/libaio.h
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/stubs/libaio.so.1
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/stubs/libaio.so
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/stubs/libaio-2.3.4-stub.so
/u01/app/11.2.0.4/grid/lib/stubs/libaio.so.1
/u01/app/11.2.0.4/grid/lib/stubs/libaio.so
/u01/app/11.2.0.4/grid/lib/stubs/libaio-2.3.4-stub.so


And the async syscall statistics:

# cat /proc/slabinfo|grep kio
kioctx 86 110 384 10 1 : tunables 54 27 8 : slabdata 11 11 0
kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
# more /proc/sys/fs/aio-max-nr
3145728
# more /proc/sys/fs/aio-nr
11008


So, we understand - we loosed the ASYNC IO in the Exadata.

Solution:  Patch 16618055 :

The fix Patch 16618055 : PHSB: EXADATA DOESN'T SUPPORT ASYNC I/O is now available for download on top of 11.2.0.4.3

This patch is online installable, we installed it.
In the alert log we see:
Tue Mar 11 13:15:02 2014
Patch bug16618055.pch Installed - Update #1
Patch bug16618055.pch Enabled - Update #2
Tue Mar 11 13:15:05 2014
Online patch bug16618055.pch has been installed
Online patch bug16618055.pch has been enabled
 

But the DB showed ASYNC_OFF
NAME                                          ASYNCH_IO
--------------------------------------------- ---------
+DATAC1/migdb/datafile/system.256.839351447   ASYNC_OFF
+DATAC1/migdb/datafile/sysaux.257.839351449   ASYNC_OFF
+DATAC1/migdb/datafile/undotbs1.258.839351449 ASYNC_OFF
+DATAC1/migdb/datafile/users.259.839351449    ASYNC_OFF


After shutdown the ASYNC become ON !
 

Wednesday, March 5, 2014

Is CREATE INDEX smart-scanable ?

The answer is YES !
Look:



set timing on
CREATE UNIQUE INDEX "DW_STG"."UK#CALLS_00" ON "DW_STG"."CALLS_00" ("CALL_ID")   PCTFREE 0 INITRANS 24 MAXTRANS 255 PARALLEL 64  ;




You can see the column "Cell Offloading" = 95%

# ocrconfig -add +DATA PROT-30: The Oracle Cluster Registry location to be added is not usable. PROC-50: The Oracle Cluster Registry locatio...