Добро пожаловать на TOP-канал о разработке в СУБД "Oracle"!
Первый канал в СНГ, на котором подробно освещаются вопросы по работе с СУБД Oracle.
Что будем делать?
Будем изучать теорию и подкреплять практикой ✏️, разбирать интересные кейсы и замысловатые SQL-запросы 💡, писать PL/SQL-код 👨🏻💻, работать с оптимизацией 🔮
Первый канал в СНГ, на котором подробно освещаются вопросы по работе с СУБД Oracle.
Что будем делать?
Будем изучать теорию и подкреплять практикой ✏️, разбирать интересные кейсы и замысловатые SQL-запросы 💡, писать PL/SQL-код 👨🏻💻, работать с оптимизацией 🔮
Друзья, всем привет!
Разрешите представиться.
Меня зовут - Кивилёв Денис. Я, Oracle DBD с 19-летним стажем. Был в шкуре DBA, TeamLead.
Сейчас активно занимаюсь Backend-разработкой на Java/Kotlin.
Я создатель/автор Youtube и Telegram каналов о разработке в СУБД Oracle.
Явлюсь сертифицированным специалистом Oracle
🔹 Oracle Database SQL Certified Expert
🔹 Oracle Advanced PL/SQL Developer Certified Professional
🔹 Oracle PL/SQL Developer Certified Associate
🔹 Oracle Certified Associate Java SE 8 Programmer
Про обучение
🔹вот уже 5 лет обучаю разработчиков, аналитиков, QA-инженеров, DBA разработке в СУБД Oracle;
🔹обучил около 300 человек;
🔹создал курс "Оптимизация Oracle SQL"
🔹создал курс "Мастер PL/SQL;
🔹создал курс "Секционирование в СУБД Oracle";
🔹в процессе создания других курсов.
Перечислил я это не ради хвастовства, а чтобы вы понимали, что накоплен приличный опыт как hard, так и soft-скилов 🎓
Кстати, добавляйтесь в контакты на LinkedIn 😉
Разрешите представиться.
Меня зовут - Кивилёв Денис. Я, Oracle DBD с 19-летним стажем. Был в шкуре DBA, TeamLead.
Сейчас активно занимаюсь Backend-разработкой на Java/Kotlin.
Я создатель/автор Youtube и Telegram каналов о разработке в СУБД Oracle.
Явлюсь сертифицированным специалистом Oracle
🔹 Oracle Database SQL Certified Expert
🔹 Oracle Advanced PL/SQL Developer Certified Professional
🔹 Oracle PL/SQL Developer Certified Associate
🔹 Oracle Certified Associate Java SE 8 Programmer
Про обучение
🔹вот уже 5 лет обучаю разработчиков, аналитиков, QA-инженеров, DBA разработке в СУБД Oracle;
🔹обучил около 300 человек;
🔹создал курс "Оптимизация Oracle SQL"
🔹создал курс "Мастер PL/SQL;
🔹создал курс "Секционирование в СУБД Oracle";
🔹в процессе создания других курсов.
Перечислил я это не ради хвастовства, а чтобы вы понимали, что накоплен приличный опыт как hard, так и soft-скилов 🎓
Кстати, добавляйтесь в контакты на LinkedIn 😉
👍5
Роли людей, работающих с СУБД Oracle
1) DBA - DataBase Administrator
- установка СУБД;
- поддержание в рабочем состоянии;
- резервирование;
- решение проблем с производительностью на уровне СУБД;
- обновление, репликации и прочие функции;
- раздача люлей DBD :)
DBA это такие суровые дядьки или тетки, которые ставят на место зарвавшихся юнцов - DBD 😊
Супермены, последний оплот человечества, которые могут спасти нас из почти любой ситуации 😎
2) DBD - DataBase Developer
- разработка эффективного программного обеспечения с использованием SQL, PL/SQL;
- выбор архитектуры приложения, оптимальных структур хранения данных;
- оптимизация запросов/кода/приложения и др.
Т.е. это мы с вами, люди которые "колбасят" код в БД 🤩
С точки зрения, DBA мы пользователи.
——
Идеальный случай это симбиоз DBD и DBA. Когда DBA помогают DBD, а DBD не "валяют Ваньку" и не усложняют жизнь DBA. Зачастую, так бывает не всегда 👻
Любимая поговорка DBA - "нет пользователей нет проблем" 🙃
#теория
1) DBA - DataBase Administrator
- установка СУБД;
- поддержание в рабочем состоянии;
- резервирование;
- решение проблем с производительностью на уровне СУБД;
- обновление, репликации и прочие функции;
- раздача люлей DBD :)
DBA это такие суровые дядьки или тетки, которые ставят на место зарвавшихся юнцов - DBD 😊
Супермены, последний оплот человечества, которые могут спасти нас из почти любой ситуации 😎
2) DBD - DataBase Developer
- разработка эффективного программного обеспечения с использованием SQL, PL/SQL;
- выбор архитектуры приложения, оптимальных структур хранения данных;
- оптимизация запросов/кода/приложения и др.
Т.е. это мы с вами, люди которые "колбасят" код в БД 🤩
С точки зрения, DBA мы пользователи.
——
Идеальный случай это симбиоз DBD и DBA. Когда DBA помогают DBD, а DBD не "валяют Ваньку" и не усложняют жизнь DBA. Зачастую, так бывает не всегда 👻
Любимая поговорка DBA - "нет пользователей нет проблем" 🙃
#теория
ROWID - уникальный адрес/идентификатор строки
Самый быстрый доступ к строке. Никакие primary key/unique key не способы дать такой быстрый доступ.
Oracle достаточно получить физический адрес, чтобы адресоваться до нужной ячейки на диске.
Выглядит он примерно так: 000000FFFBBBBBBRRR
Соответственно, 0000000 - это номер объекта, FFF - это номер файла, BBBBBB - номер блока, RRR - номер строки.
Хранить и запоминать его в долговренное хранилище не стоит, т.к. он может измениться. Но вот использовать в наших алгоритмах очень даже можно.
———-
Приведу пример.
#теория #архитектура #rowid
Самый быстрый доступ к строке. Никакие primary key/unique key не способы дать такой быстрый доступ.
Oracle достаточно получить физический адрес, чтобы адресоваться до нужной ячейки на диске.
Выглядит он примерно так: 000000FFFBBBBBBRRR
Соответственно, 0000000 - это номер объекта, FFF - это номер файла, BBBBBB - номер блока, RRR - номер строки.
Хранить и запоминать его в долговренное хранилище не стоит, т.к. он может измениться. Но вот использовать в наших алгоритмах очень даже можно.
———-
Приведу пример.
declareНа первом шаге мы выбрали по каким-то критериям искомую строку, произвели какие-то манипуляции и хотим её изменить (например, статус). Используя rowid в условии where мы можем максимально быстро получить к ней доступ.
v_rowid rowid;
begin
select rowid from my_tab where ... for update;
... что-то делаем ...
update my_tab t
set t.поле = новое_значение
where t.rowid = v_rowid;
end;
/
#теория #архитектура #rowid
👍6
Oracle - сертификация
Сертификация - сдача тестирования и получение соответствующего сертификата.
Зачем?
- в процессе подготовки узнаете новое;
- закрепляете и систематизируете имеющиеся знания;
- получаете конкурентные преимущества на рынке труда.
Как проходит?
Сдается тест из нескольких десятков вопросов в одном из сертифицированных центров Oracle. Естественно, без шпаргалок и гугла.
Цена?
Примерно 95-245$
В итоге, получаете сертификат о сданном экзамене и ссылку в каталоге Oracle для демонстрации всем желающим (электронный сертификат).
И не забудьте обновить резюме 😀
#сертификация
Сертификация - сдача тестирования и получение соответствующего сертификата.
Зачем?
- в процессе подготовки узнаете новое;
- закрепляете и систематизируете имеющиеся знания;
- получаете конкурентные преимущества на рынке труда.
Как проходит?
Сдается тест из нескольких десятков вопросов в одном из сертифицированных центров Oracle. Естественно, без шпаргалок и гугла.
Цена?
Примерно 95-245$
В итоге, получаете сертификат о сданном экзамене и ссылку в каталоге Oracle для демонстрации всем желающим (электронный сертификат).
И не забудьте обновить резюме 😀
#сертификация
❤1👍1
Блокировки - это механизм, используемый для управления одновременным доступом к общему ресурсу.
Есть два вида блокировок: пользовательские и системные.
Сегодня рассмотрим только пользовательские. Таких есть три вида.
1. Команда select … from … for update;
Блокирует строки выбранные командой select. Это гарантирует, что пока мы работаем с заблокированной строкой никто не сможет ее изменить. Это применяется при блокировках строк с балансами и работе с другими критически разделяемыми ресурсами. Часто используется на практике.
2. Пакет dbms_lock
Используется для создания блокировки на уровне части кода. Допустим мы не хотим, чтобы какая-то логика приложения использовался одновременно из разных сессий. Применяется не часто, но иногда здорово выручает.
3. Команда lock имя_таблицы;
Блокирует полностью всю таблицу, никто ничего с ней сделать не сможет. Практически не применяется ввиду того, что блокируется полностью таблица, можно только читать.
В следующих постах рассмотрим на примерах каждый вид блокировок.
#теория #блокировки
Есть два вида блокировок: пользовательские и системные.
Сегодня рассмотрим только пользовательские. Таких есть три вида.
1. Команда select … from … for update;
Блокирует строки выбранные командой select. Это гарантирует, что пока мы работаем с заблокированной строкой никто не сможет ее изменить. Это применяется при блокировках строк с балансами и работе с другими критически разделяемыми ресурсами. Часто используется на практике.
2. Пакет dbms_lock
Используется для создания блокировки на уровне части кода. Допустим мы не хотим, чтобы какая-то логика приложения использовался одновременно из разных сессий. Применяется не часто, но иногда здорово выручает.
3. Команда lock имя_таблицы;
Блокирует полностью всю таблицу, никто ничего с ней сделать не сможет. Практически не применяется ввиду того, что блокируется полностью таблица, можно только читать.
В следующих постах рассмотрим на примерах каждый вид блокировок.
#теория #блокировки
👍4