Получение этой ошибки при запуске systemd service

#linux #liquibase #corda

#linux #liquibase #corda

Вопрос:

[ОШИБКА] 05:24:00 0100 [main] internal.NodeStartupLogging.invoke — Не удалось создать источник данных: liquibase.exception.Исключение DatabaseException: ошибка при выполнении ОБНОВЛЕНИЯ SQL PUBLIC.DATABASECHHANGELOGLOCK УСТАНОВЛЕНО LOCKED = TRUE, LOCKEDBY = ‘172.18.0.1 (172.18.0.1)’, LOCKGRANTED = ‘2019-04-03 05:23:18.603’, ГДЕ ID = 1 И LOCKED = FALSE: база данных доступна только для чтения; инструкция SQL:

где я должен запустить запрос на обновление, чтобы установить locked = false на сервере?

Комментарии:

1. Да, но в нем четко указано «База данных доступна только для чтения», поэтому у вашей службы, вероятно, недостаточно разрешений для установки этого флага.

2. я использую h2 db

3. Есть идеи, как я могу это устранить?

Ответ №1:

В сообщении об ошибке говорится, что ваша база данных находится в режиме только для чтения. Чтобы разрешить liquibase применять обновления, вы должны включить разрешения на запись (и, скорее всего, удаление). Для H2 это делается путем добавления ACCESS_MODE_DATA=rws параметра в URL следующим образом: jdbc:h2:~/test;ACCESS_MODE_DATA=rws (Документы H2, Corda docs)

Комментарии:

1. Куда мне написать это @mikhail?

2. У меня нет опыта работы с corda, но в документах есть некоторая информация о конфигурации подключения к базе данных: docs.corda.net/head/… Хотя эта ваша проблема не связана с liquibase, linux или systemd.

3. Нет, чувак, я просто спрашиваю команду, которую ты мне дал, куда я должен ее добавить?

4. Я получаю эту ошибку при запуске sudo systemctl enable —now my_service. Нужно ли мне добавлять это в my .service

5. Это не команда, это свойство, которое должно быть прочитано corda во время инициализации. Это должно быть установлено где-то в конфигурациях

Ответ №2:

Однако уже очень поздно, возможно, вы скопировали файлы cordapp из другого местоположения или ранее запускали узел другим пользователем. Поэтому удалите эти файлы и каталоги: persistence.mv.db , persistence.trace.db, дополнительные сведения об узле, artemis, брокеры, капсула, драйверы