Oracle Developer👨🏻‍💻
3.22K subscribers
611 photos
68 videos
2 files
489 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Задача из Спортмастера: «Получи запрос из плана»

Друзья, всем привет!

Прошлой осенью, исследуя рынок, я проходил собес в «Спортмастер». Технический этап длился почти два (!) часа.
Помимо заковыристых вопросов, было много про оптимизацию. И вот одна из задачек как раз попала на видео.

Задание было рассчитано на то, чтобы быстро понять:
▫️Умеет ли читать планы запросов?
▫️Знаком ли с операциями в плане?
▫️Понимает ли кандидат хоть что-то в оптимизации?
На мой взгляд, это отличная проверка скила по оптимизации 🔥🔥

Вы сейчас находитесь в спокойной обстановке, вас никто не ограничивает по времени, вы можете взять листочек и попробовать её решить. Заодно засеките время. На собесе ответ нужен почти мгновенно. Справились? Получилось?

Если вы не готовы к таким задачкам, если не понимаете сути происходящего - собес не пройти. А это значит: «бай-бай, жирный оффер» 😢

⚡️ Мы разберём эту задачу во 2-й день марафона, который пройдет с 24 по 26 июня.


Хочу донести одну простую мысль
Если ты претендуешь на что-то большее, чем 200К рублей, - хочешь ты этого или нет, а знать оптимизацию ПРИДЕТСЯ.
Это не обойти, не перескочить. Эта тема будет снова и снова догонять тебя на пути к росту 🤷🏻‍♂️

📣 Уже завтра будет подробная информация - что, когда и как.


P.S. Забавный факт: девушка, которая меня собеседовала, оказалась моей бывшей коллегой из «Магнита», с соседнего отдела. Может, кто-то из «магнитовцев» даже узнает её по голосу 😉

Ребята со Спортмастера, это было отличное техническое собеседование, хотя и затянутое.

Поставь 🔥, если ты со "Спортмастера".
Поставь 🦄 , если ты с Магнита.
Посмотрим кого больше у нас в канале 😊


#oracle #sql #марафон #карьера #собеседование #оптимизация #спортмастер

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
🔥12👍74🦄2🤯1
Почему пенсия — это не про старость, а про твои действия до неё

Друзья, всем привет!
Немного отстранимся от Хардов. Поговорим о жизни нашей

На одном из своих тренингов Роберт Кийосаки (да, да, да "Богатый папа, бедный папа", "Квадрант денежного потока", ...) провёл эксперимент.
Он связал участникам руки и ноги и попросил выполнять простые действия - наклониться, записать что-то, дойти до угла комнаты. Люди пытались. Мучались. Смеялись. Потом замолкли 🤐
«Вот так выглядит ваша старость, если вы не начнёте готовиться к ней сейчас, - сказал Кийосаки. - Не в 60, не когда “встану на ноги”, а прямо сегодня». Не надо откладывать на "потом", на "пенсию".


⚠️ Сложно копить, когда пенсия - это ты с больной спиной, просроченными кредитами и инфляцией, которую не победить кашей из пакетика.

Недавно был на собесе на позицию Java + Oracle, оффер - 5.5к$.
И это снова напомнило мне: высокая ЗП - это не повод тратить, это шанс создать себе будущего себя, который не будет побираться на молочку возле магазина.

Что можно делать уже сейчас

📈 Расти по доходу. Больше знаешь - выше ЗП. Учишься - становишься ценнее.

💼 Проходи собесы - не ради смены работы, а ради повышения финансовой планки.

🧠 Финансовая грамотность - это не инвестиции в биток по слухам. Это понимание, что деньги должны работать, пока ты спишь.

📊 Активы - не побрякушки с WB и макбуки. Это то, что приносит деньги независимо от твоей работы.

Пока ты в силе, пока тебя зовут на собесы, пока твоя голова варит и есть силы - делай задел на старость, которая будет не наказанием, а свободой. Времени п...ц как мало 🕰
Как только начинаешь задумываться, что тебе сейчас 40, средний возраст жизни - 65. Осталось - тьфу, пролетит махом. Волосы начинают шевелиться.

Качай себя, зарабатывай больше!
Не тормози, пока время не утекло сквозь пальцы ⌛️


#oracle #sql #марафон #карьера #собеседование #оптимизация

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
9🔥3
Media is too big
VIEW IN TELEGRAM
Что говорят ваши коллеги

Друзья, всем привет! 👋

Позавчера мы делали анонс нового марафона по оптимизации SQL, после чего в личку поступило много вопросов:
🔸 Есть ли свежие отзывы от студентов
🔸 Что даёт обучение, стоит ли идти

Поэтому мы решили поделиться с вами видеоотзывами участников последнего 5го потока.
На этом видео ребята честно рассказывают:
С какими задачами пришли на курс
Каких результатов достигли за период обучения
Почему это время стало для них особенным ❤️

Прикольно видеть, как всего за 3,5 месяца у наших учеников меняются навыки, растёт уверенность в себе и открываются новые карьерные возможности. В конце видео мы ещё раз подробно объясняем, какие перспективы даёт участие в школе Backend-PRO - шанс стать куратором для наших следующих студентов.

Если вы всё ещё сомневаетесь - смотрите видео, вдохновляйтесь реальными историями!
Если вопросов не осталось - скорее записывайтесь на марафон: будет жарко, полезно и по-настоящему круто! 🤟🔥

Приятного просмотра 🍿

#oracle #sql #марафон #карьера #отзывы #оптимизация #Pavel_Dolganov

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
6🔥2
Тест на знание Оптимизация Oracle SQL – проверь себя!

Друзья, всем привет! 👋🏻

Как вы думаете, хорошо ли вы разбираетесь в Оптимизации Oracle SQL? Или, может быть, пора обновить знания? Для вас я подготовил тест, который подойдет как новичкам, так и опытным разработчикам.

Что вас ждет в тесте

🔶 Практические задачи, которые встречаются в повседневной жизни
🔶 Вопросы, которые задают на собеседовании
🔶 Задачки с подвохом

🔗 Ссылка на тест 👈👈👈

💡 А что дальше?

Мы не просто так даем вам этот тест. Уже завтра стартует марафон Оптимизация Oracle SQL, где мы вместе разберем все вопросы теста и подробно объясним ответы.

🚀 Что будет на марафоне?

Как правильно читать план запроса, последовательность операций
Mock-собеседование по Оптимизации
Разбор ТОП-вопросов на собесах
Разберем задачу с собеседования со Спортмастера
Как правильно отвечать на мозговыносящие Soft-вопросы ("кем вы видите себя через 5 лет", "назовите свои слабые стороны" и т.д.)
Советы по поводу того, как пройти собеседование
Возможность задать вопросы и получить обратную связь
Запись марафона будет доступна!

Более подробно с Программой марафона вы можете ознакомиться постом выше 🔝

📅 Даты проведения: 24–26 июня
Время: 19:15 МСК (каждый эфир — 1.5–2 часа)
💰 Стоимость: 3990 рублей

➡️ Забронировать место ⬅️

Проблемы с доступом или оплатой? Напишите в поддержку 👈

🔥 Места ограничены — всего 50! Не упустите шанс получить концентрированные знания и инсайты об Оптимизации и современных карьерных реалиях! 🚀

💬 Пишите в комментариях, сколько баллов у вас получилось, и смотрите разбор ошибок на марафоне! 🔥

#КарьерныйРост #Работа #Эффективность
#карьера #oracle #оптимизация #Denis_Kivillev

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Мест нет

🔥 Пробный период на курсе “Оптимизация
Oracle SQL” - за 990 рублей

Друзья, всем привет! 👋

Мы постоянно развиваем наши подходы и продукты. И в этот раз решили протестировать новый формат - пробный доступ на курс «Оптимизация Oracle SQL».

Для кого это?

Для тех, кто:
– давно следит, но все никак не решается пойти;
– сомневается, подойдет ли обучение;
– боится, что "вдруг не его", "не потяну", "будет сложно";
– или просто хочет заглянуть внутрь и понять ценность.

🔥 Вы можете прочувствовать каково это быть нашим студентом на курсе "Оптимизация Oracle SQL".

Проведите с нами первые две недели курса, посмотрите наш подход к обучению, что получают студенты и т.п.

На абсолютно полных правах
:
1. Получаете свою отдельную учебную базу данных для домашек.
2. Получаете доступ к первому и второму урокам на учебной платформе (лекция 1. введение в оптимизацию и лекция 2. сессии, сеансы, запросы)
3. Выполняете со всеми студентами домашние задания.
4. Приглашение на первую встречу курса, со всеми студентами.
5. Фидбек от преподавателей.
6. Доступ в закрытый ТГ-канал группы.

Теперь можно зайти на пробный период всего за 990 рублей. Да, меньше, чем стоит два обеда в офисе.

То есть вы реально проживёте первую неделю курса как студент.
Никакой теории "на бумажке" - только практика, живая тусовка и реальный экспириенс.

📆 Пробный период: 4 - 12 июля
📍Старт полноценного курса: 4 июля, длительность до октября.

💭 Почему мы это делаем?

Потому что уверены в продукте.
Потому что на курсе реально жирная прокачка: по SQL, по системному мышлению, по карьере.
И потому что каждый год кто-то жалеет, что не пошёл и потерял полгода-год на бесполезные попытки пройти собес без нужной базы.

Если хочешь убедиться, что это именно твой путь - лучше не придумаешь.

🧾 Как попасть?

Мест нет

#oracle #sql #оптимизация #карьера #пробнаянеделя

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
🔥5👍21
Друзья, всем привет!

На связи Денис, создатель канала Oracle Developer 🤝
Давненько у нас не было активности в канале.

А знаете почему? Я просто зае... устал 🤦🏻‍♂️

Подготовка и проведение трёхдневного марафона по оптимизации + запуск 6-го потока по оптимизации - высосали из меня почти всю энергию 🔻
🔹 переезд в Бразилию (как оказалось, это пипец какой огромный геморрой - совсем не Азия 😖)
🔹ковид (потеря голоса, обоняния, вкуса и концентрации)

Короче, энергия на нуле, и желания что-то вымучивать из себя не было никакого.
Но я потихоньку обустраиваюсь, налаживаю быт, ремонтирую квартирку - и скоро восстановлю свой энергетический баланс.

Всё будет: и технические посты, и «щит-постинг» про Бразилию 🇧🇷
Тем более к нашей команде присоединился новый преподаватель, и ему есть что рассказать. Посты будут больше уровня Advanced, но и джунам будет интересно 😉

А пока - на этой неделе расскажу, что произошло за последний месяц 😊
Не переключайтесь, будет интересно 🔥

Всем добра 🕊

P.S. Да, хорошую квартиру в Бразилии хрен снимешь. Приходится брать что-то более-менее стоящее, доводить до ума и работать руками. Чему я, кстати, даже немного рад - мозг за физической работой отдыхает.

#oracle #Denis_Kivilev

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
👍32🔥139
This media is not supported in your browser
VIEW IN TELEGRAM
Про демо-доступ и мотивацию

Друзья, всем привет!

4 июля у нас стартовал уже 6️⃣й поток курса "Оптимизация Oracle SQL" 🚀

1️⃣ В этот раз мы с командой решили поэкспериментировать: сделали демо-режим на полторы недели.
Помимо коллег, которые оплатили участие, мы решили дать возможность тем, кто сомневался - идти или нет.
Формат демо позволяет понять, как у нас всё организовано: удобно ли, подходит ли режим, совпадает ли цели курса с целями человека и т.д.

На мой взгляд, затея удалась. Во-первых, отсеялись те, кто понял, что это не для них - по разным причинам (не хватает знаний, нет времени, нужно подкопить денег и т.п.).
А во-вторых, остались те, кто почувствовал: "ДА, это про меня!"

Честный подход - дать попробовать.

В итоге в 3,5-месячное путешествие по оптимизации отправились 20 человек 🚀
Если будут учиться и не валять дурака - к октябрю это будут прокачанные специалисты по оптимизации Oracle SQL 🔥

2️⃣ Помимо hard-скиллов, прокачиваем и карьеру.
За это отвечает наша IT-фея - Люба Прохорова.
Она помогает подготовить профили на площадках, грамотно представить себя, составить CV, провести самопрезентацию и многое другое.
Это уже 4-й поток, где Люба ведет участников к карьерному бусту 🔥

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

И никакой тут "магии" или "успешного успеха" нет.
Достаточно последовательно усваивать материалы, не лениться, делать домашки - и к концу курса вопросы по оптимизации и карьере будут закрыты.
➡️ Новая позиция или рост в текущей компании ➡️ Повышение зарплаты ➡️ Решение насущных задач ➡️ Все довольны 😁

Конечно, без помощи преподавателей и дополнительной мотивации - тяжело. Держать фокус 3,5 месяца взрослому человеку непросто.
Но те, кто доходит до конца, расширяют горизонт своих возможностей.

🎥 Видео в посте - с первой встречи с группой. Там как раз небольшой фрагмент про мотивацию.

Всем добра 🕊

#oracle #Denis_Kivilev

Канал Oracle Developer | Чатик 💬
7🔥6👍1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🆕 Пополнение в команде

Друзья, всем привет!

На связи Денис 🤝
Хочу немного рассказать про нашего нового преподавателя - Костю Андронова.

Костя - один из лучших студентов на курсе «Оптимизация Oracle SQL» 3️⃣ потока.
Кроме того, он опытный разработчик, работавший в разных компаниях с OLTP- и DWH-системами.
Сейчас он трудится в RnD-отделе компании ИТ Магнит.

Для него это - новый вызов в развитии soft skills. Помните, да? Не забываем прокачивать софт-скиллы - в современных реалиях они не менее важны, чем hard skills.

Костя уже провёл несколько практических занятий на 6-м потоке по оптимизации. Фидбэк от участников - положительный
На первой практике мы с Пашей решили подстраховать Костю и посидели в фоне на встрече. И знаете что? У меня ни разу не возникло желания как-то вмешаться или подправить.
Костя рассказывал и отвечал на вопросы грамотно и чётко. Чувствуется практический опыт 🔥

И это только начало - я уверен, что ему зайдёт такая активность 👌🏻


Знаю по себе, как волнительны первые публичные мероприятия.
Помню свой дебют в роли преподавателя: 2019 год, компания Qiwi, мой менеджер попросил провести обучение по
Oracle для коллег. Очный формат, три группы по 10–12 человек.

В голове рой вопросов:
«А вдруг облажаюсь?»
«А если спросят что-то, чего я не знаю?»
«А вдруг не донесу информацию?»
...и ещё миллион таких «а если».

Первый десяток занятий - вспотевшие ладони, голова кругом... но ничего! Потом вошёл в раж и стал получать удовольствие.
Особенно круто, когда попадаешь в ресурсное состояние: будто бы информация льётся прямо из подсознания (спойлер: не совсем так 😅).

Всегда готовлю презентации и примеры, но почти никогда не репетирую.
Когда ты в ресурсе, это выглядит естественнее, чем заученный скрипт.
Кто ловил такое состояние - меня поймут 😉


И главное: Костя готов делиться знаниями с вами, уважаемые подписчики! 🔥
Он уже накидал мне несколько интересных тем - кластеризация, DBMS_PARALLEL_EXECUTE, LogMiner и многое другое.
Так что не переключайтесь - впереди много полезного контента. Если темы интересны - ставь 🔥🔥🔥

P.S. На видео - кусочек с практики, которую проводил Костя. Там он рассказывает про порождение child-курсоров.
Если ты не в курсе, что это такое - рекомендую разобраться самостоятельно или прийти к нам на занятия 😉


Всем добра 🕊

#oracle #Denis_Kivilev #Konstantin_Andronov

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
🔥35
Задачка. Update в PostgreSQL vs Oracle

Друзья, всем привет!

На рабочем проекте у меня сейчас нет Oracle. Работаем с PostgreSQL и NoSQL. Поэтому забавно наблюдать отличия между привычным "Мерседесом" и "ВАЗом" (в хорошем смысле 😊)

К примеру. Рутинная задача из практики - обновить строки.

create table wallet (
id number primary key,
configuration varchar2(200 char)
);

create table wallet_template (
id number primary key,
default_configuration varchar2(200 char)
);


🔸 Нужно обновить поле "configuration" таблицы "wallet", если оно пустое.
🔸 Значение для обновление взять из справочника "wallet_template" с id = 6 из поля "default_configuration".

не обращайте внимание на названия, в реальной жизни все называется по-другому.

На оптимизацию забиваем. Кошельков немного.

Попробуйте написать запрос в Oracle и, если есть возможность, в PostgreSQL.
Ваши варианты можно закидывать в чатик 💬

⚠️ Рекомендую попробовать решить без ИИ


Продолжение в пятницу 🎓

#postgresql #oracle #Denis_Kivilev #задача

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
3👍3
Решение задачи. Update в PostgreSQL vs Oracle

Друзья, всем привет!

Сегодня разберем довольно простую задачку. Суть: написать update одной таблички с использованием другой.
Полная постановка здесь.

Итак

Решение в
Oracle

1️⃣ Через использование подзапроса
update wallet w
set configuration = (
select wt.default_configuration
from wallet_template wt
where wt.id = 6
)
where w.configuration is null;


2️⃣ Колхоз через Merge

merge into wallet w
using (select default_configuration from wallet_template where id = 6) wt
on (1 = 1)
when matched then
update
set w.configuration = nvl(w.configuration, wt.default_configuration);


Решение в PostgreSQL

1️⃣ способ через подзапрос так же будет работать

2️⃣ Merge появился в PostgreSQL в 15й версии, поэтому вам может не подойти.

3️⃣ Расширенный SQL в PostgreSQL
update wallet w
set configuration = wt.default_configuration
from wallet_template wt
where wt.id = 6
and w.configuration is null;

Да, немого не привычно, но удивляет своей лаконичностью.
Хорошо ли читается? Мой коллега на ревью запнулся об этот запрос 🤷🏻‍♂️


К вопросу о миграции с одной СУБД на другую.
Можно ли взять и перенести на изи запросы с Оракла в ПГ?
Что-то да, что-то нет. Merge, например, придется переписывать
, если у вас не совсем актуальная версия PG.


Может быть вы знаете, какие-то другие варианты запросов? Напишите в чатике 💬

А вам какой синтаксис больше нравится?
Если Oracle - ставь 🔥
Если PostgreSQL - ставь 👍

Я, пожалуй, поставлю 👍

#postgresql #oracle #Denis_Kivilev #решениезадачи

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
🔥37👍231
Права доступа в Oracle💥

Друзья, всем привет!

С вами Костя Андронов 👋
И это мой первый технический пост на канале. Сегодня разберёмся с правами доступа в Oracle💥

🔐 Привилегии в
Oracle делятся на 2 типа

1️⃣ Системные — дают возможность выполнять действия в БД в целом.

Пример:
grant create table to HR;

Позволяет создавать таблицы пользователю HR.

Где посмотреть детали:
👉Вью DBA_SYS_PRIVS - содержит информацию о всех выданных системных привилегиях

Кто выдаёт/забирает:
• те, кому выдали привилегию с опцией ADMIN OPTION
• те, у кого есть привилегия GRANT ANY PRIVILEGE

2️⃣ Объектные — управляют доступом к конкретным объектам (таблицам, представлениям и т.д.)

Пример:
grant select on HR.DEPARTMENTS to USR;

Даёт право читать данные из этой таблицы.

Где посмотреть детали:
👉 Вью DBA_TAB_PRIVS - содержит информацию о всех выданных объектных привилегиях

Кто выдаёт/забирает?
• владелец объекта
• те, у кого есть право GRANT ANY OBJECT PRIVILEGE
• те, кому выдали привилегию с опцией WITH GRANT OPTION

А теперь представим ситуацию:
Создали новую таблицу, как выдать права:
– бизнес-пользователям — только чтение
– разработчикам — все DML операции

Выдавать вручную каждому?
Долго и неудобно.
Решение — роли. Это набор привилегий, который можно назначать пользователям (и даже другим ролям).

create read_only_role;
create dev_role;

grant read_only_role to busines_user;
grant read_only_role to dev_role;

grant dev_role to dev_user;


Каждый получает ровно то, что ему нужно — и не больше 🔥
Выдать права на новую таблицу можно всем пользователям в 2 команды:
grant select on tst_table to read_only_role;
grant insert, update, delete on tst_table to dev_role;


Если интересно подробнее узнать о правах доступа в Oracle, то ставьте 👍

#oracle #backendpro #теория #grant #права #Konstantin_Andronov

Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
👍457🔥6
Права доступа в Oracle. Часть 2 💥

Друзья, всем привет!

В продолжение поста Кости про права.
Один из подписчиков, к слову сказать, наш студент, обучавшийся на курсе по PL/SQL, правильно подметил, что в Oracle 12c появился новый объектный грант - READ.

Что это за грант такой и в чем отличие от SELECT?

Мы привыкли, что если нужен доступ к объекту, то достаточно выдать грант SELECT:
grant select on some_table to some_user;


Однако SELECT позволяет выполнять, в том числе, операцию блокировки строки - SELECT ... FOR UPDATE. Всегда ли это нужно? Хороший вопрос.

Видимо, проблема назрела, и Oracle сделали новый грант - READ, который позволяет выполнять выборку из таблицы, но без возможности блокировки:

grant read on some_table to some_user;


Так уже не напишешь
select * from some_table where ... for update;


Документация Oracle 12.2c

Коллеги, очень классно, что вы делитесь такими особенностями - не всегда они попадают в поле зрения 👍🏻

Всем хорошего дня ☀️

#oracle #backendpro #теория #grant #права #Denis_Kivilev
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀
👍263🆒1