• SQLNET.INBOUND_CONNECT_TIMEOUT не применяется на клиенте?

    amk4
    @amk4 Автор вопроса
    Все попробовали, пока ничего не повлияло на результаты - все те же 5-10 отказов.
    Переключимся на мониторинг инфраструктуры, в первую очередь сетевого соединения.
    Оно достаточно многохоповое и не в нашем ведении, придется обращаться к коллегам извне.

    Спасибо.
    Написано
  • SQLNET.INBOUND_CONNECT_TIMEOUT не применяется на клиенте?

    amk4
    @amk4 Автор вопроса
    Как таковых, собственных настроек у него нет вообще.

    Все, что требуется - выдать переменные ORA
    ORACLE_HOME=/opt/oracle/instantclient_19_19
    ORASOPATHNAME=/opt/oracle/instantclient_19_19/libclntsh.so.19.1
    NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251

    и в его промежуточной БД передать креды соединения с целевой ORA-БД в формате -U user@tns -P pass

    Соответственно, он полностью использует клиента.

    Отдельно был "кейс" по libclntsh.so, но благополучно решился.
    https://www.progresstalk.com/threads/unable-to-loa...
    Написано
  • SQLNET.INBOUND_CONNECT_TIMEOUT не применяется на клиенте?

    amk4
    @amk4 Автор вопроса
    Стороннее ПО - OpenEdge DataServer for Oracle.
    Запускается клиент Progress, соединяется с переходником DataServer, переходник соединяется с Oracle.
    Написано
  • SQLNET.INBOUND_CONNECT_TIMEOUT не применяется на клиенте?

    amk4
    @amk4 Автор вопроса
    Странно, что в трассировке ns secondary err code устойчиво сменился с 12560: TNS:protocol adapter error на TNS-12579: TNS:transport connection failed

    По ней почти ничего не нахожу. Только дежурно из доки: Likely reasons include host may be down, outbound transport connection may be blocked by network or any other transport connectivity issue.
    Написано
  • SQLNET.INBOUND_CONNECT_TIMEOUT не применяется на клиенте?

    amk4
    @amk4 Автор вопроса
    Да, listener рестартовали после добавления параметра.
    Параметр processes - 1000.

    База тестовая, кроме нас там особо не должно быть, перебор идет в 20 потоков, т.е. вряд ли мы всю тысячу съедаем.
    При каждом проходе количество TNS:Connect timeout occurred упорно ненулевое, но в пределах 1-15 штук из 27 тысяч.
    Написано
  • SQLNET.INBOUND_CONNECT_TIMEOUT не применяется на клиенте?

    amk4
    @amk4 Автор вопроса
    И у себя изменил SQLNET.OUTBOUND_CONNECT_TIMEOUT

    Заказчик добавил SQLNET.INBOUND_CONNECT_TIMEOUT
    и в лисенере INBOUND_CONNECT_TIMEOUT_LISTENER

    Ситуация не поменялась, несколько соединений не проходят с теми же 60 секундами

    на клиенте в трассировке sqlnet.log

    Fatal NI connect error 12170, connecting to:
     (DESCRIPTION...
    
      VERSION INFORMATION:
    	TNS for Linux: Version 19.0.0.0.0 - Production
    	TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      Time: 13-JUN-2023 11:21:02
      Tracing not turned on.
      Tns error struct:
        ns main err code: 12535
        
    TNS-12535: Message 12535 not found; No message file for product=network, facility=TNS
        ns secondary err code: 12560
        nt main err code: 505
        
    TNS-00505: Message 505 not found; No message file for product=network, facility=TNS
        nt secondary err code: 0
        nt OS err code: 0


    И забавно, что-то изменилось и теперь пошли немного другие сообщения в трассировке

    Fatal NI connect error 12170, connecting to:
     (DESCRIPTION=...
    
      VERSION INFORMATION:
    	TNS for Linux: Version 19.0.0.0.0 - Production
    	TCP/IP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      Time: 13-JUN-2023 14:59:34
      Tracing not turned on.
      Tns error struct:
        ns main err code: 12535
        
    TNS-12535: Message 12535 not found; No message file for product=network, facility=TNS
        ns secondary err code: 12579
        nt main err code: 0
        nt secondary err code: 0
        nt OS err code: 0


    Статья Doc ID 1628949.1 на оракле с теми же кодами в алертлоге требует действующего SID
    Написано
  • SQLNET.INBOUND_CONNECT_TIMEOUT не применяется на клиенте?

    amk4
    @amk4 Автор вопроса
    Вот я и подумал. не перебиваются ли серверными параметрами...
    Сервер заказчика, придется их дернуть...

    Спасибо.
    Написано
  • Поставить полного клиента Oracle 19.3 на SUSE Tumbleweed?

    amk4
    @amk4 Автор вопроса
    Progress DataServer for Oracle

    А у него:
    The Oracle Instant Client has not been certified for use with DataServer for Oracle and is therefore not supported.
    https://community.progress.com/s/article/000054179

    Правда, все равно оставил инстанта, пока работает.
    Полного ставил на тесте на случай, если все же всплывет что-то с инстантом.
    Написано
  • Как держать контейнер работающим после запуске стартового скрипта .sh?

    amk4
    @amk4 Автор вопроса
    Да, действительно, все очевидно... Спасибо.
    Контейнер работает, процесс PID 1 остается.
  • Почему падает контейнер flanner?

    amk4
    @amk4 Автор вопроса
    Ок, добавил
  • Как убрать переменные окружения JAVA_ после установки пакетным менеджером?

    amk4
    @amk4 Автор вопроса
    Так и делал, но надоело

    Оказалось тривиально найти - grep'нул по JAVA_ROOT - скрипты и нашлись

    # grep -r JAVA_ROOT /usr
    /usr/etc/profile.d/alljava.csh:        setenv JAVA_ROOT $JPATH
    /usr/etc/profile.d/alljava.sh:        export JAVA_ROOT=$JPATH


    Соответственно, убрал их и все...
  • Как правильно примонтировать папку plugins в контейнер?

    amk4
    @amk4 Автор вопроса
    Прежде с таким не сталкивался - при добавлении в volumes внешние папки отображали содержимое соответствующих им папок в контейнере, не "перезатирали" их поверх.

    А в данном случае монтирование выполнилось как-то по аналогии с mount
  • Как при создании новой базы в Redmine в докере сразу задать ей uft8?

    amk4
    @amk4 Автор вопроса
    Vitaly Karasik , спасибо, один из примеров помог .

    Надо было не в redmine копать, а в mysql.
    Там по-умолчанию latin1_swedish_ci, а redmine не просит изменить.
    Хоть и задавал REDMINE_DB_ENCODING: utf8

    Помогла установка кодировки и сортировки сервера через command в контейнере mysql.
    https://dev.mysql.com/doc/refman/8.0/en/charset-se...

    db:
        image: mysql:5.7
    
        command:
          - "--character-set-server=utf8"
          - "--collation-server=utf8_general_ci"
  • Как при создании новой базы в Redmine в докере сразу задать ей uft8?

    amk4
    @amk4 Автор вопроса
    Больше идей, как сделать сразу utf8 не появилось
    Пришлось обойтись разовой конвертацией всех таблиц
    Нелогично, но работает

    mysql -u root -p --database=redmine -B -N -e "SHOW TABLES" | awk '{print "SET foreign_key_checks = 0; ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; SET foreign_key_checks = 1; "}' | mysql -u root -p --database=redmine
  • Как при создании новой базы в Redmine в докере сразу задать ей uft8?

    amk4
    @amk4 Автор вопроса
    PS
    REDMINE_DB_ENCODING не помогает, установка в uft8 или utf8md4 не меняет этот авто-генерируемый скрипт создания таблиц.
    Подумал, может вообще не читается параметр, но при установке непонятного ему параметра, например, в utf8mb4_unicode_ci - контейнер не стартует:

    rake aborted!
    ActiveRecord::ConnectionNotEstablished: Unsupported charset: '"utf8mb4_unicode_ci"'
  • Как при создании новой базы в Redmine в докере сразу задать ей uft8?

    amk4
    @amk4 Автор вопроса
    mayton2019, так я бы и рад, но что там прописывать?

    Например, в описании образа postgres есть явный пример:
    FROM postgres:14.3
    RUN localedef -i de_DE -c -f UTF-8 -A /usr/share/locale/locale.alias de_DE.UTF-8
    ENV LANG de_DE.utf8


    У redmine ничего не нашел.
    Только REDMINE_NO_DB_MIGRATE - запуск без создания базы по-умолчанию.

    Если этот параметр не ставить - база создается из автоматически сгенерированного шаблона /usr/src/redmine/db/schema.rb, где уже прописана кодировка для всех таблиц.

    # This file is auto-generated from the current state of the database. Instead
    # of editing this file, please use the migrations feature of Active Record to
    # incrementally modify your database, and then regenerate this schema definition.
    #
    # This file is the source Rails uses to define your schema when running `bin/rails
    # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
    # be faster and is potentially less error prone than running all of your
    # migrations from scratch. Old migrations may fail to apply correctly if those
    # migrations use external dependencies or application code.
    #
    # It's strongly recommended that you check this file into your version control system.
    
    ActiveRecord::Schema.define(version: 2022_02_24_194639) do
    
      create_table "attachments", id: :integer, charset: "latin1", force: :cascade do |t|
        ...
      create_table "auth_sources", id: :integer, charset: "latin1", force: :cascade do |t|
        ...
      create_table "boards", id: :integer, charset: "latin1", force: :cascade do |t|
        ...


    Что прописать в Dockerfile, чтобы этот файл генерировался с utf8 - непонятно...
  • Как при создании новой базы в Redmine в докере сразу задать ей uft8?

    amk4
    @amk4 Автор вопроса
    show variables like "character_set_database";

    показывает

    character_set_database latin1

    Я видел в документации
    CREATE DATABASE redmine CHARACTER SET utf8mb4;

    но ведь это для ручной инсталляции, а у меня готовая база из образа поднимается, сам я ее не создаю
  • Как перенести репозиторий из SVN в GitLab?

    amk4
    @amk4 Автор вопроса
    Сразу после ошибки при инициализации git status показывает, On branch master, но git checkout -f master не может переключиться.
    А вот после первого коммита вручную - проходит и git checkout -f master: Already on 'master'

    root@kube2:/data/tmp# svn2git http://192.168.1.2:13000/svn/bgpbo/ --authors ./authors.txt --username sync
    command failed:
    git checkout -f master
    
    root@kube2:/data/tmp# git checkout -f master
    error: pathspec 'master' did not match any file(s) known to git
    
    root@kube2:/data/tmp# git status
    On branch master
    
    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            authors.txt
    
    nothing added to commit but untracked files present (use "git add" to track)
    
    root@kube2:/data/tmp# git commit -m "Initial commit" --allow-empty
    [master (root-commit) a15dd94] Initial commit
    
    root@kube2:/data/tmp# git status
    On branch master
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            authors.txt
    
    nothing added to commit but untracked files present (use "git add" to track)
    
    root@kube2:/data/tmp# git checkout -f master
    Already on 'master'
    
    root@kube2:/data/tmp#


    Вообще, спасибо за главную мысль, ради чего и задавался вопрос (пропущенный мной в доках).
    На отдельном узле, а не на конечном сервере gitlab'а выполнить обработку svn репозитория.

    Пожалуй, пока от этой обвязки svn2git откажусь. Попробую почитать нативный git-svn.
  • Что не так с тонким диском в esxi 6.7?

    amk4
    @amk4 Автор вопроса
    Для полного счастья я скрипт небольшой сделал
    Конечно, не для промышленного использования, но клепать ВМ на 5 мин - нормально))

    #!/bin/sh
    
    # Set _HERE_ name of the new virtual machine
    new=$1
    if [ "$new" != "" ]
    then
    
      # Create folder for new virtual machine
      mkdir /vmfs/volumes/DS2/$new
    
      # Clone virtual disk from prepared template
      # and move two created files (.vmdk and -flat.vmdk) to the new location
      cd /vmfs/volumes/DS2/susetmp
      vmkfstools -i susetmp.vmdk $new.vmdk -d thin
      mv /vmfs/volumes/DS2/susetmp/$new* /vmfs/volumes/DS2/$new
    
      # Copy .vmx file to the new location
      # and replase template name "susetmp" to the new name of the new virtual machine 
      cp /vmfs/volumes/DS2/susetmp/susetmp.vmx /vmfs/volumes/DS2/$new/$new.vmx
      sed -i 's/susetmp/'$new'/g' /vmfs/volumes/DS2/$new/$new.vmx
    
    else 
      echo 
      echo This script copies new virtual machine from prepared template.
      echo   The template should be located at /vmfs/volumes/DS2/susetmp
      echo 
      echo Example of using:
      echo  ./clone_suse.sh [new_vm_name]
      echo  ./clone_suse.sh suse5
      echo 
      echo After run script you should "Register an existing virtual machine" in the ESXi console
      echo 
    fi
    
    # Now you should "Register an existing virtual machine" in the ESXi console
    # from the new .vmx file (/vmfs/volumes/DS2/$new/$new.vmx)
    # https://kb.vmware.com/s/article/1029513