آموزش عملی پکیج DBMS_SQLTUNE
آموزش عملی پکیج DBMS_SQLTUNE برای بهینه‌سازی کوئری‌های سنگین

سلام به همه‌ی برنامه نویس های عزیز 👋اگه تاحالا با کوئری‌هایی سروکله زدی که کند و اعصاب‌خردکن هستن و هر کاری می‌کنی Query Plan مثل لاک‌پشت جلو میره، باید بدونی وقت استفاده از پکیج جادویی DBMS_SQLTUNE هست!این ابزار رسمی Oracle Database از نسخه‌ی 10g معرفی شد و الان توی نسخه‌های…

چرا PDB در Oracle 23ai Mount نمی‌شود
چرا PDB در Oracle 23ai Mount نمی‌شود؟ بررسی خطاهای معماری Container

اگر با Oracle 23ai کار کرده باشی، احتمالاً با این سناریو مواجه شدی:دیتابیس اصلی (CDB) به‌درستی باز می‌شود، اما یکی از PDBها در مرحله‌ی Mount گیر می‌کند!در ظاهر شاید ساده به نظر برسد، اما پشت این اتفاق مفاهیم عمیقی از معماری چندمستأجر اوراکل (Multitenant Architecture) پنهان است.در این مقاله آموزش…

تشخیص گام‌به‌گام Bottleneck واقعی
چرا Query من در Oracle 19c کند اجرا می‌شود؟

وقتی یه Query در Oracle 19c کند می‌شه، اولین چیزی که ممکنه به ذهنت برسه اینه که “حتماً دیتام زیاده” یا “سیستم ضعیفه!”.اما واقعیت اینه که کندی همیشه از حجم داده یا سخت‌افزار نیست — معمولاً یه گره نامرئی، یعنی Bottleneck واقعی داره که باید قدم‌به‌قدم پیدا بشه.بیاین با هم…

آموزش کامل پکیج UTL_TCP در Oracle
آموزش کامل پکیج UTL_TCP در Oracle — راهنمای کاربردی برای برقراری ارتباطات TCP از درون PL/SQL

در دنیای امروزی که ارتباطات نرم‌افزارها از طریق شبکه حرف اول را می‌زند، اوراکل هم برای توسعه‌دهندگانی که به ارتباطات سطح پایین نیاز دارند، ابزار قدرتمندی در اختیار گذاشته:پکیجی به نام UTL_TCP.با استفاده از این پکیج می‌توانی از درون دیتابیس مستقیماً با هر سرویس TCP ارتباط بگیری؛چه یک سرور داخلی…

برگشت چندین رکورد درج‌شده با قابلیت Multi‑Row Returning در Oracle 23ai
برگشت چندین رکورد درج‌شده با قابلیت Multi‑Row Returning در Oracle 23ai

اگر تا حالا با اوراکل کار کرده باشی، احتمالاً با دستور INSERT و قابلیت RETURNING INTO آشنا هستی.این امکان همیشه به ما اجازه می‌داد بعد از درج رکورد، مقادیر موردنظر (مثل ID یا هر ستون دیگر) را همان لحظه به دست بیاوریم، اما فقط برای یک رکورد!مشکل اینجا بود که…

مقایسه CTE (WITH Clause) و Subquery‌ها از منظر Performance در Oracle
مقایسه CTE (WITH Clause) و Subquery‌ها از منظر Performance در Oracle

اگر با Oracle SQL کار کرده باشی، حتماً با دو روش اصلی برای شکستن کوئری‌های پیچیده آشنا هستی:استفاده از CTE یا همان WITH Clauseاستفاده از Subqueryهای معمولیهر دو روش ظاهراً همان هدف را دنبال می‌کنند، اما از نگاه Performance (کارایی و سرعت اجرا) تفاوت‌های مهمی دارند که در تصمیم‌گیری‌های روزمره…

معماری Multi‑Tenant در اوراکل
معماری Multi‑Tenant در Oracle: مزایا، چالش‌ها و کاربردها

با رشد سریع داده‌ها و نیاز شرکت‌ها به بهینه‌سازی زیرساخت‌های پایگاه داده، معماری Multi‑Tenant در Oracle به‌عنوان یک تحول جدی وارد میدان شد.این معماری ابتدا با معرفی Oracle Database 12c پا به عرصه گذاشت و با فراهم کردن امکان مدیریت چند پایگاه داده مستقل (PDB) در بستر یک پایگاه داده…

درج چند رکورد با یک دستور در Oracle 23ai
درج چند رکورد با یک دستور در Oracle 23ai — آموزش کامل Multi‑Row Insert

در بانک‌های اطلاعاتی Oracle Database، دستور INSERT معمولاً برای اضافه کردن یک رکورد استفاده می‌شود.اما در خیلی از پروژه‌ها نیاز داریم چند ردیف را با یک دستور واحد وارد کنیم تا هم کد کوتاه‌تر و خواناتر شود، هم سرعت اجرای عملیات بالاتر برود.در نسخه جدید Oracle 23ai این امکان به…

Automatic Transaction Retry
پایان تراکنش‌های ناموفق در Oracle Database با قابلیت Automatic Transaction Retry (ATR)

در سیستم‌های دیتابیس پرتراکنش، تراکنش‌های ناموفق یا Failed Transactions یکی از عوامل اصلی کاهش عملکرد و نارضایتی کاربران هستند.این خطاها معمولاً به دلایل مختلفی رخ می‌دهند:خطاهای Serialization (ORA-08177) در سطح ایزولیشن SerializableDeadlock (ORA-00060) به دلیل قفل‌های متقاطعمشکلات موقتی شبکه (Transient Network Errors)پیش از عرضه نسخه‌های جدید اوراکل، رفع این مشکل…

آموزش کامل پکیج DBMS_MVIEW در Oracle
آموزش کامل پکیج DBMS_MVIEW در Oracle

اگر با پایگاه داده اوراکل کار کرده باشی، حتماً اسم Materialized View به گوشت خورده. این ساختار، در واقع یک جدول ذخیره‌شده از نتایج یک Query است که می‌تونه به صورت دوره‌ای یا دستی آپدیت بشه.حالا، برای مدیریت این MVها، اوراکل یک جعبه‌ابزار طلایی به اسم DBMS_MVIEW داده که باهاش می‌تونی…