تالار های تخصصی

متن مرتبط با «قابلیت» در سایت تالار های تخصصی نوشته شده است

قابلیت SQL Diagnostic Report – اوراکل 23ai و 19.28

  • نیلوبلاگ

    پیش از اوراکل 23ai و 19.28، اسکریپت awrsqrpt.sql یکی از روشهای تحلیل اجراهای قبلی یک کوئری بود و از این طریق می توانستیم آمارهای مربوط به میزان استفاده از CPU، ورودی/خروجی (I/O) ، زمان سپری شده(elapsed time) و … را در یک بازه زمانی مشخص مشاهده کنیم. با این حال، این روش دو محدودیت اصلی داشت. در این روش نیاز بود دو AWR snapshot تعیین شوند و ضمنا اطلاعات ا...

    ادامه مطلب
  • قابلیت RESETTABLE در اوراکل 26ai

  • نیلوبلاگ

    در دیتابیس اوراکل، state بسته‌های PL/SQL در سطح session حفظ می شود. یعنی زمانی که یک package در session ای اجرا می‌شود، متغیرهای global آن، مقادیر خود را در میان چندین فراخوانی حفظ می‌کنند. در نسخه‌های قبلی Oracle(قبل از 26ai)، زمانی که یک package دوباره compile می‌شد، تمام sessionهایی که state آن package را نگه داشته اند با خطاهای ORA-04068 مواجه می‌شد...

    ادامه مطلب
  • اوراکل 26ai – امکان استفاده از bind variable با قابلیت Materialized View Query Rewrite

  • نیلوبلاگ

    تا قبل از نسخه 26ai، کوئری‌هایی که شامل bind variable بودند، نمی‌توانستند از قابلیت query rewrite با استفاده از materialized view (MV) بهره ببرند و اوراکل مجبور بود داده‌ها را مستقیماً از جدول‌های پایه بخواند، که باعث از دست رفتن مزایای کاراییِ داده‌های پیش‌تجمیع‌شده (pre-aggregated data) می‌شد. از Oracle AI Database 26ai به بعد، این محدودیت حذف شده است...

    ادامه مطلب
  • اوراکل 23c – قابلیت Dictionary Protection

  • نیلوبلاگ

    زمانی که یکی از مجوزهای system “ANY” privilege نظیر select any table، drop any table و … را به کاربری می دهیم، آن کاربر امکان دسترسی به objectهای شمای sys و جداول Data Dictionary را ندارد: SQL*Plus: Release 10.1.0.4.2 - Production on Tue Jan 9 10:38:31 2024 SQL> show user USER is "SYS" SQL> create table sys.tb as select * from dual; Table created. SQL> create user usef identified by a; User created. SQL> grant create session,select any table to usef; Grant succeeded. SQL> conn u...

    ادامه مطلب
  • اوراکل 23c – قابلیت Automatic List Partitioning برای جداول هیبریدی

  • نیلوبلاگ

    Hybrid Partitioned Table قابلیت جدیدی است که اوراکل در نسخه 19c ارائه کرده است با کمک این قابلیت می توان برای یک جدول، تلفیقی از پارتیشنهای exteal و inteal را ایجاد کرد. این روش از پارتیشن بندی، صرفا متدهای Range و List را پشتیبانی می کند البته در نسخه 19c امکان استفاده از متد Automatic List برای Hybrid Partitioned Table وجود ندارد و این امکان از نسخه 23c به وجود آمد. بنابرین از این نسخه(23c) می توانیم برای جداول Hybrid Partitioned Table از قابلیت Automatic List Partitioning استفاده کنیم. قبل از...

    ادامه مطلب
  • قابلیت SQL Firewall در اوراکل 23c

  • نیلوبلاگ

    SQL Firewall یکی دیگر از قابلیتهای جدید اوراکل در نسخه 23c است بر اساس این قابلیت می توانیم مجموعه ای از دستورات را به عنوان دستورات مجاز برای دیتابیس تعریف کنیم در این صورت کاربر نمی تواند دستور دیگری خارج از این مجموعه را اجرا کند حتی اگر این کاربر مجوز اجرای آن دستورات را داشته باشد. قصد داریم اقدامات کاربر Usef را تحت نظر بگیریم و تمامی دستورات اجرا شده توسط این کاربر را capture کنیم سپس با تنظیم SQL Firewall، به این کاربر اجازه ندهیم خارج از دستوراتی که capture شده اند، دستور جدیدی را ...

    ادامه مطلب
  • قابلیتهای جدید اوراکل 23c برای جداول Blockchain و Immutable

  • نیلوبلاگ

    در این مطلب سعی داریم تعدادی از قابلیتهای جدید اوراکل 23c در زمینه جداول Blockchain و Immutable را مرور کنیم. امکان حذف  و اضافه کردن ستون به جداول Blockchain و Immutable در نسخه 23c می توان به جداول Blockchain ستونی را اضافه کرد(البته در version v2 این نوع از جداول): SQL> create blockchain table blockchaintb1 ( id number(10), desc1 varchar2(100) ) no drop until 20 days idle no delete until 20 days after insert hashing using "SHA2_512" version "v2"; Table created. SQL> alter...

    ادامه مطلب
  • قابلیت Shrink کردن Bigfile tablespace در اوراکل 23c

  • نیلوبلاگ

    از نسخه های قدیمی اوراکل امکان resize کردن دیتافایلها وجود دارد: SQL*Plus: Release 10.1.0.4.2 - Production on Tue Nov 21 11:15:16 2023 SQL> select bytes/1024/1024 SIZE_MB from v$datafile where file#=29; SIZE_MB ---------- 1024 SQL> alter database datafile 29 resize 120m; Database altered. SQL> select bytes/1024/1024 SIZE_MB from v$datafile where file#=29; SIZE_MB ---------- 120 البته resize کردن دیتافایلها همیشه با موفقیت انجام نمی شود و بعضا با آزاد بودن درصد بالایی...

    ادامه مطلب
  • اوراکل 23c – قابلیت Table Values Constructor

  • نیلوبلاگ

    Table Values Constructor قابلیتی است که در بیشتر دیتابیسهای رابطه ای وجود داشته و اوراکل امکان استفاده از این قابلیت را در نسخه 23c فراهم کرده است. بر اساس این قابلیت، می توانیم با اجرای یک دستور insert ساده(Insert به همراه عبارت Values) چندین رکورد را در یک جدول درج کنیم البته استفاده از کلمه کلیدی Values به دستور insert محدود نمی شود و از این عبارت می توانیم برای دستورات DMLای دیگر نظیر Select و Merge هم استفاده کنیم. ابتدا مثالی از نحوه استفاده از این قابلیت را به همراه دستور insert مشاهده می...

    ادامه مطلب
  • قابلیت Materialized View Concurrent Refresh در اوراکل 23c

  • نیلوبلاگ

    بروز شدن همزمان Materialized Viewهای on-commit refresh از طریق sessionهای مختلف می تواند سبب رخ دادن eventای به نام enq: JI – contention شود چرا که این نوع از MVها به طور پیش فرض به صورت سریالی بروز می شوند و امکان بروزرسانی Concurrent را ندارند. در قسمت زیر، از طریق دو session به طور همزمان دیتایی را در جدول مرجع MV درج کرده ایم که این  مسئله سبب شد تعداد زیادی از eventهای enq: JI – contention را شاهد باشیم: SQL> create materialized view auther_contry_mv refresh fast on commit as select...

    ادامه مطلب
  • اوراکل 23c – امکان استفاده از قابلیت Memoptimized Rowstore بدون تنظیم Hint

  • نیلوبلاگ

    برای استفاده از قابلیت 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'); بنابری...

    ادامه مطلب
  • اوراکل 23c – قابلیت JSON Relational Duality View

  • نیلوبلاگ

    اوراکل در نسخه 23c قابلیتی به نام JSON Relational Duality View را ارائه کرده است که می توان از طریق آن به طور همزمان از(بسیاری از) مزیتهای Relational data model و JSON data model بهرمند شد. می دانیم که انتخاب هر کدام از این دیتامدلها می تواند بر حسب شرایط، مزایا و معایبی را به همراه داشته باشد. به طور مثال در مدل Relational می توان از مزیتهایی نظیر «جلوگیری از Data duplication، نرمالسازی، consistency» و … بهره گرفت و از طرف دیگر «خوانایی، سادگی، خود توصیفی، hierarchical document» نمونه هایی از م...

    ادامه مطلب
  • اوراکل 23c -قابلیت Automatic Transaction Rollback(تنظیم اولویت برای تراکنشها)

  • نیلوبلاگ

    در صورتی که دو کاربر قصد ویرایش یک رکورد را داشته باشند، کاربری که دیرتر دستور update را اجرا کرده Block خواهد شد و تا زمانی که کاربر اول(کاربری که زودتر رکورد را در اختیار گرفته) به تراکنش خاتمه ندهد، کاربر دوم در حالت Block باقی خواهد ماند. --session 1: SQL> select sid from v$mystat where rownum=1; SID ---------- 2190 SQL> update USEF.TBL1 set id=1; 1 row updated --session 2: SQL> select sid from v$mystat where rownum=1; SID ---------- 944 SQL> update ...

    ادامه مطلب
  • اوراکل 23c- قابلیت DEFAULT ON NULL برای update و insert

  • نیلوبلاگ

    از نسخه های قدیمی اوراکل این امکان را داشتیم که برای ستونهای جداول، مقدار پیش فرض و یا همان Default Value تعریف کنیم. با تنظیم Default Value برای یک ستون، اگر در زمان اجرای دستور insert مقداری را برای آن ستون لحاظ نکرده باشیم، Default Value برای آن ستون اعمال خواهد شد: SQL*Plus: Release 10.1.0.4.2 - Production on Sat Aug 5 16:28:29 2023 SQL> create table tbl1(id number,tarikh date default sysdate+1); Table created. SQL> insert into tbl1(id) values(1); 1 row created. SQL> select * from t...

    ادامه مطلب
  • قابلیت SQL History در اوراکل 23c

  • نیلوبلاگ

    قابلیت SQL History در نسخه 23c امکان مشاهده آخرین دستورات اجرا شده توسط sessionها را فراهم می کند(حدودا 50 دستور برای هر session) اوراکل بر اساس این قابلیت، دستوراتی که اجرای آنها به خطا خورده را هم نمایش می دهد. برای فعال کردن قابلیت SQL History باید پارامتر SQL_HISTORY_ENABLED را به مقدار TRUE تنظیم کرد مقدار پیش فرض این پارامتر برابر با False است: SQL> show parameter SQL_HISTORY_ENABLED NAME TYPE VALUE -------------------- --------- ------- sql_history_enabled boolea...

    ادامه مطلب
  • قابلیت SQL domain در اوراکل 23c

  • نیلوبلاگ

    دیتابیس اوراکل در نسخه 23c سعی کرده تا بسیاری از قابلیتهای موجود در دیتابیسهای رابطه ای دیگر را در این version ارائه کند قابلیتهای ساده ای نظیر «Schema level privilege» – «Boolean data type» – «Direct Joins for UPDATE and DELETE» -«SELECT without FROM» و … یکی دیگر از این قابلیتها که موضوع بحث این مستند هم هست، SQL domain می باشد که می تواند شامل مجموعه ای از محدودیتها و خصوصیتها باشد و با تخصیص آن به یک ستون، می توان محدودیتهایی را برای آن ستون اعمال کرد به عبارت دیگر، SQL domain امکان توس...

    ادامه مطلب
  • قابلیتهای جدید اوراکل 21c در زمینه عملگرهای مجموعه ای

  • نیلوبلاگ

    تا قبل از نسخه 21c، صرفا می توانستیم از سه عملگر مجموعه ای INTERSECT، MINUS و UNION [ALL] در اوراکل استفاده کنیم اما در نسخه 21c دو عملگر جدید EXCEPT و EXCEPT ALL به این مجموعه اضافه شدند که این دو عملگر معادل عملگرهای MINUS و MINUS ALL هستند و صرفا به دلیل استفاده از عبارتهای EXCEPT و EXCEPT ALL در دیتابیسهای دیگر، اوراکل هم این دو عملگر را به مجموعه عملگرهای خود اضافه کرده است. مجددا تاکید می شود که در عمل تفاوتی بین EXCEPT و MINUS وجود ندارد و حتی در صورت استفاده از عملگر EXCEPT، اوراکل در زم...

    ادامه مطلب
  • استفاده از قابلیت flashback query برای برگرداندن تغییرات متن پکیج، پروسیجر و فانکشن

  • نیلوبلاگ

    همانطور که می دانید، با شروع یک تراکنش، undo segmentای هم به آن اختصاص داده می شود تا اطلاعاتیxa0 که تراکنش در حال کار با ان است را در خود جای دهد به طور مثال، قبل از حذف یک رکورد در یک تراکنش، اطلاعات...

    ادامه مطلب
  • بازیابی جداول از recycle bin و قابلیت Flashback Drop

  • نیلوبلاگ

    زمانی که جدولی را با دستور drop حذف می کنیم، جدول مورد نظر، به recycle bin منتقل خواهد شد(البته منظور از انتقال، انتقال فیزیکی نیست و صرفا امری منطقی اتفاق خواهد افتاد) و تا زمانی که tablespaceای که ج...

    ادامه مطلب
  • با قابلیت های تبلیغات در اپلیکیشن تلگرام آشنا شوید

  • نیلوبلاگ

    با قابلیت های تبلیغات در اپلیکیشن تلگرام آشنا شویدتهیه پنل تبلیغاتی: با تهیه پنلهای تبلیغاتی در تلگرام نیاز به هیچگونه خط ارسال نیست. همچنین هیچ گونه بلاک و اسپمی نیز وجود نخواهد داشت و به تمامی بانکهای اطلاعاتی (منطقهای، کدپستی، مشاغل و اصناف) امکان ارسال اطلاعات و پیامهای تبلیغاتی وجود دارد. قابل ذکر است که برخی از پنلهای تبلیغاتی امکان ارسال با شماره تلفن همراه یا تلفن ثابت دفتر یا منزل خود را ارائه میدهد. ارسال لینک به گروههای تلگرام: برای معرفی خود در بین رقبا و مشتریان، تلگرام این امکان ...

    ادامه مطلب