Tuesday, January 21, 2014

OSWatcher and the Exadata (OSWbb is not supported on the Exadata)



Oracle has the OSWatcher (OSWbb) which make the snapshots of the server load (CPU load, Memory load, Disks load ...) and save these data into file.
In the Exadata we also have the OSWatcher, we can see its processes and it save files into /opt/oracle.oswatcher/osw.

In the OSWbb is the analyser(painter) utility - oswbba.jar.
But I didn't find oswbba.jar in the Exadata.

I downloaded the latest OSWbb, put the oswbba.jar into the Exadata and run it.
As a rresult i've got:

"ERROR. You do not have a compatible version of OSWatcher to use with oswbba.
This version of oswbba requires files collected by running OSWbb(6.0 and
higher). The version of you archive files are, Jan ,
which may be compatible with an earlier version of OSWg or oswbba."

Why? 
 The questions are:
- Why there is no appropriate the oswbba.jar in the Exadata ?
- How to update the OSWbb in the Exadata correctly ? 
- Why there is no instructions for OSWbb in the Exadata documentation ...
- Why full-stack patch don't contain the latest OSWbb ?

Answers here:
- Exadata contain its own OSW version which is not compatible to OSWbb.  
- OSWbb is for systems other than exadata. OSWBB is not supported on exadata
- OSWatcher for the exadata will be upgrade with image upgrade.
- There is no analyzer (painter) for Exadata OSW.
- OSWatcher Graph (OSWg) Does Not Work on Exadata System (Note 1344568.1)

Monday, January 13, 2014

How to find old performance statistics in the storage cell ?

In December last year we've finished one testing on the Exadata and go to long holidays ...
... New Year ...

This year customer asked us about the system load during its tests.

Its tests were about a month ago ...

In DB nodes the information was saved by sar which save the history for the last 30 days.
But in the storage cell we got:

[root@ed01cel02 ~]# sar -f /var/log/sa/sa30 -u -s 15:48:01 -e 17:49:01
Cannot open /var/log/sa/sa30: No such file or directory


 The sar statistics is keeping 7 days in storage cell, because

[root@ed01cel02 ~]# cat /etc/sysconfig/sysstat
# How long to keep log files (days), maximum is a month
HISTORY=7


 What to do ?
And we decided to look into OSWather.
It is installed into Exadata by default, and keep its files in

[root@ed01cel03 ~]# ls -l /opt/oracle.oswatcher/osw/archive/
total 972
drwxr-s--- 2 root cellusers  32768 Jan 13 16:00 ExadataDiagCollect
drwxr-s--- 2 root cellusers  28672 Jan 13 16:00 ExadataOSW
drwxr-s--- 2 root cellusers  24576 Jan 13 16:03 ExadataRDS
drwxr-s--- 2 root cellusers 630784 Jan 13 16:00 oswcellsrvstat
drwxr-s--- 2 root cellusers  20480 Jan 13 16:03 oswdiskstats
drwxr-s--- 2 root cellusers  24576 Jan 13 16:01 oswiostat
drwxr-s--- 2 root cellusers  24576 Jan 13 16:00 oswmeminfo
drwxr-s--- 2 root cellusers  20480 Jan 13 16:02 oswmpstat
drwxr-s--- 2 root cellusers  24576 Jan 13 16:04 oswnetstat
drwxr-s--- 2 root cellusers   4096 Apr  4  2013 oswprvtnet
drwxr-s--- 2 root cellusers  20480 Jan 13 16:00 oswps
drwxr-s--- 2 root cellusers  28672 Jan 13 16:00 oswslabinfo
drwxr-s--- 2 root cellusers  24576 Jan 13 16:09 oswtop
drwxr-s--- 2 root cellusers  24576 Jan 13 16:01 oswvmstat


We jump to oswvmstat directory, because it has information we need: runqueue, idle and so on.

But each file contain many rows. How to calculate the average load or somathing like that ?
The solution is:

cat file |
awk '{if(min==""){min=max=$1}; if($1>max) {max=$1}; if($1<min) {min=$1}; total+=$1; count+=1} END {print total/count, max, min}'


For example:

[root@ed01cel01 oswvmstat]# cat ed01cel01.distr.fors.ru_vmstat_13.12.30.1600.dat| grep -v id|grep -v procs|grep -v zzz|awk '{if(min==""){min=max=$15}; if($15>max) {max=$15}; if($15<min) {min=$15}; total+=$15; count+=1} END {print total/count, max, min}'

97.0653 99 87





Monday, January 6, 2014

Замечательное интервью Игоря Ашманова

Не могу не поделиться ссылкой на замечательное интервью Игоря Ашманова, в котором Ашманов показывает ряд перспективных общественных задач "где IT принесли бы наибольшую пользу стране и людям" и IT-методы их решения.

Вкратце:

- В здравоохранении – единая электронная медицинская карта, чтобы любая клиника, страховая, районная или другая компания, куда гражданин обратился, писала данные анализов и исследований, эпикризы в электронную карту данного гражданина. В этом случае, у лечащего врача будет достаточно много информации о пациенте. В результате диагнозы станут точнее и ошибок будет меньше. Да и при смене места жительства анкета может потеряться или остается в поликлинике, а с электнной картой у нового врача всегда будет полноценный объем данных на данного пациента, независимо в сознании он или нет.

- Электронный паспорт для граждан РФ:  ничего не придется с собой носить, не нужен паспорт. Электронный идентификатор (паспорт) все равно будет создан. Хорошо бы, чтобы он был он был связан с электронной медицинской картой, госуслугами и т.д

- Та же история с автомобилями и объектами недвижимости. Правильно, чтобы у каждого автомобиля был сайт. Чтобы видно было, когда его ремонтировали, как обслуживали, что с ним сейчас. У некоторых автомобилей свои сайты уже есть, но это очень дорогие автомобили. То же с квартирами: электронные кадастры у государства уже есть, но гражданам при покупке квартиры тоже нужно нужно знать кто ее законный владелец/владельцы, ее планы, электросхемы.

- Общественный транспорт – это единые, управляемые из центра расписания движения всех видов транспорта, управление автобусами и прочими электричками. Электронные табло на остановках. Управление светофорами и потоками машин. Оптимизация трафика в реальном режиме времени.

- Оборона и безопасность: стране нужны сервисы и устройства для защищенного использования Интернета. Чтобы можно было купить телефон или планшет, который гарантированно ничего никуда не отправляет. Чтобы американцы с него снять ничего не могли точно, а наши – с большой натяжкой. Превратить внутреннее пространство страны в черное пятно для АНБ – это государственная задача. Для её решения нужны как минимум средства контроля операционных систем и файрволов. Сейчас файрволы по умолчанию считают, что приложения, возможно, плохие, а ОС – точно хорошая. Но Сноуден показал нам, что это не так, что система по умолчанию тоже плохая.

Стране нужны свои процессорные фабрики, операционка, мобильная операционка, сетевой маршрутизатор, браузер, офис. Современное ПО производства западных компаний - ненадежно. Нужно импортозамещение.


Monday, November 18, 2013

Backup DB from Exadata to ZFS Backup Appliance

If you think about RMAN performance and your hardware is of high level or
if you will backup database from Exadata to the ZFS Storage Appliance 
                                  then look here :

  • For backup to backupset and restore from backupset:
    • _backup_disk_bufcnt=64
    • _backup_disk_bufsz=4194304
  • For image copy backup and restore:
    • _backup_file_bufcnt=64
    • _backup_file_bufsz=4194304

And references:

Configuring Oracle RMAN and the Oracle Database Instance: http://docs.oracle.com/cd/E28223_01/html/E27586/configappl.html  

MOS Note:  1072545.1: RMAN Performance Tuning Using Buffer Memory Parameters. 

And the nice presentation how to marriage the ZFSSA and Exadata: http://www.dbaexpert.com/DOUG%20Exadata%20with%20ZFS%20Storage%20Appliance.pdf  

Wednesday, November 6, 2013

Oracle vs Hana


 Посетив на днях семинар по HANA, хочу поделиться своими выводами.

Сила ХАНЫ заключается в следующих вещах:
- хранение таблиц в формате столбцевой компрессии (коэффициент сжатия SAP считает около 6)
- хранение данных в оперативной памяти (предполагается, что в сочетании со сжатием все данные должны поместиться в оперативную память. Пропорция для расчета: 64Г оперативной памяти на каждые 300Г исходных пользовательских данных. при чтении одной строки из таблицы вся таблица/партиция читается в оперативную память)
- кроме того, SAP внедрили в ХАНУ обычный row-store движок (надо полагать, это кусочек от ранее купленного Sybase), который позволяет работать с таблицами в обычном строчном row-формате. Этот формат хранения предназначается для OLTP-приложений.

В результате, получилась забавная гибридная СУБД, способная работать как с DWH-приложениями так и OLTP. Справедливости ради надо сказать, что все современные OLTP-движки – DB2, MSSQL, Sybase, Postgress – значительно уступают OLTP-движку от Оракла, т.е. для тяжелого OLTP они просто не подходят по причине роста блокировок.


Поэтому Оракл немедленно взялся за Database-In-Memory Option, которая по сути есть НСС не привязанное к системе хранения, иными словами, Оракл повторно, с 5-летним опозданием, анонсирует свою НСС-опцию:




Oracle Database In-Memory leverages a new in-memory column store format

Oracle Database In-Memory option accelerates the performance of analytic queries by storing data in a highly optimized columnar in-memory format.

A unique "dual-format" approach ensures outstanding performance and complete data consistency for all workloads.

Oracle Database In-Memory automatically maintains data in both the existing Oracle row format for OLTP operations, and a new purely in-memory column format optimized for analytical processing. Both formats are simultaneously active and transactionally consistent.



Для тех кто не в курсе: Оракл имеет HCC с 2008 года, когда вышла первая Экзадата. Но Оракл разрешил HCC только для своих собственных систем хранения: Exadata Storage Cell, Pillar Axiom, ZFS Storage Appliance. Вот если бы Оракл изначально объявил этот функционал своей опцией, доступной на всех платформах, то мы бы сейчас видели бурный всплеск продаж СУБД.

Столбцевое хранение данных на сегодняшний тень также реализовано в MS SQL, IBM DB2 & Netezza. Таким образом, можно сделать вывод, что современные СУБД все больше становятся гибридными, т.е.  способными хранить/обрабатывать оба типа данных.

Thursday, October 24, 2013

CELL-04532: Error encountered while creating cell disk on LUN

During the initial Exadata configuration at the step of creating cell disks we obtained the message "CELL-04532: Error encountered while creating cell disk on LUN":

INFO: Running /usr/local/bin/dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root "cellcli -e create celldisk all " to disks...
ERROR: Ran /usr/local/bin/dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root "cellcli -e create celldisk all " and it 1 instead of 0 and output is
 

...
ed02celadm01: CellDisk FD_00_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_01_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_02_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_03_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_04_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_05_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_06_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_07_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_08_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_09_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_10_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_11_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_12_ed02celadm01 successfully created
ed02celadm01: CellDisk FD_13_ed02celadm01 successfully created
ed02celadm01:
ed02celadm01: CELL-04532: Error encountered while creating cell disk on LUN: 1_1 4_0 .


As you can see above there were created only 14 flash disks, not 16.
And disks 1_1 and 4_0 weren't created.

We connected to the storage cell and said list lun detail

CellCLI> list lun detail

         name:                   1_0
         cellDisk:               FD_00_ed02celadm01
         deviceName:             /dev/sdv
         diskType:               FlashDisk
         id:                     1_0
         isSystemLun:            FALSE
         lunAutoCreate:          FALSE
         lunSize:                93.13225793838501G
         physicalDrives:         FLASH_1_0
         status:                 normal

         name:                   1_1
         cellDisk:
         deviceName:             /dev/sdw
         diskType:               FlashDisk
         id:                     1_1
         isSystemLun:            FALSE
         lunAutoCreate:          FALSE
         lunSize:                93.13225793838501G
         physicalDrives:         FLASH_1_1
         status:                 normal


As you can see - the LUN 1_1 has status "normal".
4_0 has the normal status too :).
And all good disks have the normal status too.


Then we run the disk reading:

[root@ed02celadm01 ~]# hdparm -tT /dev/sdv

/dev/sdv:
 Timing cached reads:   25848 MB in  2.00 seconds = 12951.07 MB/sec
 Timing buffered disk reads:  630 MB in  3.01 seconds = 209.62 MB/sec
 

[root@ed02celadm01 ~]# hdparm -tT /dev/sdw
/dev/sdw:
 Timing cached reads:   26328 MB in  2.00 seconds = 13192.06 MB/sec
 Timing buffered disk reads:  632 MB in  3.01 seconds = 210.04 MB/sec



As you can see, the bad and good disks are well both.

The "cellcli> CALIBRATE FORCE" showed the no errors too ...


Then we decided to create cell disks manually:

CellCLI> create celldisk FD_14_ed02celadm01 lun=1_1

CELL-04527: Cannot complete the creation of cell disk FD_14_ed02celadm01. Received error: CELL-04521: The LUN 1_1 has a valid celldisk (which is not imported).
Cell disks are not created: FD_14_ed02celadm01

CellCLI> create celldisk FD_14_ed02celadm01 lun=4_0

CELL-04527: Cannot complete the creation of cell disk FD_14_ed02celadm01. Received error: CELL-04521: The LUN 4_0 has a valid celldisk (which is not imported).
Cell disks are not created: FD_14_ed02celadm01


The solution is to run dd on the storage cell and wipe disk header:


dd if=/dev/zero of=/dev/sdw bs=1M count=20


Saturday, September 28, 2013

Largest Exadata OLTP Environment

http://www.oracle.com/technetwork/database/availability/11256-exadata-oltp-paypal-1864630.pdf


–  500+ database instances
–  OLTP databases commonly 10-130 TB
–  5,000-14,000 concurrent processes
–  80,000 executions/second, 10GB Redo/Minute

Friday, September 20, 2013

Command: ChgPassWordString grid welcome1 produced null output


Making new installation of 1/2 Exadata i've got a message:

[root@dm01dbadm01 linux]# ./install.sh -cf ./WorkDir/MegaYEKTTest.xml -s 3

20 Sep 13 14:19:45 [INFO ] Executing Create Users
20 Sep 13 14:19:45 [INFO ] Creating users...
20 Sep 13 14:19:45 [INFO ] Creating users in cluster cluster-clu1 ................................
20 Sep 13 14:20:23 [INFO ] Following errors were found while checking command output:
20 Sep 13 14:20:23 [INFO ] ERROR:
20 Sep 13 14:20:23 [INFO ] Command: ChgPassWordString grid welcome1 produced null output but executed successfully on dm01dbadm03
20 Sep 13 14:20:23 [INFO ] zipping log and WorkDir directories . . 
20 Sep 13 14:20:23 [INFO ] Please send /opt/oracle.SupportTools/linux/WorkDir/Diag-130920_142023.zip to Oracle if you require assistance...
20 Sep 13 14:20:23 [INFO ] OcmdException from node dm01dbadm01.mega.com return code = 2 output string: Error running command ChgPassWordString grid welcome1 on node dm01dbadm03
20 Sep 13 14:20:23 [INFO ] OcmdException from node dm01dbadm01.mega.com return code = 2 output string: Error running Create Users error message Error running
oracle.onecommand.deploy.users.DeployUserUtils method createAllUsers






I logined to node 3 and 4 and tried to change password manually, and confirmed the error:

[root@dm01dbadm04 ~]# passwd
Changing password for user root.
... some silent seconds and .
passwd: Authentication token manipulation error

But in node 1 and node 2 passwd worked well.

I did
# strace passwd
and noticed all files passwd is open
open("/etc/pam.d/system-auth", O_READONLY) =...
They are
/etc/passwd, /etc/shadow, /etc/pam.d/passwd, /etc/pam.d/system-auth, /etc/pam.d/other

 Then I compared  these files at good and bad nodes.
Actually the difference was in some commented lines in /etc/pam.d/system-auth in bad node.  

 SOLUTION


I copied files from good node to bad nodes:
/etc/passwd, /etc/shadow, /etc/pam.d/passwd, /etc/pam.d/system-auth, /etc/pam.d/other


And the problem was gone :) !

Thursday, August 15, 2013

12c on Exadata



Стали известны некоторые подробности того, как будет работать 12с на Экзадате, вот несколько Экзадата-специфических особенностей.
Главное направление развития - улучшение OLTP на Экзадате.
Как пишет Оракл: Database 12.1 enhancements for Exadata are focused on OLTP and Consolidation

- Hardware оптимизировано под OLTP Messaging
            СУБД сможет напрямую работать с Infiniband (Database calls InfiniBand hardware directly)

- Smart Scan сможет работать с типом данных LOB
            – Smart Scan offload for small CLOBs (< 4KB)
            – Like expressions, e.g. like(html, ‘Exadata’)
            – Pattern Matching, e.g. regexp_like()
            – Smart Scan works for compressed and encrypted CLOBs

- HCC now has row level locking for better OLTP
Блокировки на уровне строк позволяют совместить плюсы OLTP-производительности и HCC-компрессии (ранее при DML блокировался целый HCC compression unit).

- HCC будет работать с типами данных Spatial и Oracle Text
            – One Oil & Gas company saw over 40X compression for a spatial table
            – Enabled by Direct Load support for tables with Domain and Functional Indexes

- OLTP Compression станет возможной для таблиц с 254 и более столбцами

- Network Resource Manager
            OLTP-задачи чувствительны к сетевым задержкам и загрузке сети.
            Это особенно заметно в консолидированных средах.
            Поэтому в 12с на Экзадате будет работать NRM, который позволит задать приоритеты на пользование сетью.
            Ряд настроек будут встроены в Экзадату изначально, например, запись в редо лог файлы имеет наивысший приоритет (чтобы гарантировать высокую скорость транзакций)
            Бэкапы будут иметь более низкий приоритет изначально.

- IORM сможет задавать приоритеты для PDB  (БД, работающих в контейнере)
  Приоритет можно задать для JOB, для SQL, для USER, для SERVICE и т.д.

- ASM rebalance offloaded to Exadata
            Серверы хранения будут обмениваться данными напрямую, не загружая операциями IO серверы БД

Проект по созданию тестового комплекса в банке ВТБ24



http://corp.cnews.ru/news/line/index.shtml?2013/08/14/539163 

"тестовый комплекс предназначен для предварительной отработки всех изменений, которые будут вноситься в ключевые действующие информационные системы и аппаратную часть ИТ-инфраструктуры банка"


"Первоначально решение предполагает наличие семи тестовых контуров. Каждый контур соответствует существующей продуктивной инфраструктуре и содержит тестовые среды нескольких десятков ключевых информационных систем банка, а при необходимости в контур можно подключать дополнительные системы. В настоящий момент в среднем на каждый контур приходится от 6 до 30 тестовых сред."


Комментируем: Современные банки (как и многие другие организации) все больше становятся ИТ-компаниями, т.е. выполняют большие объемы ИТ-работ, вместо того, чтобы заниматься своим прямым бизнесом. Разработали концепцию, схемы, регламенты:



"Одной из ключевых задач проекта стала подготовка концепции тестовой инфраструктуры, после чего были разработаны схемы организации тестовых сред и принципы работы тестовых контуров, бизнес-процессы, регламенты организации тестирования. Затем был спроектирован и развёрнут программно-аппаратный комплекс, соответствующий задачам проведения комплексного функционального тестирования требуемого качества и объема.

Современная ИТ-инфраструктура страдает большим разнообразием - слишком большое количество комбинаций железа и  и ПО: - разные аппаратные платформы - x86-64, Power, Itanuum,
- разные версии ОС на них
- разные версии прошивок и драйверов
- разные варианты конфигурации


В этих условиях для выявление причины проблем и ее устранения заказчику придется пообщаться с большим количеством вендоров, каждый из кооторых быстро заявит, что проблема на стороне другого вендора, а в его софте все хорошо.
Т.е. проблема совместной работы софта разных производителей и возникающие в связи с этим проблемы - это проблема заказчика.

В этом плане использование Экзадаты имеет определенные преимущества за счет того, что количество вариантов минимально и Оракл принимает на себя ответственность за совместную работу СУБД+Линукса+Драйверов+железа.

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