
تا قبل از نسخه 26ai، کوئریهایی که شامل bind variable بودند، نمیتوانستند از قابلیت query rewrite با استفاده از materialized view (MV) بهره ببرند و اوراکل مجبور بود دادهها را مستقیماً از جدولهای پایه بخواند، که باعث از دست رفتن مزایای کاراییِ دادههای پیشتجمیعشده (pre-aggregated data) میشد. از Oracle AI Database 26ai به بعد، این محدودیت حذف شده است...
ادامه مطلب
تا قبل از نسخه 23ai نمی توانستیم از توابع تجمیعی نظیر SUM، AVG، MIN و MAX و … بر روی داده های با دیتاتایپ INTERVAL استفاده کنیم و در صورت استفاده، به خطای ORA-00932 مواجه می شدیم. برای مثال می خواهیم بررسی کنیم اجرای جاب PURGE_LOG در یک ماه گذشته به صورت میانگین چقدر زمان برده است: SQL> select column_name,data_type from dba_tab_cols where table_name='DBA_SCHEDULER_JOB_RUN_DETAILS' and column_name='RUN_DURATION'; COLUMN_NAME DATA_TYPE --------------- ---------------------------------...
ادامه مطلب
تغییر Execution Plan یک کوئری می تواند به دلایل ساده ای مثل حذف و اضافه کردن ایندکس، پارتیشن بندی جدول، پارتیشن بندی ایندکس اتفاق بیفتد اما شناسایی علت تغییر رفتار Optimizer همیشه ساده نیست چرا که در بعضی از موارد تغییر در Optimizer Environment منجر به ایجاد Execution Plan جدید می شود. برای مثال در sessionای پارامتر OPTIMIZER_INDEX_COST_ADJ که میزان گرایش Optimizer به استفاده از ایندکس را تعیین می کند، به عدد 1 و در session دیگر این پارامتر به مقدار 1000! تنظیم شده است بدون تردید این تفاوت ها در...
ادامه مطلب
اوراکل در نسخه 21c دیتاتایپ JSON را ارائه کرد و تا قبل از آن، دیتای JSON را می توانستیم در ستونهایی با نوع داده CLOB، BLOB و حتی VARCHAR ذخیره کنیم با این اوصاف اگر دیتابیس را به تازگی به نسخه 21c(و نسخ بالاتر) ارتقا دادیم ممکن است بخواهیم دیتای از نوع JSON را به ستونی که دیتاتایپ آن JSON است منتقل کنیم. در نسخه 23c، پروسیجری اضافه شده است که می تواند در این فرایند مورد استفاده قرار بگیرد و بعضا بسیار راهگشا باشد. پروسیجر dbms_json.json_type_convertible_check ستونی را به عنوان ورودی می گیرد و بر...
ادامه مطلب
برای استفاده از قابلیت Memoptimized Rowstore در نسخه های 19c و 21c، ابتدا می بایست این قابلیت را در سطح جدول فعال می کردیم و بعد از آن، در زمان درج دیتا، Hintای را به دستور insert اضافه می کردیم با توجه به آنکه ممکن است application از قبل نوشته شده باشد، اضافه کردن Hint به دستور insert می تواند مانعی برای استفاده از قابلیت Memoptimized Rowstore شود. SQL> ALTER TABLE tbl1 MEMOPTIMIZE FOR WRITE; Table altered SQL> INSERT /*+ MEMOPTIMIZE_WRITE */ INTO tbl1 VALUES (1,'usefzadeh.com'); بنابری...
ادامه مطلب
در نسخه 21c، اوراکل امکان اجرای کد JavaScript در داخل دیتابیس را فراهم کرده است. این کار با کمک بسته DBMS_MLE امکان پذیر است: DECLARE ctx varchar2(50) ; BEGIN ctx := DBMS_MLE.create_context(); DBMS_MLE.eval(ctx, 'JAVASCRIPT', q'~console.log("www.usefzadeh.com");~'); DBMS_MLE.drop_context(ctx); END; / www.usefzadeh.com در نسخه 23c قابلیتهای دیگری هم در این زمینه ارائه شد که یکی از آنها، امکان بارگذاری و استفاده از ماژولهای JavaScript در دیتابیس اوراکل است این قابلیت می تواند در زمینه...
ادامه مطلب
در محیط SQLcl می توان با کمک دستور bridge بین نیلوبلاگ دو دیتابیس نیلوبلاگ ارتباط نیلوبلاگ برقرار کرد. ابتدا فرمت کلی دستور bridge را مرور می کنیم: BRIDGE <targetTableName> as “<jdbcURL>”(<sqlQuery&g...
ادامه مطلب
همانطور که می دانید، با شروع یک تراکنش، undo segmentای هم به آن اختصاص داده می شود تا اطلاعاتیxa0 که تراکنش در حال کار با ان است را در خود جای دهد به طور مثال، قبل از حذف یک رکورد در یک تراکنش، اطلاعات...
ادامه مطلب
فرض کنید پرس و جوی زیر یکی از پرس و جوهای پراستفاده برنامه می باشد که به دلیل عدم دسترسی به سورس کد برنامه امکان تغییر متن آن وجود ندارد: SQL>xa0 select /*+INDEX(tbl1,IND_CODE)*/ count(*) from tbl1 ...
ادامه مطلب
محافظت از پوست در برابر اشعه های ماوراء بنفش خورشید بخصوص در بارداری بسیار مهم و ضروری است. زیرا در این زمان پوست شما نسبت به حالت عادی بسیار حساس تر می شود و اگر به خوبی از آن مراقبت نکنید آسیب های جدی می بیند. علاوه بر استفاده از کرم ضدآفتاب مناسب ...
ادامه مطلب
همانطور که می دانید، زمانی که دیتابیس در حالت read only قرار دارد امکان ثبت اطلاعات در جداول دیتادیکشنری از بین خواهد رفت این قاعده برای جداول مربوط به auditing(نظیر aud$unified) هم صادق است از اینرو ...
ادامه مطلب
ابزار AutoUpgrade ارتقا دیتابیس اوراکل به نسخه بالاتر را با مداخله کمتر DBA امکان پذیر می کند همچنین این ابزار، قابلیت ارتقا همزمان چندین دیتابیس را فراهم خواهد کرد(صرفا از طریق یک فایل config). در ای...
ادامه مطلب
نام علمی دارو : داکسی سیکلین یا داکسی سایکلین -xa0Doxycycline گروه دارویی: داروهای آنتی بیوتیک این دارو برای درمان طیف گسترده ای از عفونت های باکتریایی، از جمله عفونت هایی که باعث آکنه می شوند، مورد ا...
ادامه مطلب
سلام بنده مایلم یه سایت طراحی کنم اما قبل می خواستم بدونم از هوش مصنوعی چطور می تونم داخل طراحی سایت استفاده کنم. اگر از دوستان کسی هست که به بنده بگه ممنون میشم ...
ادامه مطلب
ممکن است در بارداری مجبور شوید موهای خود را رنگ نکنید زیرا رنگهای شیمیایی برای سلامتی شما یا جنین مشکل ساز می باشند. اگرچه شواهد علمی کافی برای تأیید این ادعا وجود ندارد اما توصیه می شود در دوران بارداری از رنگهای شیمیایی استفاده نکنید. استفاده از حن...
ادامه مطلب
صداهای سفید چیست؟ صدای سفید به صداهایی میگویند که صداهای محیط را تحت الشعاع قرار میدهند. اگر در شهر شلوغی زندگی میکنید، صدای سفید میتواند مانع رسیدن سر و صدای خیابان و ترافیک به گوش شما شود. صدا...
ادامه مطلب
آمپول پروژسترون چه استفاده ای دارد؟ آمپول پروژسترون نوعی هورمون زنانه است که در صورت تولید ناکافی هورمون پروژستین، برای جایگزینی آن استفاده می شود. برای خانم هایی که باردار نیستند و دچار یائسگی نشده ا...
ادامه مطلب
گاهی بدلایل مختلف، مانند عدم فضای کافی یا عدم دسترسی مستقیم به سیستم عامل، امکان تهیه دامپ بر روی ماشین/سرور مبدا مهیا نمی باشد. در این مواقع datapump این امکان را فراهم نموده تا فایل دامپ را بر روی ی...
ادامه مطلب
قبلا در مقاله ای تغییر نام کاربر در اوراکل را با دو روش “اصلاح جداول Data Dictionry” و استفاده از دستور “ALTER USER RENAME” مورد بررسی قرار داده ایم. با ارائه نسخه 19c، تغییری در این زمینه ایجاد...
ادامه مطلب
یکی از تغییراتی که در اوراکل 18c ایجاد شد، عدم امکان استفاده از symbolic linkها در زمان ساخت دایرکتوری برای دیتاپامپ می باشد. این مسئله می تواند در زمان اجرای دستور expdp/impdp مشکلاتی را ایجاد کند. ...
ادامه مطلب