قبل از ایجاد ایندکس می توان با کمک statisticهای موجود در دیتابیس، سایز آن را تخمین زد که در این متن، دو روش انجام این کار را مشاهده خواهید کرد.
پارامترهای REMAP در ابزار IMPDP
بطور معمول و پیش فرض در هنگام import داده ها در بانک مقصد، جداول با همان نام قبلی و در همان schema و tablespace بارگذاری می شوند، مگر آنکه با استفاده از برخی پارامترها نام و مکان آنها را تغییر دهیم که در ادامه با این پارامترها آشنا می شویم.
برگشت خودکار سرویس به preferred instance در اوراکل 19c
همانطور که می دانید در محیط RAC و در زمان ایجاد یک سرویس، می توان preferred instance و available instance را مشخص کرد در این صورت، سرویس بصورت پیش فرض در preferred instance اجرا خواهد شد.
اگر به هر دلیلی preferred instance دچار مشکل شود و یا به صورت کلی، نود مربوط به آن، از دسترس خارج شود، سرویس هم به available instance منتقل خواهد شد و حتی با استارت مجدد preferred instance، اصطلاحا failbackای برای این سرویس رخ نخواهد داد و سرویس کماکان در همان available instance به کارش ادامه خواهد داد و برای انتقال ان به preferred instance، باید به صورت دستی، عملیات relocate را انجام داد.
کنترل دیتای null در زمان استفاده از order by(با کمک عباراتNULLS LAST و NULLS FIRST)
قصد داریم لیستی از جداول موجود در بانک را بر اساس تعداد رکوردی که دارند، به صورت نزولی نمایش دهیم به این جهت، با فرض بروز بودن statisticها، به سراغ ویوی dba_tables خواهیم رفت وبا کمک عبارت order by desc، خروجی را بر اساس ستون num_rows مرتب می کنیم.
select owner,table_name,num_rows from dba_tables order by num_rows desc;
(بیشتر…)پارامترهای کنترل job در ابزار EXPDP و IMPDP
همانطور که در مطلب “آشنایی با Data Pump” اشاره شد، پروسس master برای انجام عملیات، jobای را ایجاد می کند که در طول عملیات export/import ، می توان با ارجاع به نام آن job، عملیات مربوطه را کنترل نمود. برای مثال می توان اجرای دستورات را موقتا متوقف کرد و یا بعد از توقف، عملیات را مجددا از سر گرفت.
قصد داریم در این متن پارامترهای مربوط به مانیتور و کنترل jobها را شرح دهیم.
آشنایی با Data Pump
اوراکل با ارائه نسخه 10g، تکنولوژی قدرتمندی به نام Data Pump را ارائه کرد با استفاده از این تکنولوژی می توان حجم زیادی از اطلاعات را از دیتابیس استخراج کرد یا از یک بانک به بانک دیگر منتقل نمود.
Data Pump از نظر عملکرد همانند ابزارهای exp/imp قدیمی است ، ولی از نظر روش انجام کار، متفاوت است. exp/imp سنتی مبتنی بر کلاینت هستند در حالی که Data Pump کاملا مبتنی بر سرور پیاده سازی شده است.
تفاوت مجوز سیستمی SELECT ANY DICTIONARY و نقش SELECT_CATALOG_ROLE
پرسش: چه تفاوتی بین مجوز سیستمی SELECT ANY DICTIONARY و نقش SELECT_CATALOG_ROLE وجود دارد؟
پاسخ: با دو مثال زیر، تفاوت بین این دو مجوز را نشان خواهیم داد.
مثال 1: کاربر user_a با داشتن مجوز select any dictionary می تواند به ویوها و جداول data dictionary دسترسی داشته باشد:
SQL> create user user_a identified by a;
User created.
SQL> grant select any dictionary,connect to user_a;
Grant succeeded.
SQL> conn user_a/a@pdb1
—views
SQL> select count(*) from v$datafile;
COUNT(*)
————
4
—tables
SQL> select count(*) from sys.file$;
COUNT(*)
————
4
مثال 2: کاربر user_b با داشتن نقش SELECT_CATALOG_ROLE این قابلیت را ندارد که به جداول data dictionary دسترسی داشته باشد و صرفا خواهد توانست ویوهای data dictionary را ببیند.
SQL> create user user_b identified by a;
User created.
SQL> grant SELECT_CATALOG_ROLE ,connect to user_b;
Grant succeeded.
SQL> conn user_b/a@pdb1
—views
SQL> select count(*) from v$datafile;
COUNT(*)
————
4
—tables
SQL> select count(*) from sys.file$;
ORA-00942: table or view does not exist
تفاوتهای دیگری هم بین این دو مجوز وجود دارد که در اینجا صرفا به یکی از انها اشاره شد.
پ.ن: از اوراکل 12c، دسترسی به بعضی از جداول data dictionary حتی با داشتن مجوز select any dictionary هم ممکن نمی باشد. لیست بعضی از این جداول را در زیر می بینید:
USER$, ENC$ , DEFAULT_PWD$, LINK$, USER_HISTORY$, CDB_LOCAL_ADMINAUTH$, XS$VERIFIERS