Oracle Private Temporary Table (приватные временные таблицы) за 8 минут
UPSERT в БД Oracle (Python, SQLAlchemy)
Всем привет. Я дата-инженер и достаточно долгое время работал с БД PostgreSQL. Сменив работу я столкнулся с Oracle и его особенностями. Например, с отсутствием такой удобной конструкции при записи данных, как INSERT... ON CONFLICT DO UPDATE. Есть ее аналог, но чтобы понять объяснение из документации, нужно напрягать мозг. Напишу в том виде, в котором это было бы понятно мне, когда я впервые это увидел. Может, пригодится еще кому-то. Для записи я использую Python и SQLAlchemy, но программного кода здесь не будет, только SQL в нужном формате. Итак, вместо "INSERT … ON CONFLICT DO... "в Oracle используется MERGE...
Блокировки в Oracle: как избежать проблем с конкурентным доступом? 🔒️
Работая с базой данных Oracle, разработчики неизбежно сталкиваются с вопросом блокировок. Это не баг, а важный механизм, который предотвращает хаос при одновременной работе нескольких пользователей с одними и теми же данными. Но если не понимать, как это работает, можно легко получить висящие сессии, дедлоки и жалобы от коллег. Давайте разберёмся! 💡 Существует два вида блокировок: системные и пользовательские. Первые автоматически управляются самой СУБД. Они служат для поддержания целостности данных, и разработчики с ними практически не взаимодействуют...