Показаны сообщения с ярлыком oracle. Показать все сообщения
Показаны сообщения с ярлыком oracle. Показать все сообщения

пятница, 8 декабря 2017 г.

Sqlplus history

Для Linux в sqlplus от InstantClient нет удобств. Все они на улице :(.
yum install rlwrap

~.bashrc:
alias sqlplus='rlwrap sqlplus'

sqlplus
SQL> set history on;



четверг, 16 октября 2014 г.

Oracle Linux UEK. Smart Flash Cache

Источник - документ oracle-linux-with-flash-2004731.pdf

В сервере должна быть карта F40 или F80. Oracle 11gR2 minimum.

Как файловая система:

файловая система не должна начинаться с нулевого сектора. Более того, отступаем по рекомендациям 1М:
#fdisk -lu /dev/sda
#echo "2048,," |sfdisk -uS /dev/sda
#fdisk -lu /dev/sda или sfdisk -l -uS /dev/sda

2048 * 512 bytes = 1M
#mkfs -t ext4 /dev/sda1
#mount -t ext4 -o noatime,nodiratime,max_batch_time=0,nobarrier /dev/sda1 /mnt

Проверим что шедулер DeadLine активен (он по умолчанию):
#more /sys/block/sda/queue/sheduler
noop anticipatory [deadline] cfq

Запишем в /etc/fstab:
/dev/sda1 /mnt ext4 defaults,noatime,nodiratime,max_batch_time=0,nobarrier 1 2

Настроим глубину очереди:
#echo "512" > /sys/block/sda/queue/nr_requests
#echo "512" > /sys/block/sda/device/queue_depth

Эти строчки добавить в скрипт загрузки /etc/rc.local также.

Конфигурация для работы с ASM:

Возьмем пример двух карт  F40.
 - установить Oracle Grid 11gR2
 - сделаем все как при настройке файловой системы (см. выше) но до момента mkfs. Файловую систему делать не надо.
- Создаем ASM диски:
#/usr/bin/oracleasm createdisk D1 /dev/sda1
#/usr/bin/oracleasm createdisk D2 /dev/sdb1
- Создаём дисковую группу как external redundancy:
SQL> create diskgroup FLASH disk 'ORCL:D1', 'ORCL:D2' external redundancy;
ну либо через графику.

Осталось подружить СУБД и флеши. Но это уже работа ДБА. А я не он:)





понедельник, 25 ноября 2013 г.

M10-1 installation

Fujitsu M10-1.
1U, два блока питания. 1 CPU 16 Cores 2.80GHz, памяти может быть до 512ГБ. До 8-ми дисков SAS 600GB 10 000 rpm или eMLC 200/400GB. Управление как в предыдущих серверах M-серии через XSCF.
Первичный запуск очень похож на запуск M3/4/5. Цепляемся через COM-порт 9600 8N1.
Тут как и ранее есть два варианта входа. Есть пользователь default без пароля но при условии что мы рядом с сервером и можем дёргать ключ из положения Service в Lock и обратно.
А есть и другой пользователь - admin. Но этот пользователь существует только один раз. Как только вошли под admin - делаем пользователей нужных, пароли ставим, даем права и выходим - всё, пользователя admin больше не будет. Он одноразовый. Далее только default если всё забыто и потеряно либо те пользователи, что мы сделали будучи admin.
Делаем пользователей:
>adduser eis-installer
>adduser fieldeng
>password eis-installer
>password fieldeng
> setprivileges eis-installer useradm platadm auditadm fieldeng mode
> setprivileges fieldeng fieldeng mode
>exit

теперь заходим как eis-installer.
Конфигурим сетку управления (в нулевом порту XSCF):
>shownetwork -a
>setnetwork bb#00-lan#0 -m MASK IP
>setroute -c add -n 0.0.0.0 -g IP_DEFAULT_GATE bb#0-lan#0
>sethostname bb#00 NAME
>sethostname -d DOMAINNAME
>setnameserver IP_DNS1 IP_DNS2
>applynetwork
>rebootxscf

Дальше немного еще с сеткой:
>showtimezone -c tz
>settimezone -c settz -s Asia/Novosibirsk
>showdate
>setdate -s MMDDHHmmYYYY
>setntp -c add IP_NTP1 IP_NTP2
>showntp -a

Теперь службы доступа:
>setssh -c enable
>sethttps -c selfsign RU Siberia Novosibirsl MY_Company Departament HOST email
>sethttps -c enable

И вот тут в принципе Ь-серию можно было и стартовать poweron -d 0. Но тут нельзя. M10 серия построена на базе CoD (Capacity of Demand), и по умолчанию ни одного ядра не активировано и включить домен не выйдет. С сервером должен поставляться диск (обычный CD), там будут файлы активации ядер, кратностью 2. Будут причем файлы по отдельности для активации каждой пары и будет один суммарный на всё количество, который куплено. Кстати, теперь мы тут не называемся доменом, это теперь PPAR (Physical PARtition).
Смотрим что есть сейчас до активации:
>showhardconf
>showpcl -a
PPAR-ID   LSB   PSB   Status
00                    Powered Off
          00    00-0

>showboards -a
PSB  PPAR-ID(LSB) Assignment  Pwr  Conn Conf Test    Fault
---- ------------ ----------- ---- ---- ---- ------- --------
00-0 00(00)       Assigned    n    n    n    Unknown Normal

>showcodactivation
Index   Description Count
------- ----------- ------

Вот тут у нас пусто. Добавляем лицензии. На диске в папке ACTIVATION_KEY.
>addcodactivation "Product: SPARC M10-1 .........."
В кавычках весь ключ (текст из файла). После добавления будет уже так:
 showcodactivation
Index   Description Count
------- ----------- ------
      0 PROC            2
Эти коды добавят ядра в пул ресурсов. Нам нужно отдать нужное количество в домен, то есть PPAR. Смотрим что есть:
>showcod
PROC Permits installed: 2 cores
PROC Permits assigned for PPAR 0: 0
Добавим в PPAR 0 наши 8 ядер:
>setcod -p 0 -s cpu 8
Я активировал 8 ядер. Смотрим как они используются:
>showcodactivation
Index   Description Count
------- ----------- ------
      0 PROC            2
      1 PROC            2
      2 PROC            2
      3 PROC            2
XSCF> showcodusage
Resource In Use Installed CoD Permitted Status
-------- ------ --------- ------------- ------
PROC          0        16             8 OK: 8 cores available
PPAR-ID/Resource In Use Installed Assigned
---------------- ------ --------- --------------
0  - PROC             0        16        8 cores
Unused - PROC         0         0        8 cores

Выставим переменную для запрета автостарта ОС:
>setpparparam -p 0 -s bootscript "setenv auto-boot? false"
>poweron -a
>showdomainstatus -p 0
>console -p 0

Выйти в XSCF - #. (решетка точка).

PS1: Если CoD лицензий нет а проверить работоспособность SB нужно (а пока нет лицензии питание домену дать не получится) то делать это можно спец командой:
>testsb -v -p -s -a -y

PS2: Столкнулся с тем, что setcod когда отрабатывает на отбор (уменьшение ядер в домен) то солярис отлично это замечает. Но не работает при добавлении ядер. Солярис  11.1 SRU12.5 и XSCF 2080.... Странно. Будем искать.

среда, 6 ноября 2013 г.

RAC 11.2.03 в два LDOM под Solaris 11.1.

Есть сервер T5220. Ставим Solaris 11.1 + SRU12. Это важно, что бы был SRU12 или SRU8. При других вариантах не сможете сделать ASM группы. Кстати, можно сразу скачать ISO с Solaris 11.1+SRU12 на сайте оракла.
Пошагово нечего расписывать - ставим солярис, конфигурим сеть, делаем два домена. Ставим в них солярис 11.1+SRU12. В основном домене делаем сервер пакетов, с которого потом можно ставить пакеты на доменах и обновлять ОС в дальнейшем. Обо всем этом есть отдельные статьи в этом же блоге.
На что обратить внимание - это опишу ниже.

  • Swap нужно сделать сообразно требований инсталятора оракла. 
  • Настроить работы DNS. Resolv.conf править руками НЕ надо. Как надо - в статье в этом блоге есть.
  • NTP обязательно настроить и запустить. Для того что бы оракловый инсталятор не ругался, после запуска ntp, в конфиг /etc/inet/ntp.conf дописать две опции disable pll и slewalways yes
  • Доставить пакеты: xauth, xclock, motif, compatibility/packages/SUNWxwplr, developer/assembler, gcc-3
Общие диски передавать в два ldom можно используя опцию -f:
#ldm add-vdsdev /dev/rdsk/c5t0d0s2 ocr1-1@primary-vds0
#ldm add-vdsdev -f /dev/rdsk/c5t0d0s2 ocr1-2@primary-vds0

ОБЯЗАТЕЛЬНО форматировать общие диски начиная с цилиндра хотя бы 1 (главное не с нуля)


вторник, 27 августа 2013 г.

Oracle RAC на Solaris 11.1 sparc в два LDOM на одном сервере

Ставить будем RAC 11g на Solaris 11.1 sparc. Машина для тестов T5220. Одна. Будем поднимать два домена на одном сервере. Дисковые ресурсы будут на базе ASM сделаны для СУБД, а значит будем передавать с СХД на Primary LDOM, на нем же настроим MPxIO, и уже эти ресурсы отдадим как общие в гостевые LDOMs.

Ставим Solaris 11.1 на сервер. Далее настраиваем домены как в статье .
Ресурсы делим как можно + как нужно. У меня на стенде было 32 ГБ памяти. Я отдал 10ГБ Primary (zfs будет кэшировать LDOM-тома корень/swap/u), и по 12 ГБ доменам. Но это не важно - как нужно так и делите. Мой случай это просто тестовый стенд.
Сделаем два Network vSwitch. Один публичный а второй для интерконнекта. Мне потребовалось два интерфейса в публичную сеть и по одному интерфейсу в интерконнект.
Сеть настраиваем как в статье.

Диски с СХД отдаем primary, включаем MPxIO. Слайсы нарезаем по одному (нулевой) начиная с 1-го цилиндра обязательно. Отдаем именно слайс s0 в домены.
Тут есть хитрость (или дурость) но другого пути найти не смог. Нельзя отдать один и тот же диск в два LDOM (только если в режиме RO а нам надо в RW). Потому я сделал каталог /etc/asm, и в него сделал символьные линки с устройств s0:raw каждое устройство дважды. Например OCR1 у меня был слинкован дважды как ocr1-1 и ocr1-2. После чего уже добавлял ресурсы в primary-vsw0 и оттуда в домены. Иначе нельзя, ldm не даст этого сделать. Вот что вышло в итоге:
#ldm ls-bindings primary

VSW
    NAME             MAC               NET-DEV   ID   DEVICE     LINKPROP   DEFAULT-VLAN-ID PVID VID                  MTU   MODE   INTER-VNET-LINK
    primary-vsw0     00:14:4f:fa:a4:df net0      0    switch@0              1               1                         1500         on
        PEER                        MAC               PVID VID                  MTU   LINKPROP   INTERVNETLINK
        vnet1@node1                 00:14:4f:fb:25:76 1                         1500
        vnet1@node2                 00:14:4f:f8:5e:53 1                         1500
        vnet3@node1                 00:14:4f:fb:fd:91 1                         1500
        vnet3@node2                 00:14:4f:f9:24:31 1                         1500
    NAME             MAC               NET-DEV   ID   DEVICE     LINKPROP   DEFAULT-VLAN-ID PVID VID                  MTU   MODE   INTER-VNET-LINK
    primary-vsw1     00:14:4f:f9:72:5d           1    switch@1              1               1                         1500         on
        PEER                        MAC               PVID VID                  MTU   LINKPROP   INTERVNETLINK
        vnet2@node1                 00:14:4f:fb:7a:8a 1                         1500
        vnet2@node2                 00:14:4f:fb:d7:01 1                         1500


VDS
    NAME             VOLUME         OPTIONS          MPGROUP        DEVICE
    primary-vds0     node1-boot                                     /dev/zvol/dsk/pub/node1boot
                     node1-swap                                     /dev/zvol/dsk/pub/node1swap
                     node1-u                                        /dev/zvol/dsk/pub/node1u
                     node2-boot                                     /dev/zvol/dsk/pub/node2boot
                     node2-swap                                     /dev/zvol/dsk/pub/node2swap
                     node2-u                                        /dev/zvol/dsk/pub/node2u
                     dvd-iso                                        /pub/distr/sol-11_1-text-sparc.iso
                     ocr1-1                                         /etc/asm/ocr1-1
                     ocr1-2                                         /etc/asm/ocr1-2
                     ocr2-1                                         /etc/asm/ocr2-1
                     ocr2-2                                         /etc/asm/ocr2-2
                     ocr3-1                                         /etc/asm/ocr3-1
                     ocr3-2                                         /etc/asm/ocr3-2
                     data1-1                                        /etc/asm/data1-1
                     data1-2                                        /etc/asm/data1-2
                     backup1-1                                      /etc/asm/backup1-1
                     backup1-2                                      /etc/asm/backup1-2
                     arc1-1                                         /etc/asm/arc1-1
                     arc1-2                                         /etc/asm/arc1-2
CLIENT                      VOLUME
        bootdsk@node1               node1-boot
        swapdsk@node1               node1-swap
        udsk@node1                  node1-u
        bootdsk@node2               node2-boot
        swapdsk@node2               node2-swap
        udsk@node2                  node2-u
        ocr1@node1                  ocr1-1
        ocr1@node2                  ocr1-2
        ocr2@node1                  ocr2-1
        ocr2@node2                  ocr2-2
        ocr3@node1                  ocr3-1
        ocr3@node2                  ocr3-2
        data1@node1                 data1-1
        data1@node2                 data1-2
        backup1-1@node1             backup1-1
        backup1-2@node2             backup1-2
        arc1-1@node1                arc1-1
        arc1-2@node2                arc1-2

Но как бы не старался, пречеки выдали ошибки на диски Я проверил, что диски точно те что я отдал обоим доменам:
#echo "test test" >/tmp/qq
node1# dd if=/tmp/qq of=/etc/asm/ocr1 count=1
node2# dd if=/etc/asm/ocr1 of=/tmp/qq count=1
в файле на node2 должен быть файлик qq с содержимым test test.
Ошибку игнорим.

NTP:
svccfg -s svc:/network/ntp:default setprop config/slew_always = true
svcadm refresh ntpsvcadm restart ntp

У меня пречек попрежнему ругался на slewingalways true & disable pll. Поставил я эти опции в /etc/inet/ntp.conf и перезапустил ntpd, он сругался на эти строки потому что их нет в этой версии ntp. Зато пречек на ура прошел :(

А вот победить DNS я так и не смог. 
Checking DNS response time for an unreachable node
  Node Name                             Status
  ------------------------------------  ------------------------
  node2                                failed
  node1                                failed
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on

 following nodes: node2





понедельник, 24 июня 2013 г.

Sparc Enterprise Mx000: WARNING: fcode_timer: Timeout waiting for interpreter - Interpreter did not pick up request

Вот такая ошибка на операциях move/add/delete - board.

addboard -v -d0 -c configure 01-03
XSB#01-3 will be configured into DomainID 0. Continue?[y|n] :y
Initial diagnosis started. [1800sec]
  0..... 30..... 60..... 90.....120.....150.....180.....end
Initial diagnosis has completed.
Start configuring XSB to domain.
assign SB4
assign SB4 done
poweron SB4
poweron SB4 done
test SB4
test SB4 done
connect SB4
connect SB4: Firmware probe failed
XSB#01-3 could not be configured into DomainID 0 due to operating system error.

В Солярис видим /var/adm/messages:
Jun 24 15:33:37 fcodem: [ID 696114 kern.warning] WARNING: fcode_timer: Timeout waiting for interpreter - Interpreter did not pick up request
Jun 24 15:33:37 opl_cfg: [ID 695635 kern.warning] WARNING: IKP: Unable to probe PCI leaf (4-4-0)
Jun 24 15:33:37 drmach: [ID 702911 kern.warning] WARNING: Firmware probe failed
Jun 24 15:33:37 dcs: [ID 473489 daemon.error] <19325> config_change_state: Hardware specific failure: connect SB4: Firmware probe failed

В доке читаем на описание ошибки - обращаться в сервис.
Делаем сами:
#svcadm enable sun4u/efdaemon

Теперь все работает


пятница, 21 июня 2013 г.

M5-32: заметки, доменные правила

M5-32 - новый сервер от Oracle, класса High-End. В имени зашиты основные качества - на базе ЦПУ М5 (6 core 3,6GHz, на базе S3). Максимум в этот сервер можно поставить 32 ЦПУ (по 6 ядер каждый итого 192 ядра по 8 потоков (strands/vcpu) = 1536 потоков).

ЦПУ и память.
Основная единица - CMU. В ее состав входит 2 ЦПУ и 64 слота для DIMM. Память составляется минимум из 16 димов, далее по 16 добавляем до 64-х. DIMM на сегодня только двух типов - 16ГБ и 32ГБ. Отсюда имеем, что минимум на одной CMU 16x16GB = 256GB памяти, максимум 2ТБ на одной CMU. Всего в сервер можно установить 16 CMU, а значит 32 ТБ памяти может быть в этом сервере.

IO.
В сервер есть 4 модуля IOU, которые предназначены для установки PCI-E gen3 адаптеров Low Profile. В сервер можно поставить карты F40, FC HBA Qlogic/Emulex 8Gb DUAL Ports (однопортовых нет в списке), эзернет адаптеры 1Гб QUAD Ports UTP/MMF, InfiniBand, 10Gbe, SAS Ext 6Gb.
Всего в один IOU можно установить до 16 PCIe Gen3x8 LP адаптеров. Сделано как и ранее на кассетах, ставить конечно можно в работающий сервер на ходу как и удалять (надо только знать как).
Диски SAS 300/600GB 10 000rpm, максимум 8 штук в каждый модуль (до 32-х максимум на сервер). Для каждой пары дисков нужно ставить по одной IO Base Card (максимум 4 карты).

DCU - Domain Configuration Unit. Это группа 4xCPU (2xCMU), 1xIOU и один service processor proxy (SPP).
Всего максимум 4 DCU. Отсюда получаем максимум 4 домена! Причем правила конфигурации доменов довольно ограниченные а именно:
1. Каждый DCU содержит один свой IOU.
2. Каждый DCU содержит 1 или 2 CMU.
3. Нельзя добавить CMU в следующий DCU, пока предыдущий DCU не будет иметь хотя бы одну CMU.
4. Нельзя передать ресурсы от одного DCU другому DCU.

Последнее правило говорит, что если в одном домене у нас есть одна CMU, которая нам бы не нужна в одном домене но нужна в другом, то тут либо физически переставить либо одно из двух:))) (то есть никак больше)

Каждый DCU должен быть соединен с другими DCU через Switch Board (SSB).

Виртуализация не ограничена домена. Поддерживается так же LDOMs (Oracle VM Sparc) ну и Solaris Zones.
На сервер должна быть установлена Solaris 11 - причем 11.1, ибо там есть правки для работы шедулера (Crytical Threads класс). В новой версии Oracle VM SPARC будут не работать настройки max-ipc/max-throughput, они будут перенесены в шедулер Solaris 11.1. Кроме того, Solaris 10 на управляющий домен сервера ставить нельзя, потому что Solaris 10 не сможет отработать тот объем памяти (до 32 ТБ) что позволяет сервер. Однако, в LDOM Solaris 10 встает и работает. Далее в зонах можно ставить и Solaris 8/9 (Legacy Zone).

Управление у этого сервера через SP (service processor) как у серверов T4 например был (не XSCF как у М-серии). На борту есть ОДИН SP, который активный и ВТОРОЙ как Standby.

Электропитание только 3 фазы но в разных вариантах.
Power cord: six 4.4 meters, 3-phase, IP67 plug, Harting Han connector, 32 A, 380 V/415 V (for factory installation)
Power cord: six 4.4 meters, 3-phase, IP67 plug, Harting Han connector, 60 A, 250 V (for factory installation)

Первый вариант я понимаю - это звезда(380) или дельта (415). А вот что такое второй вариант - не понимаю.

Сколько стоит? На сайте может быть и есть прайс-цена, но какой толк от прайса, если для каждого случая цена получается своя. В полной набивке около полутора миллиона долларов).









вторник, 20 ноября 2012 г.

T4. Работа с сервером

Несколько заметок по работе с серверами серии T4.

- Работа сервера с локальным монитором и клавиатурой
Подключите монитор и клавиатуру к серверу. Через Serial Management порт дайте команды
ok setenv input-device keyboard
ok setenv output-device screen
ok reset-all

В Solaris :
#ln -s /dev/fbs/ast0 /dev/fb
#fbconfig -xserver Xorg
#reboot

- Послать reset солярису:
set /HOST send_break_action=break

- Не загружать ОС при старте:
set /HOST/bootmode script=”setenv auto-boot? false”

- Сброс настроек SP:
set /SP reset_to_defaults=factory

- Внутренний RAID controller.
Контроллер на Т4-1 и Т4-2 поддерживает уровни 0,1,1Е (в 1Е можно использовать нечетное количество дисков для зеркалирования). В Т4-4 и Т4-1B - только 0 и 1.
На каждом контроллере может быть не более 2-х томов создано.
ok show-devs - смотрим пути
ok select scsi0 - выбираем путь
ok show-children - смотрим устройства на этом контроллере 
в выводе будут показаны диски, предваряться каждый диск будет Target X (X - это 16-ричный номер устройства).
Далее, создаем на примерах:
ok a b create-raid0-volume  - создать RAID0 на двух дисках a и b
ok a b c create-raid1e-volume - создать RAID 1E на трех дисках

ok show-volumes - посмотрим на наши созданные тома
ok unselect-dev - выйти из дерева устройства

  

четверг, 16 августа 2012 г.

Oracle x4170M2 + Windows 2008R2 x64 и зависание при конфигурировании Oracle Forms & Reports

Совместно с коллегой Андреем Б. (вообще говоря он сделал всю работу) выясняли причину зависания во время конфигурирования Oracle Forms and Reports на сервере x4170M2 под управлением Win2008R2 x64. Подэтап - создание домена.

в лог-файле исталяции пишется
......
LOADING DLL : C:\Oracle\Middleware\Oracle_FRHome1\install\config\\StartUtil64.dll
DEBUG : Loading DLL : C:\Oracle\Middleware\Oracle_FRHome1\install\config\\StartUtil64.dll
DEBUG : Loaded DLL : C:\Oracle\Middleware\Oracle_FRHome1\install\config\\StartUtil64.dll
....
и больше ничего. Зависание.



Немного ранее столкнулись с проблемой, что на сервер x4170M2 вообще не ставится Windows 2008 R2 x64 стандартным способом как то установка с дистрибутива. Зависает установка на этапе  Finishing installation. Установить Win2008 удалось только при наличии и использовании HIA (Hardware Installation Assistant). А вот найти его не так просто. Перенесли ISO (ссылку) в раздел Sun Handbook-> x4170M2. Там же кстати и ссылка на обновление прошивок, драйверы.

Далее после установки Windows2008R2, установить нужно пакет для Win2008, что находится на том же диске.
Вернемся к Forms and Reports и зависанию при создании домена.


Ошибка подобного типа характерна и для других продуктов Oracle при наличии путей с (x86)
При этом создание домена средствами Weblogic – происходит нормально и все работает
Альтернативный путь – в какой-то степени более правильный – это переопределение переменной PATH практически во всех командных файлах WebLogic и Forms&Reports
Но это более сложно и при последующих патчах это требуется контролировать.

2    Если устанавливать продукты Oracle на WIN о пути от корня нужно делать как можно короче и категорически избегать русских букв в путях и пробелов, так как с подобными ньюансами можно наступить на другие ошибки (ограничения имен, количества символов в командной строке и т.д.)- лечить подобного вида ошибки гораздо труднее, чем предотвратить.


вторник, 24 июля 2012 г.

Oracle RAC on Solaris 10 sparc. Примечания и заметки

1. При проверке условий постановки прогоняется DBA скрипт, которые делает массу проверок.
Одна из них проверяется DNS (настройка хоста как клиента). Столкнулись с бедой

Runcluvfy – Dns Response Time Check – Fails with PRVF-5636 The DNS response time for an unreachable node exceeded “15000″ ms


Причина в том, что ответ от DNS зафиксирован более чем 15000 ms. В нашем случае виной был второй DNS который был прописан для надежности но был выключен.
cat /etc/resolv.conf
nameserver DNS1
nameserver DNS2
search DOMAIN

Дак вот DNS2 был просто мертвым и скрипт проверки суммирует ответы от двух серверов.
Убрали DNS2 и заработало.

2. В солярис 10 настройку сетевых интерфейсов мне понравилось делать через SMF. 
Я взял идею тут . Что бы было проще размножать на серверах и ставить легче, свел все в один скриптик. Вот он:
cp ./nddtune /lib/svc/method                                                                                              
cp ./network-nddtune.xml /var/svc/manifest/site                                                                           
svccfg import /var/svc/manifest/site/network-nddtune.xml                                                                  
svccfg -s nddtune addpg dev_tcp application                                                                               
svccfg -s nddtune addpg dev_udp application                                                                               
                                                                                                                          
svccfg -s nddtune setprop dev_tcp/tcp_xmit_hiwat = integer: 4000000                                                       
svccfg -s nddtune setprop dev_tcp/tcp_recv_hiwat = integer: 4000000                                                       
svccfg -s nddtune setprop dev_tcp/tcp_max_buf = integer: 4000000                                                          
svccfg -s nddtune setprop dev_tcp/tcp_cwnd_max = integer: 4000000                                                         
svccfg -s nddtune setprop dev_tcp/tcp_largest_anon_port = integer: 65500                                                  
svccfg -s nddtune setprop dev_tcp/tcp_smallest_anon_port = integer: 9000                                                  
svccfg -s nddtune setprop dev_udp/udp_largest_anon_port = integer: 65500                                                  
svccfg -s nddtune setprop dev_udp/udp_smallest_anon_port = integer: 9000                                                  
svccfg -s nddtune setprop dev_tcp/tcp_conn_req_max_q = integer: 1024                                                      
svccfg -s nddtune setprop dev_tcp/tcp_conn_req_max_q0 = integer: 4096                                                     
                                                                                                                          
svcadm refresh nddtune                                                                                                    
svcadm enable nddtune                                                                                                     
                                                                                                                          
ndd -get /dev/tcp tcp_xmit_hiwat                                                                                          
ndd -get /dev/tcp tcp_recv_hiwat                                                                                          
                                                                                                                          
## reset to default                                                                                                       
##/usr/bin/svcprop -p dev_tcp_defaults nddtune 

понедельник, 12 января 2009 г.

HP-UX ia64 11.31. Ставлю Oracle 10g

rx6600. HP-UX 11.31 ia64.

Ставить заплатки:
- PHSS_38135
- PHKL_38949
Требуется перезагрузка.

Смотрим разрядность: getconf KERNEL_BITS
Смотрим память: /usr/contrib/bin/machinfo | grep -i Memory
Сделать объём свопа = 0.75 * RAM (swapinfo -at, swapon)
Объёмы файловых систем:
/tmp: 400Mb

Выставить параметры ядра:
KSI_ALLOC_MAX (NPROC*8)
EXECUTABLE_STACK=0
MAX_THREAD_PROC 1024
MAXDSIZ 1073741824 bytes
MAXDSIZ_64BIT 2147483648 bytes
MAXSSIZ 134217728 bytes
MAXSSIZ_64BIT 1073741824
MAXSWAPCHUNKS 16384*
MAXUPRC ((NPROC*9)/10)+1 Bug 6995956
MSGMAP (MSGTQL+2)
MSGMNI NPROC
MSGSEG 32767
MSGTQL 4096
NCSIZE (NINODE+1024)*
NFILE (15*NPROC+2048)
NFLOCKS 4096
NINODE (8*NPROC+2048)
NKTHREAD (((NPROC*7)/4)+16)
NPROC 4096
SEMMAP (SEMMNI+2)*
SEMMNI 4096
SEMMNS (SEMMNI*2)
SEMMNU (NPROC - 4)
SEMVMX 32767
SHMMAX AvailMem
SHMMNI 512
SHMSEG 120
VPS_CEILING 64

* MAXSWAPCHUNKS, SEMMAP, and VX_NCSIZE are obsolete on 11.23 PA-RISC and IPF and no longer need to be set
Set NCSIZE = (NINODE+1024)

11.31 (Itanium and PA-RISC):
The following 11.31 kernel parameters are obsolete:
maxswapchunks, msgmap, ncallout, semmap, and vx_ncsize,Nfile,Msgseg

Доставить пакеты gcc, gettext, libiconv,termcap, mc,bash. Взять здесь.
Пакеты иногда не ставятся. В SAM менять настройки:
поставить крыжик: All targets to resolve the source locally


Добавить группу dba (groupadd dba)
Добавить пользователя ( useradd -g dba oracle)
Поправить домашний каталог в /etc/passwd (на /u/app/oracle) и сделать pwconv
Выствить DISPLAY.
Установить профайл с установками для оракла.
Оракловый установщик запустить с ключом -ignoreSysPrereqs (потому как 11.31 не поддерживается и установщик тут же об этом скажет и сломается).

четверг, 18 декабря 2008 г.

AIX 6.1 + Oracle 10g

Требования для AIX 6.1:
1. Требования по файловым системам:
/tmp = 400MB
swap: (проверить /usr/sbin/lsps -a)
- RAM = 1024MB - 2048Mb : 1.5 * RAM
- RAM > 2048MB and <> 8192MB : 0.75 * RAM

1.2G Database
3G Software
1G Companion
150M-1.9G Client
2. Заплатки: (проверить oslevel)
- пакеты: lslpp -w | grep -i "software title" (applies to APARs and PTFs)
- заплатки:
/usr/sbin/instfix -ik patch number
Please download and run an updated version of rootpre.script before proceeding with the Oracle Database install. Pls refer to Bug 6613550 for more details. 6613550 can be downloaded from MetaLink. Refer to Note 282036.1 for updates on any required patches for AIX 6.1

3. Память. Надо 1 Гб. Проверить /usr/sbin/lsattr -HE -l sys0 -a realmem
4. 64 bit (проверить lslpp -L | grep 64bit)

далее вскрыть и размотать пакеты:
cpio -idcmv < fsize =" -1" core =" 2097151" cpu =" -1" data =" -1" rss =" -1" stack =" 65536" nofiles =" 2000" fsize =" -1" core =" 2097151" cpu =" -1" data =" -1" rss =" -1" stack =" 65536" nofiles =" 8000" nproc =" -1" threads =" -1">runInstaller -ignoreSysPrereqs

5. Не забыть увеличить количество процессов на одного пользователя! По умолчанию 128!

PS:
а еще очень надо настроить параметры ОС, особенно буферы файловой системы:
vmo -p -o minperm%=15
vmo -p -o maxperm%=20
vmo -p -o maxclient%=20

ну и смотрим сюда

Еще я попробовал использовать LOCK_SGA=true. Так же надо аиксу сказать об ограничениях на SGA в pin-memory.:
Разрешить:
# vmo –p –o v_pinshm
Установить предел 96%
# vmo –p –o maxpin%=96





среда, 14 мая 2008 г.

Solaris 10. Параметры для установки Oracle

что бы проверить Project ID:
# id -p
uid=0(root) gid=0(root) projid=1 (user.root)
# prctl -n project.max-shm-memory -i project user.root
# prctl -n project.max-sem-ids -i project user.root

установить значение max-shm-memory равным 6 Гб:
# prctl -n project.max-shm-memory -v 6gb -r -i project user.root

Установить значение max-sem-ids=256:
# prctl -n project.max-sem-ids -v 256 -r -i project user.root

те же установки сделать пользователю oracle (учесть что имя проекта другое!)

и скрипт для установки:
#MEM - сколько памяти отдать в shared сегмент. Обычно 50-75% физики
MEM=256G
mkdir -p /u/app
groupadd -g 1001 oinstall
groupadd -g 1000 dba
useradd -u 1000 -g oinstall -G dba -m -d /u/app/oracle oracle


projadd group.dba
projmod -sK "project.max-shm-memory=(privileged,${MEM},deny)" group.dba
projmod -sK "project.max-sem-ids=(privileged,100,deny)" group.dba
projmod -sK "project.max-shm-ids=(privileged,100,deny)" group.dba
projmod -sK "project.max-sem-nsems=(privileged,256,deny)" group.dba
projmod -sK "process.max-file-descriptor=(privileged,65536,deny)" group.dba
projmod -U oracle -sK "process.max-file-descriptor=(priv,65536,deny)" group.dba
projects -l group.dba

prctl -n process.max-file-descriptor -t basic -v  1024 -r -i process $$

projadd -U oracle -K "process.max-file-descriptor=(priv,65536,deny)" user.oracle
projmod -U oracle -sK "process.max-file-descriptor=(priv,65536,deny)" group.dba

projmod -sK "project.max-shm-memory=(privileged,${MEM},deny)" group.dba
projmod -sK "project.max-shm-memory=(privileged,${MEM},deny)" user.oracle

projadd user.oracle

projmod -sK "project.max-shm-memory=(privileged,${MEM},deny)" user.oracle
projmod -sK "project.max-sem-ids=(privileged,100,deny)" user.oracle
projmod -sK "project.max-shm-ids=(privileged,100,deny)" user.oracle
projmod -sK "project.max-sem-nsems=(privileged,256,deny)" user.oracle
projmod -sK "process.max-file-descriptor=(privileged,65536,deny)" user.oracle
projmod -U oracle -sK "process.max-file-descriptor=(priv,65536,deny)" user.oracle
projects -l user.oracle

четверг, 31 января 2008 г.

Suse 9. SAN. Подключаю дисковый массив, ставим Oracle

У нас есть
- Дисковый массив MSA1000FC + MSA30SB
- пара серверов DL380G5
- оптические карты по две в каждом сервере FC HBA FC1142SR
- SLES 9 x86_64

Надо
- сделать что бы каждый сервер видел свой лунь
- поставить оракла 9.2.0.8

Первое что стоит сделать - приготовить дистрибутив SUSE9. У нас не простые серверы а G5. На него можно поставить SUSE 9 SP3 минимум! На самом деле проблема в том, что в серверах есть контроллер P400 и на нем мы сделали зеркало. Подсунуть драйвер с сайта Novell не удалось под обычный SUSE 9. С версиями ядра проблемы как обычно. На сайте есть sp4 - забираем. Ставить SP4 надо имея под рукой два диска от SP4 и три диска от основного дистрибутива. Загружаемся с первого диска SP4. Далее по тексту. С линуксом пока закончим.

Установим полку M30 и соединим ее SCSI кабелем с M1000. В состав M1000 входил оптический свитч. Подключаем к портам этого коммутатора наши серверы.
Далее устанавливаем ПО ACU от HP и cpqacuxe + hwmgr. Идем браузером (по https://IP_SERVER/) на сервер, где установили этот комплект (так же этот сервер должен быть подключен по оптике к массиву).

Делаем пулы, спаре и луни. Включаем SSP (это типа лунь маскинг так зовется здесь).

теперь пытаемся найти эти луни на линкусе. Для этого не дурно установить пакетик scli от qlogic. там будет видно наглядно что и как у нас есть. Настройки адаптера, устройства на оптике. Еще мне помогла утилитка Dynamic TGT-LUN Discovery Utility for Linux от qlogic. Запустив ее с ключами рескана и рефреша получим имя устройств на оптике. Например /dev/sda. Далее все как обычно - fdisk /dev/sda. И делаем файловую систему и пропишем в /etc/fstab.

Далее - Оракл. Тут тяжести не детские:
1. Проверить наличие пакетов:
- glibc-devel-2.3.3-98.47 (required by gcc-3.3.3-43.34)
- libstdc++-devel-3.3.3-43.34 (required by gcc-c++-3.3.3-43.34)
- compat-2004.7.1-1.2
- compat-32bit-9-200407011229
- gcc-3.3.3-43.34
- gcc-c++-3.3.3-43.34
- glibc-2.3.3-98.47
- glibc-32bit-9-200506071326
- glibc-devel-32bit-9-200506062332
- irqbalance-0.09-37.1
- kernel-smp-2.6.5-7.244
- libaio-0.3.102-1.2
- libaio-devel-0.3.102-1.2
- libaio-32bit-9-200502241149
- libaio-devel-32bit-9-200502241149
- make-3.80-184.1
- openmotif-libs-2.2.2-519.4
- orarun-1.8-31
- XFree86-libs-4.3.99.902-43.48
- XFree86-libs-32bit-9-200506062332

Это очень важно! У нас система x86_64. Важно наличие библиотек 32-bit compatible.
2. Установить окружение LD_ASSUME_KERNEL=2.4.19
3. В /etc/sysctl.conf
kernel.hostname = yourhost.yourdomain.com
kernel.domainname = yourdomain
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
vm.disable_cap_mlock=1

4. Установки по памяти
- SEMMNI 128
- SEMMNS 32000
- SEMOPM 100
- SEMMSL 250
- SHMMAX - половину физической памяти но не больше 4294967295
- SHMMNI 4096
- SHMALL 2097152

#kernel.hostname = prima.dom.ru
#kernel.domainname = dom.ru
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
vm.disable_cap_mlock=1
kernel.shmmax = 4294967295
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 256000 32 1024

5. Перегрузиться! Sysctl -p не дает нужного эффекта.

6. Ставим Оракла через инсталятор.