.تعمیـــرکاران کیان ست (kiansat.kim)تابع قوانین -جمهموری-اسلامی ایران میباشد و ارسال هر گونه مطلب سیاسی،مذهبی،غیراخلاقی و خرید و فروش متعلقات ماه-واره و دیگر موارد مجرمانه ممنوع میباشد وبا کاربران خاطی به شدت برخورد میگردد انجمن فقط تعمیرات لوازم الکترونیک میباشد...













سلام مهمان گرامی؛
به کیان ست خوش آمدید برای مشاهده انجمن با امکانات کامل می بايست از طريق این لینک عضو شوید.

http://teranzit.pw/uploads/14469017281.png
پیام خصوصی به مدیریت کل سایت ........... صفحه توضیحات و شرایط گروه ویژه ........... ...........
ارتباط تلگرامی با مدیریت سایت ................. ایدی تلگرام suportripair@ .................
نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: بررسی دیکشنری داده‌هاي اراكل - Oracle Data Dictionary

  1. #1


    تاریخ عضویت
    Oct 2010
    نوشته ها
    198
    تشکر ها
    38
    401 سپاس از181 پست

    بررسی دیکشنری داده‌هاي اراكل - Oracle Data Dictionary

    دیکشنری داده‌ها اولین دسته از Object هایی می‌باشد که مدیر پایگاه داده‌ها بعد از ایجاد Database باید آن را به وجود آورد. هر Object در پایگاه داده‌های اراکل به روشی خاص توسط دیکشنری داده‌ها مورد پیگیری و شناسایی قرار میگیرد. اراکل معمولا Data Dictionary را در زمان ایجاد Database و بدون دخالت DBA و توسط Catalog.sql و Catproc.sql ایجاد میکند. اگر شما Database را توسط Data Base Configuration Assistant ایجاد کنید. این ابزار به طور خودکار دیکشنری داده‌ها را ایجاد می‌کند. اگر شما به طور دستی Database را ایجاد میکنید از اجرا شدن Script های بالا اطمینان حاصل کنید.
    Catalog.sql برای ایجاد و پیکر بندی اجزاء دیکشنری داده‌ها به کار می‌روند. دیکشنری داده‌ها یک شمای کلی از عملیات‌های انجام شده توسط پایگاه داده‌ها از جمله پیدا کردن اطلاعات در مورد Object های درون پایگاه تا یافتن اطلاعات در مورد کارایی پایگاه و.... را به شما می‌دهد. برای ایجاد Data Dictionary شما می‌توانید Catalog.sql را از درون Sqlplus با مجوز sysdba اجرا کنید.زمانی که شما Catalog.sql را اجرا میکنید در درون آن script های دیگری صدا می‌شوند که به ترتیب زیر می‌باشند.


    Cataudit.sql: این اسکریپت با تشکیل SYS.AUD$ Table تمام اعمال بازبینی و بازرسی اطلاعات را که توسط Oracle Auditing Feature می‌شود را پیگیری می‌کند.
    Catldr.sql: مسئولیت ایجاد View هایی که توسط Sql Loader برای پردازش Large-Volume Data به کار می‌زود را دارد.
    Catexp.sql: مسئولیت ایجاد View هایی که توسط ابزارهای Import/Export مورد استفاده قرار میگیرد را دارد.
    Catpart.sql: این اسکریپت نیز با ایجاد View هایی از Oracle Partitioning پشتیبانی می‌کند.
    Catadt.sql: با ایجاد کردن View های مناسب از User Define Type ها پشتیبانی می‌کند.
    Standard.sql : مسئولیت ذخیره کردن اسکالرها و دیتا تایپ های ساده مانند Varchar2 و Blob و همچنین بعضی توابعی که به صورت Built-in در Sqlplus وجود دارند مثل()Decode را دارد.


    دومین اسکریپت Catproc.sql است که Procedural Option وابزارهای مورد نیاز PL/SQL را فراهم میکند. در این اسکریپت نیز اگر شما به آن توجه داشته باشید، اشاره به پکیج های دیگری مثل dbmsutil.sql , dbmssql.sql در آن وجود دارد که در حقیقت شرح و تعریفی برای پکیجهای سرور اراکل که شامل Procedures, Functions, Type ها هستند می‌باشد. یک سری دیگر از اسکریپت ‌هایی که توسط Catproc.sql صدا میشوند، اسکریپت هایی هستند که با پسوند plb. ختم میشوند مانند Prvutil.plb, prvtpipe.plb. این کدها، کدهای PL/SQL می‌باشند که کد گذاری شده اند تا شما از منطق به کار رفته در آن مطلع نشوید.
    تمام اسکریپت های بالا در شاخه rdbms/admin قابل دسترسی میباشد.
    نکته : شما نمی‌توانید بدون ایجاد Database دیکشنری دادهها را ایجاد کنید. به این دلیل که شما به عنوان sys as sysdba این اسکزیپت ها را اجرا می‌کنید که با ایجاد پایگاه به وجود می‌آیند.


    Key Data Dictionary Components And Contents
    دیکشنری داده‌ها در اراکل دارای دو جزء اصلی می‌باشد. یکی Base Table ها وذیگری User Accessible Views . شما باید آگاه باشید که هیچگاه مستقیما با Base Table ها کار نکنید و سعی کنید که با User Accessible View ها کار کنید. در زیر شرحی بر عملکرد این دو جزء خواهیم داشت.


    Base Tables
    داده‌های درون دیکشنری داده‌ها در درون Table هایی در زمان ایجاد DataBase ذخیره می‌شوند. که به این Table ها Base Table گفته می‌شود.این table ها که به صورت $X می‌باشند و در درون System Table Space ساخته میشوند و اطلاعات و داده‌های مربوط به Base Table ها را ذخیره می‌کنند. این table ها در زمان اجرای اسکریپت Catalog.sql ساخته می‌شوند. تنها کاربر Sys دسترسی مستقیم به این اطلاعات دارد. بهتر است که تا حد ممکن از وصل شدن به اراکل با کاربر sys خودداری کنید و همچنین از دادن مجوز به کاربران دیگر برای دسترسی به دیکشنری خودداری کنید.


    User Accessible Views
    در زمانی که Base Table ها ساخته می‌شوند، اسکریپت Catalog.sql یک سری View های قابل دسترس برای کاربران که توسط آن می‌توانند به اطلاعات Data Dictionary دسترسی پیدا کنند. دیکشنری داده‌ها که ما به آن اشاره می‌کنیم، همان اشاره به View های موجود می‌باشد نه Table های اصلی دیکشنری داده‌ها.
    اراکل اصولا به صورت گسترده‌ای از دیکشنری داده‌ها استفاده می‌کند. از تشخیص درستی ارتباط یک کاربر که به پایگاه داده متصل می‌شود تا تائید وجود Table هایی که توسط کاربر مورد پرس و جو قرار می‌گیرند تا مسائلی از قبیل رد یابی برای وجود Index هایی که بر روی Table ها برای افزایش کارایی سیستم وجود دارد، همه وهمه به نحوی با Data Dictionary در ارتباط می‌باشند و از آن استفاده می‌کنند. در یک دسترسی به Data Dictionary و گرفتن اطلاعات راجع به هر چیز نتایج در داخل Dictionary Cache که در داخل SGA که قبلا در بحث معماری اراکل به شرح آن پرداختیم Cache می‌شود.


    Available Dictionary Views
    اطلاعات بسیار زیادی راجع به موجودیت‌ها و داده‌های موجود در پایگاه داده‌ها در تعدادی محدود از Table ها که کاربر Sys مجوز دسترسی به آن را دارد وجود دارد. اراکل به شما اجازه دسترسی مستقیم به این Table ها را به طور مستقیم نمی‌دهد. در مقابل چندین View برای دسترسی به این اطلاعات وجود دارد. این View ها در اراکل به عنوان دیکشنری داده معرفی شده است. View های دیکشنری داده‌ها به شما کمک می‌کند تا احتیاج به دسترسی مستقیم به Table های دیکشنری داده‌ها نداشته باشید.
    این حفاظ محکم برای دیکشنری داده به دو دلیل دارای اهمیت می‌باشد. دلیل اول حساس بودن Table هایی می‌باشد که کاربر Sys مالکیت آنها را دارد. از بین رفتن یا خراب شدن این Table ها به هر دلیل می‌تواند باعث خرابی شدید در پایگاه داده شما شود و یا حتی آن را غیر قابل استفاده کند. دلیل دوم اینکه استفاده از View ها بسیار قابل فهم تر و قابل استفاده تر می‌باشد.


    مثال: به عنوان مثال اگر شما با کاربر Scott و از طریق کنسول SQL به اراکل متصل شده باشید با دستور زیر میتوانید Table هایی که کاربر Scott مالکیت آنها را دارا می‌باشد را مشاهده کنید.


    ;SQL>select table_name from user_tables


    TABLE_NAME
    ----------------------
    BONUS
    DEPARTMENT
    DEPT
    DUMMY
    EMP
    EMPLOYEE
    PRICES
    SALGRADE


    بنابراین با این select یا همان پرس و جو بر روی این View اسم تمام Table هایی را که Scott مالکیت آنها را دا شت بدست آوردیم. دو نکته بسیار مهم وجود دارد که شما باید به آن توجه داشته باشید. اول عنوان View میباشد و دوم حوزه پرس و جوی شما بر روی View که در اینجا محدود به کاربر Scott میشود. پس به دو عنوان View Topic و View Scope توجه داشته باشید.


    Discerning A Dictionary View's Scope
    View های دیکشنری داده بسته به مجوز کاربر برای دیدن آنها به سه دسته مختلف تقسیم میشوند. در زیر به شرح این سه دسته خواهیم پرداخت.


    User
    در این View ها شما می‌توانید Object هایی از پایگاه داده را که شما مالک آن هستید را مشاهده کنید. این View ها کمترین حوزه کاری را در بر می‌گیرند به این دلیل که فقط Object هایی را که در درون Schema کاربری شما هستند نمایش داده می‌شوند. بنابراین اگر شما با کاربر John به پایگاه متصل شوید با پرس و جو از دیکشنری داده‌ها نمی‌توانید Table های مربوط به Scott را مشاهده کنید.


    All
    این قسمت شامل View هایی می‌شود که شما مالک آنها نمی باشید ولی به آنها دسترسی دارید. این View ها Scope وسیعتری را نسبت به User Views در بر دارد زیرا شامل Object هایی می‌شود که شما مالک آنها هستید و Object هایی که به آن مجوز دسترسی دارید. برای دسترسی به یک Object در پایگاه داده‌ها باید یکی از شرایط زیر را داشته باشد.
    1- شما خالق آن Object باشید.
    2- مالک یک Object در پایگاه داده به شما مجوز دسترسی داده باشد.
    3- به کاربر Public مجوز دسترسی به Object های مورد نظر داده شده باشد.
    نکته: کاربر Public یک کاربر خاص می‌باشد که در آینده بیشتر راجع به آن صحبت خواهیم کرد. اگر روی یک Object به این کار بر مجوز داده شود آنگاه تمام کاربران به آن Object دسترسی خواهند داشت.


    DBA
    این View ها به شما اجازه دیدن تمام Object های داخل پایگاه داده شما را می‌دهد.شما باید برای دستزسی به DBA Views باید مجوز Select_Catalog_Role را داشته باشید.
    Identifying a Dictionary View's Topic
    قسمت دوم در دیکشنری داده که بسیار حائز اهمیت می‌باشد عنوان View های موجود در دیکسنری داده می‌باشد که در قسمت پایین به شرح آنها خواهیم پرداخت.
    USER_OBEJECTS, ALL_OBJECTS, DBA_OBJECTS
    اطلاعاتی در مورد object هایی که کاربر مالک آنهاست یا اطلاعات در مورد object هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام object های درون یک پایگاه را به شما می‌دهد.
    USER_TABLES, ALL_TABLES, DBA_TABLES
    اطلاعاتی در مورد Table هایی که کاربر مالک آنهاست یا اطلاعات در مورد Table هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام Table های درون یک پایگاه را به شما می‌دهد.
    USER_INDEXES, ALL_INDEXES, DBA_INDEXES
    اطلاعاتی در مورد Index هایی که کاربر مالک آنهاست یا اطلاعات در مورد Index هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام Index های درون یک پایگاه را به شما می‌دهد.
    USER_VIEWS, ALL_VIEWS, DBA_VIEWS
    اطلاعاتی در مورد View هایی که کاربر مالک آنهاست یا اطلاعات در مورد View هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام View های درون یک پایگاه را به شما می‌دهد.
    USER_SEQUENCES, ALL_SEQUENCES, DBA_SEQUENCES
    اطلاعاتی در مورد Sequence هایی که کاربر مالک آنهاست یا اطلاعات در مورد Sequence هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام Sequence های درون یک پایگاه را به شما می‌دهد.
    USER_USERS, ALL_USERS, DBA_USERS
    اطلاعاتی در مورد کاربری که به پایگاه متصل است یا تمامی کاربرانی که در پایگاه تعریف شده‌اند را میتوانید با پرس وجو از View های موجود کسب کنید.
    USER_CONSTRAINTS, ALL_CONSTRAINTS, DBA_CONSTRAINTS
    اطلاعاتی در مورد Constraint هایی که کاربر مالک آنهاست یا اطلاعات در مورد Constraint هایی که کاربر به آنها دسترسی دارد و یا اطلاعات در مورد تمام Constraint های درون یک پایگاه را به شما می‌دهد.
    USER_CONS_COLUMNS, ALL_CONS_COLUMNS, DBA_CONS_COLUMNS
    اطلاعاتی را در مورد ستونهایی ازTable هایی که شما مالک آن هستید یا مجوز دسترسی دارید یا تمام ستونهای موجود درTable های یک پایگاه به شما می‌دهد.
    USER_IND_COLUMNS, ALL_IND_COLUMNS, DBA_IND_COLUMNS
    اطلاعاتی راجع به ستونهایی از Table ها که دارای Index می‌باشند و شما مالک آنها می‌باشید و یا مجوز دسترسی دارید و یا اطلاعاتی راجع به تمام Index های موجود در پایگاه داده بدست آورید.
    USER_TAB_COLUMS, ALL_TAB_COLUMNS, DBA_TAB_COLUMNS
    اطلاعات در مورد ستونهای Table هایی که شما مالکیت آنه را دارید و یا ستونهایی که مجوز دسترسی دارید یا تمام ستونهای پاگاه داده را به شما می‌دهد.
    USER_ROLES, ALL_ROLES, DBA_ROLES
    با پرس و جو از View های بالا می‌توانید اطلاعاتی راجع به Role هایی که دارید و یا Role های کاربرانی که شما مجوز دیدن آنها را دارید و یا Role های تمام کاربران پیگاه داده اراکل مشاهده کنید.
    USER_TAB_PRIVS, ALL_TAB_PRIVS, DBA_TAB_PRIVS
    اطلاعاتی در مورد مجوز دسترسی بر روی Object هایی که شما مالک آنها می‌باشید و یا Object هایی که شما برای دیدن مجوز دسترسی آنها دسترسی دارید و یا اطلاعاتی در مورد مجوز دسترسی بر روی کل Object های Database به شما می‌دهد.
    USER_SYS_PRIVS, ALL_SYS_PRIVS, DBA_SYS_PRIVS
    علاوه بر در برگرفتن حالت قبل System Previlage های پایگاه را نیز به شما نمایش می‌دهد.
    USER_SOURCE, ALL_SOURCE, DBA_SOURCE
    اطلاعاتی را در مورد سورس کدهای برنامه PL/SQL که کاربر مجوز دسترسی به آنها را دارد و یا به او مجوز داده شده و یا تمامی سورس کدهای موجود در اراکل را می‌دهد.
    USER_TRIGGERS, ALL_TRIGGERS, DBA_TRIGGERS
    اطلاعاتی در مورد Trigger هایی که کاربر مالک آنهاست یا مجوز دسترسی دارد یا تمام Trigger های موجود در پایگاه به شما می‌دهد.
    DBA_PROFILES
    اطلاعاتی را درباره پروفایل کاربران در اراکی به شما می‌دهد شما از پروفایل کاربران به منظور محدود کردن دسترسی آنها از منابع فیزیکی سیستم استفاده می‌کنید مانند محدود کردن استفاده از حافظه.
    DBA_TABLESPACES,DBA_TS_QUTAS
    اطلاعات در مورد Tables Space ها و سهمیه استفاده کاربران در هر Table Space را نمایش می‌دهد.
    DBA_DATAFILES, DBA_SEGMENT, DBA_EXTENTS, DBA_FREE_SPACE

    اطلاعات جامعی را در مورد Data file های پیگاه داده اراکل به شما میدهد.
    [CENTER]:1205219183:
    [B][FONT=Tahoma][SIZE=3][COLOR=#0000ff][URL="http://kiansat3.ir/showthread.php?t=47100"]فروش جدیدترین و کاملترین پکیج نرم افزاری و بازی و آموزشی و تعمیراتی انواع موبایل ها بصورت کاملا فارسی به همراه چندین اشانتیون[/URL][/COLOR][/SIZE][/FONT][/B]
    [B]:1205219183::فقط خودت باش نه کسی دیگر!
    :lay:
    [/B][/CENTER]

  2. نمایش تمام تشکر های Borna66 در این پست:

    ARIYA (12th May 2012)

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Copyright ©2000 - 2013, Jelsoft Enterprises Ltd کیــــــــــان ستـــــــــــ ...® اولین و بزرگترین سایت فوق تخصصی الکترونیک در ایران



Cultural Forum | Study at Malaysian University