понедельник, 22 октября 2012 г.

Работа нескольких oracle instance на одной машине под одним пользователем OS

  1. Ставим голую БД, без схем примеров.
  2. С помощью dbca создаём необходимое количество баз данных (в моём случае - billing, bilarc).
  3. Далее необходимо научить listener работать с обеими базами. Пример listener.ora:

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    )

    ADR_BASE_LISTENER = /home/oracle/app/oracle

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = billing)
    (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
    )
    (SID_DESC =
    (SID_NAME = bilarc)
    (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
    )
    )
  4. Базы данных запускаются последовательно:
    sqlplus /nolog
    SQL> connect sys@billing as sysdba
    SQL> startup
    ...
    SQL> connect sys@bilarc as sysdba
    SQL> startup


четверг, 4 октября 2012 г.

Установка zabbix на debian squeeze (stable) из debian sid (unstable)

краткий пересказ статьи http://raphaelhertzog.com/2010/12/15/howto-to-rebuild-debian-packages/

1.Настройка репозитария

В /etc/apt/sources.list добавляем сырцы сида:

deb-src http://ftp.debian.org/debian unstable main contrib non-free 
 
обновляем репозитарий:
$aptitude update 

качаем исходники
$ apt-get source zabbix/unstable

2. Устанавливаем зависимости для сборки


$aptitude build-dep zabbix/unstable
$aptitude install devscripts

3. При необходимости правим исходники


4. Собираем deb-пакеты

Переходим в каталог с исходниками и запускаем
$debuild -us -uc

четверг, 24 мая 2012 г.

Установка Oracle® Database Gateway 11g Release 2 (11.2) для MSSQL на Linux x86-64

Используем документацию http://docs.oracle.com/cd/E11882_01/...e12013/toc.htm
Версии:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
MSSQL 2000
[oracle@oebs admin]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
[oracle@oebs admin]$ cat /etc/oracle-release
Oracle Linux Server release 5.5

  1. Для указанной версии Oracle БД ставим софт из p10098816_112020_Linux-x86-64_5of7.zip стандартным образом, через runInstaller. Выбираем среди предлагаемых продуктов MSSQL. Установка должна завершится без ошибок.
  2. Прописываем в $ORACLE_HOME/dg4msql/admin/initdg4msql.ora (тут прописываются данные удалённого mssql-сервера):
    HS_FDS_CONNECT_INFO=[<доменное имя или адрес севера mssql>]:<порт сервера mssql>//<база данных mssql>
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
  3. Прописываем дополнительный лисенер в $ORACLE_HOME/network/admin/listener.ora (тут прописываются данные локального лисенера. <название лисенера> должно совпадать с названием того лисенера, который уже есть!!!):
    SID_LIST_<название листенера>=
        (SID_LIST=
            (SID_DESC=
                (SID_NAME=dg4msql)
                (ORACLE_HOME=/home/oracle/product/db11202)
                (PROGRAM=dg4msql)
            )
        )
  4. Прописываем новый инстанс в $ORACLE_HOME/network/admin/tnsnames.ora (тут прописываются данные, где инсталлирован агент - в нашем случае - сам хост, где установлена база данных ORACLE):
    dg4msql =
        (DESCRIPTION =
            (ADDRESS =
                (PROTOCOL = TCP)
                (HOST = <доменное имя хоста, где установлен агент. В нашем случае - текущий локальный хост с базой>)
                (PORT = <порт, по которому слушает лисенер. Должен совпадать с портом, указанным в listener.ora>)
            )
        (CONNECT_DATA =
            (SID = dg4msql)
        )
        (HS=OK)
        )
  5. В $ORACLE_HOME/network/admin/sqlnet.ora должно быть написано
    NAMES.DIRECTORY_PATH= (TNSNAMES)
  6. Рестуртуем listener:
    lsnrctl stop <название лисенера>
    lsnrctl start <название лисенера>
    lsnrctl status <название лисенера>
    В информации о статусе должно присутствовать:
    Service "dg4msql" has 1 instance(s).
      Instance "dg4msql", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
  7. Создаём dblink:
    sqlplus "/as sysdba":
    SQL> create public database link mssql connect to "<имя пользователя mssql>" IDENTIFIED BY "<пароль пользователя mssql>" USING 'dg4msql';
    пример:
  8. Удаление dblinkа при необходимости делается следующей командой:
    SQL> drop public database link mssql;
  9. Селекты делаются следующей командой:
    SQL> select * from user.table@mssql
  10. Синтаксис для использования алиасов своеобразный:
    SQL> select "t"."column_name" from "user"."table"@mssql "t";
  11. При работе с полями mssql типа datetime выдаёт то правильные значения, то бинарный мусор. Помогает явное приведение типа:
    SQL> select to_date("t"."column_with_date") from "user"."table"@mssql "t";

вторник, 20 марта 2012 г.

авторизация ssh по ключу

на машине, откуда заходим, от пользователя, кто заходит
[user_from@from_machine]$ ssh-keygen -t rsa
[user_from@from_machine]$ ssh-copy-id user_to@to_machine
или
[user_from@from_machine]$ cat ~/.ssh/id_rsa.pub | ssh user_to@to_machine 'cat >> ~/.ssh/authorized_keys' 

после этого заходим без пароля:
[user_from@from_machine]$ ssh user_to@to_machine
 
если не работает, то с ключиком -v можно посмотреть, что не нравится 
[user_from@from_machine]$ ssh -v user_to@to_machine

среда, 30 июня 2010 г.

Настройка почты PostFix

Рабочая конфигурация main.cf:

myorigin = /etc/mailname
biff = no

append_dot_mydomain = no

smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

myhostname = mx.domain.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = localhost mx.domain.ru
relayhost =
mynetworks = 127.0.0.0/8 192.168.0.0/24 192.168.2.45/32 95.234.234.234/32
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 51200000
message_size_limit = 25000000
recipient_delimiter = +
inet_interfaces = all

virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

strict_rfc821_envelopes = yes
strict_mime_encoding_domain = no
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_banner = $myhostname
smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 5
smtpd_hard_error_limit = 10
smtpd_recipient_restrictions =
        reject_non_fqdn_recipient
        permit_mynetworks
        reject_non_fqdn_sender
        reject_unknown_sender_domain
        reject_unknown_recipient_domain
        permit_sasl_authenticated
        reject_unauth_destination
        reject_non_fqdn_helo_hostname
        reject_invalid_helo_hostname
        check_helo_access pcre:/etc/postfix/helo_checks
        check_sender_mx_access cidr:/etc/postfix/bogus_mx
        reject_unknown_helo_hostname
        reject_rbl_client bl.spamcop.net
        reject_rbl_client sbl.spamhaus.org=127.0.0.2
        reject_rbl_client cbl.abuseat.org=127.0.0.2
        reject_rbl_client dnsbl.sorbs.net
        reject_rbl_client dnsbl.njabl.org
        hash:/etc/postfix/recipients
        check_policy_service inet:127.0.0.1:60000
        permit

smtpd_data_restrictions =
        reject_multi_recipient_bounce

smtpd_client_restrictions =
        permit_mynetworks
        check_client_access hash:/etc/postfix/sender_checks
        permit

content_filter = smtp-amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

transport_maps = hash:/etc/postfix/transport

суббота, 1 мая 2010 г.

Обновление BIOS в MSI WIND U100

  1. Необходимо подготовить загрузочную флешку. Ничего не качаем, ставим unetbootin, там выбираем что хотим freedos. Прога сама выкачивает образ и пишет на флешку.
  2. Скачиваем bios, распаковываем на флешку.
  3. Подсоединяем к буку сетевое питание, иначе шиться не будет и будет ругаться на "bios has no flash information available".
  4. Грузимся с флешки, настроив bios. Заходить в bios при загрузке клавишей Del.
  5. Передожим на диск C:\
  6. Запускаем flash.bat
  7. Смотрим.
  8. Перезагружаемся.
  9. Наслаждаемся.

среда, 9 декабря 2009 г.

Настройка квот в proftpd

/etc/proftpd/proftpd.conf:

QuotaEngine on
QuotaDisplayUnits Mb
QuotaOptions ScanOnLogin
QuotaShowQuotas on
QuotaLimitTable file:/home/ftp/ftpquota.limittab
QuotaTallyTable file:/home/ftp/ftpquota.tallytab


#cd /home/ftp
#ftpquota --create-table --type=limit
#ftpquota --create-table --type=tally
#chown proftpd.nogroup ftpquota*
#ftpquota --add-record --type=limit --quota-type=user --name=ftp --bytes-upload=100 --units=Mb
#ftpquota --update-record --type=limit --quota-type=user --name=ftp --bytes-upload=200 --units=Mb

Ярлыки