Tuesday, November 27, 2012

How-to access to Acces or Excel file from MS SQL Server 64bit

  1. Install Microsoft Access Database Engine 2010 64bit and Service Pack 1 for Microsoft Access Database Engine 2010 64bit
  2. Run this SQL command
    exec master..xp_enum_oledb_providers
    In result you will see "Microsoft.ACE.OLEDB.12.0"
  3. Set SQL Server parameter "ad hoc distributed queries" to 1 with this script
    sp_configure 'show advanced options', 1;
    go
    reconfigure;
    go
    sp_configure 'Ad Hoc Distributed Queries', 1;
    go
    reconfigure;
    go
    You can read about parameter "ad hoc distributed queries" in this article ad hoc distributed queries Server Configuration Option
  4. If you get an error "Ad hoc update to system catalogs is not supported." run this SQL command
    sp_configure 'allow updates', 0;
    go
    reconfigure;
    go
  5. Set options "AllowInProcess" and "DynamicParameters" for  Microsoft.ACE.OLEDB.12.0  provider to 1. Run this SQL script
    use [master]
    go
    exec master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
    go
    exec master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1
    go
  6. MDB file should be in local folder in SQL Server.
  7. After all you can use this SQL command like this
    SELECT CustomerID, CompanyName
          FROM OPENROWSET('Microsoft.Ace.OLEDB.12.0',
                'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';
                'admin';'',Customers)

Tuesday, November 6, 2012

How to update QLogic HBA via UEFI shell

  1. Download Full UEFI Shell for QLogic (for IBM see this link Fibre Channel Adapters for IBM BladeCenter Supported Software)
  2. Download Multiboot Flash Image
  3. Format USB flash drive.
  4. Copy all files from Multiboot Flash Image and Full UEFI Shell to USB stick.
  5. Connect USB flash drive to server.
  6. Power on server and go to UEFI settings (press F1).
  7. Go to Boot Manager -> Boot From File
  8. Select the USB device from the list where your files reside. 
  9. Navigate shell_full.efi
  10. The system will now be at the UEFI shell prompt
    SHELL>
    run the map -b command to display the file system mapping.
  11. Locate the USB device and change to that device. For example, if the USB device is mapped to fs0 after the map -b, run:
    fs0: <enter>
    The UEFI shell prompt should change as follows:
    fs0:\>
  12. If your Multiboot package did include the EfiUtilx64.efi: Run the update.nsh script to update the Qlogic RISC Firmware.
    For example assuming the Qlogic files are in fs0:\qlogic\
    fs0:\> cd qlogic (to change to the directory on the USB drive that contains the efi flash file)
    fs0:\> update.nsh (Update.nsh will call EfiUtilx64.efi to update all of the HBAs.)
  13. Reboot the system to make the changes take effect.
PS.
Thanks to http://communities.vmware.com/message/2053704#2053704

Thursday, May 17, 2012

Каталог всех стандартных фигур Microsoft Visio в одном файле pdf

Нашел замечательный PDF со всеми стандартными фигурами из MS Visio 2010.
Ссылка где нашел: Каталог всех стандартных фигур Microsoft Visio в одном файле pdf
Ссылка на сам PDF: Visio Shapes Catalog

Как программно подключиться к SharePoint сайту с неправильным сертификатом. Обход ошибки: Could not establish trust relationship for the SSL/TLS secure channel.

Нашел решение здесь.
В кратце схема такая:
  1. В программе создаем новый метод
    using System.Net;
    using System.Net.Security;
    using System.Security.Cryptography.X509Certificates;

    /// <summary>
    /// solution for exception
    /// System.Net.WebException:
    /// The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
    /// </summary>
    public static void BypassCertificateError()
    {
      ServicePointManager.ServerCertificateValidationCallback += delegate(Object sender1,X509Certificate certificate,X509Chain chain,SslPolicyErrors sslPolicyErrors)
    {
    return true;
    };
    }
  2. Перед подключением к сайту вызываем этот метод:
    private void buttonStart_Click(object sender, EventArgs e)
    {
    string siteURL = "https://cms.flyuia.com/it";
    using (ClientContext siteCont = new ClientContext(siteURL))
    {
    siteCont.Credentials = System.Net.CredentialCache.DefaultCredentials;
    //Здесь свой код
    BypassCertificateError();
    siteCont.ExecuteQuery();
    }
    }

Thursday, February 2, 2012

Установка TSM Administration Center на SLES

  1. Ставим SLES, настраиваем сеть и обновляем ее.
  2. Заходим с правами рута и делаем:
    • Устанавливаем пакет openmotif-libs-32bit с диска SLE-11-SP1-SDK-DVD-x86_64-GM-DVD1.iso
      rpm -ihv openmotif-libs-32bit-2.3.1-3.13.x86_64.rpm
    • Ставим пакеты compat-32bit и openmotif22-libs-32bit
      yast2 -i compat-32bit &&
      yast2 -i openmotif22-libs-32bit
    • Создаем структуру папок и пользователя для установки TSM Admin Center
      mkdir /usr/ibm &&
      mkdir /var/ibm &&
      mkdir /var/tivoli &&
      mkdir -p /opt/IBM/tivoli &&
      useradd -d /home/tsmadmc -m -s /bin/bash tsmadmc &&
      passwd tsmadmc &&
      chown -R tsmadmc /usr/ibm &&
      chown -R tsmadmc /var/ibm &&
      chown -R tsmadmc /var/tivoli &&
      chown -R tsmadmc /opt/IBM/tivoli
  3. Заходим под созданным пользователем tsmadmc, запукаем prereqcheck.bin и смотрим, чтобы не было ошибок.
  4. Заходим под созданным пользователем tsmadmc и устанавливаем TSM Admin Center
    ./install.bin
    • Choose Locale: English
    • Select Installation Folder: оставляем по-умолчанию
    • Tivoli Common Reporting: Yes, install Tivoli Common Reporting
    • IBM Cognos Content database: 1527 (default)
    • IBM Tivoli Storage Manager Client Performance Monitor configuration:

      • Port Number: 5129
      • Time Interval (Hours): 24
      • Operation Save Time (Days): 14
    • WebSphere Information:
      • User ID: tipadmin
      • Password: <tipadmin_password>
      • Port Number: 16310

Установка Tivoli Storage Manager на CentOS

  1. Установка CentOS
  2. Все действия делаем из-под root
  3. Проверить multipath
  4. Обновить ОС
  5. Проверить язык системы, выполнив команду locale. Если он отличается от en_US.UTF-8, нужно изменить файл /etc/profile

    echo -e "\nexport LC_ALL=en_US.UTF-8" >> /etc/profile &&
    echo "export LANG=en_US.UTF-8" >> /etc/profile

    После этого перезагрузить систему и проверить, что настройки применились.
  6. Установить пакеты rpm-build kernel-devel glibc-devel gcc и драйвер с утилитой для TS3100

    yum -y install rpm-build kernel-devel glibc-devel gcc &&
    rpmbuild --rebuild lin_tape-1.61.0-1.src.src &&
    rpm -ivh /root/rpmbuild/RPMS/x86_64/lin_tape-1.61.0-1.x86_64.rpm &&
    rpm -ivh lin_taped-1.61.0-rhel6.x86_64.rpm &&
    chmod +x itdtinst6.0.0.037Linux.x86_64 &&
    mkdir itdt &&
    cd itdt &&
    ~/itdtinst6.0.0.037Linux.x86_64
  7. Перед установкой доставляем необходимые пакеты и добавляем опции для ядра

    sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/sysconfig/selinux &&
    yum -y install libstdc++.i686 ksh compat-libstdc++-33.i686 compat-libstdc++-33 &&
    echo -e "\n#For TSM" >> /etc/sysctl.conf &&
    echo "kernel.shmmax = 268435456" >> /etc/sysctl.conf &&
    echo "kernel.randomize_va_space = 0" >> /etc/sysctl.conf &&
    echo "kernel.randomize_va_space = 0" >> /etc/sysctl.conf &&
    echo "kernel.shmall = 4194304" >> /etc/sysctl.conf &&
    echo "kernel.sem = 250        256000  32      2048" >> /etc/sysctl.conf &&
    echo "kernel.msgmni = 8192" >> /etc/sysctl.conf &&
    echo "kernel.msgmax = 65536" >> /etc/sysctl.conf &&
    echo "kernel.msgmnb = 65536" >> /etc/sysctl.conf &&
    echo "vm.swappiness = 0" >> /etc/sysctl.conf &&
    echo "vm.overcommit_memory = 0" >> /etc/sysctl.conf &&
    sysctl -p
  8. Открыть на брандмауэре порт 1500 для связи с TSM AdminCenter
    iptables -I INPUT 5 -p tcp -s 10.128.30.0/24 -m state --state NEW -m tcp --dport 1500 -j ACCEPT
    # /etc/init.d/iptables save
  9. Распаковываем дистрибутив Tivoli Storage Manager (CI3KAML)
  10. Запускаем prereqcheck.bin для проверки все ли готово к установке TSM
  11. Запустить установку

    install.bin -i console -r response.rsp
    • Choose locale:  2 - English
    • Product selection:  2- IBM Tivoli Storage Manager Extended Edition
    • LAN-free or Library Sharing:  1- Yes
    • Component Selection:  1,2,3,4
          1- Tivoli Storage Manager server
          2- Tivoli Storage Manager server languages
          3- Tivoli Storage Manager license
          4- Tivoli Storage Manager devices
    • Language Selection:  11 - English UTF 8
  12. Что нужно сделать после установки
    • Проверить параметры ядра (minimum values for kernel parameters), которые мы выставили в пункте 5

      sysctl -a | grep "kernel.shm\|kernel.randomize\|kernel.sem\|kernel.msgm\|vm.swappiness\|vm.overcommit_memory"
    • Создаем группу и пользователя

      groupadd tsmsrvrs
      useradd -d /home/tsminst1 -m -g tsmsrvrs -s /bin/bash tsminst1
      passwd tsminst1
    • Создаем структуру папок для БД

      mkdir -p /tsm/{tsminst1,tsmdb001,tsmdb002,tsmdb003,tsmdb004,tsmlog,tsmarchlog,tsmlogmirror,tsmarchlogfailover}
      chown -R tsminst1:tsmsrvrs /tsm
    • Зайти под новым пользователем, создать файл .profile и затем выйти
  13. Конфигурация tsm:
    • запускаем файл /opt/tivoli/tsm/server/bin/dsmicfgx из под root-а в Х
    • Instance User ID
      User ID:    tsminst1
      Password: <tsminst1_password>
    • Instance Directory:   /tsm/tsminst1
    • Database Directories:
      The database directories are listed below:
      /tsm/tsmdb001
      /tsm/tsmdb002
      /tsm/tsmdb003
      /tsm/tsmdb004
    • Recovery Log Directories:
      Active Log Size:  8 GB
      Active log directory:  /tsm/tsmlog
      Primary archive log directory:  /tsm/tsmarchlog
      Active log mirror directory:   /tsm/tsmlogmirror
      Secondary archive log directory:  /tsm/tsmarchlogfailover
    • Server information:
      Server name:  TSM
      Server language:  English UTF-8
      Start server automatically using the instace user ID
    • Administrator credentials
      Administrator name:  admin
      Password:  <root_password>
    • Server communication
      Client port:   1500
      Administrator port:  1500
  14. Для дедупликации добавим необходимые опции в файл настройки сервера БД
    (делаем под пользователем tsminst1)

    echo -e "\nallowreorgindex yes" >> /tsm/tsminst1/dsmserv.opt &&
    echo "reorgbegintime 13:00" >> /tsm/tsminst1/dsmserv.opt &&
    echo "reorgduration 4" >> /tsm/tsminst1/dsmserv.opt

    а затем перестартовать сервер

    kill `cut -sd " " -f 4 /tsm/tsminst1/dsmserv.v6lock`
    После выполения команды нужно подождать пару минут, чтобы завершился процесс /opt/tivoli/tsm/server/bin/dsmserv -q

    Проверяем есть ли скрипт tsminst1_dsmserv.rc в /etc/init.d
    Если есть, заходим под рутом и стартуем сервер TSM
    /etc/init.d/tsminst1_dsmserv.rc start
    После старта сервера должен появиться процесс
    /opt/tivoli/tsm/server/bin/dsmserv -u tsminst1 -i /tsm/tsminst1 -q

    Если скрипта нет. Значит что-то неправильно встало.
    /opt/tivoli/tsm/server/bin/dsmserv -u tsminst1 -i /tsm/tsminst1 -q &
  15. Проверьте есть ли в /etc/init.d tsminst1_dsmserv.rc. Если есть, то пропускаем все ниже описанное. Если нет, то для автоматического запуска сервиса нужно (делаем под root):

    • cp /opt/tivoli/tsm/server/bin/dsmserv.rc /etc/rc.d/init.d/tsminst1 &&
      chkconfig --add tsminst1 &&
      chkconfig tsminst1 on
    • Проверяем добавился ли сервис

      chkconfig --list tsminst1
      tsminst1        0:off 1:off 2:on 3:on 4:on 5:on 6:off
    • Скрипт необходимо изменить, т.к там используется неправильная директория инстанса

      vi /etc/rc.d/init.d/tsminst1

          Находим

      instance_home=`${prefix}/tivoli/tsm/server/bin/dsmfngr $instance 2>/dev/null`
      if [[ -z "$instance_home" ]]
      then
        instance_home="/home/${instance}"
      fi

          и комментируем эти строки, а затем добавляем

      instance_home="/tsm"
    • Проверяем состояние сервиса

      service tsminst1 status
    • Чтобы запустить или остановить
      service tsminst1 start
           или
      service tsminst1 stop
  16. Устанавливаем TSM clients
    • Первым делом проверяем, что установлено сейчас в системе
            yum list installed | grep TIV
      и удаляем TIVsm-API и TIVsm-BA, если они есть:
      yum remove TIVsm-API*
      yum remove TIVsm-BA*
    • Затем распаковываем дистрибутив клиента TSM (CI3KUML)
      cd <path_to_TSM_Client_folder>
      tar xzf <path_to_TSM_Client>
    • Устанавливаем Global Security Toolkit (GSKit), TSM API, backup-archive Java client, command line client, administrative client, web client и документацию

      Проверяем, установлен ли gskcrypt:
      yum list installed | grep gskcrypt
      Если установлен - убираем строку с rpm -U gskcrypt...

      cd TSMCLI_LNX/tsmcli/linux86/ &&
      rpm -U gskcrypt64-8.0.14.11.linux.x86_64.rpm gskssl64-8.0.14.11.linux.x86_64.rpm &&
      rpm -ihv TIVsm-API64.x86_64.rpm &&
      rpm -ihv TIVsm-BA.x86_64.rpm
    • Настроим client system-options файлы

      cd /opt/tivoli/tsm/client/ba/bin/ &&
      cp dsm.sys.smp dsm.sys &&
      cp dsm.opt.smp dsm.opt &&
      chmod 755 dsm.sys dsm.opt

      А затем правим файл dsm.sys, чтобы он выглядел таким образом:

      SErvername  TSM
         COMMMethod         TCPip
         TCPPort            1500
         TCPServeraddress   tsm.flyuia.com
    • Запускаем утилиту dsmadmc