مقاله شناخت و بررسی پایگاه داده Oracle

 مقاله شناخت و بررسی پایگاه داده Oracle

قیمت :   ۷۵۰۰ تومان ( هفت هزار و پانصد تومان )

تعداد صفحات:

۷۴( هفتاد و چهار )

دسته :

کامپیوتر و IT

نوع فایل:

Word

توضیحات:

قابل استفاده بعنوان پروژه پایانی

فهرست مطالب :

مقدمه

بررسی پایگاه داده Oracle

لایه منطقی

فایل پارامتری INIT.ORA

راه اندازی مجدد پایگاه داده

نحوه ایجاد یک پایگاه داده Oracle

ایجاد شاخص

اعمال یکتایی

ایجاد شاخص یکتا

ایجاد شاخص نقش بیتی (Bitmap

تنوع در ستون های شاخص شده

بازسازی شاخص

فضاهای جدولی وساختار پایگاه داده ها

امنیت در پایگاه داده Oracle

مدیریت رمزها

ایجاد نقش برای کاربر

بررسی عملکرد کاربران‌

شبکه در پایگاه داده Oracle

تغییرات آنلاین جدولها با استفاده از قابلیت Edition Base Redefinition

منابع

 

مقدمه :

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

بررسی پایگاه داده Oracle :

لایه فیزیکی بانک اطلاعاتی ORACLE از سه نوع فایل تشکیل شده است:
را Data File می نامند. از طریق این فایل ها امکان نگهداری اشیاء Schema مانند جداول، Viewها، Index ها و…. در بانک اطلاعاتی وجود دارد. در بانک اطلاعاتی ORACLE برحسب نیاز می توان از یک تا صدها Data File را ایجاد و مورد استفاده قرار داد.rیک یا چند Data File : تنها واحد ذخیره سازی داده ها در بانک اطلاعاتی
این فایل ها یک بانک اطلاعاتی را به واحدهای کوچکتر برای مدیریت تقسیم می کنند. در واقع بانک اطلاعاتی ORACLE از طریق این فایل ها به واحدهای کوچکتر که امکان توزیع آنها بر روی دیسکهای مختلف فراهم می شود، تقسیم می شود. توزیع اطلاعات بین چند Data File، اثر قابل توجهی بر کارآیی سیستم خواهد گذاشت. ازطریق این فایل ها اطلاعات مربوط به یک جدول را می توان در بیش از یک Data File توزیع نمود. همچنین امکان ذخیره سازی اطلاعات مشترک مربوط به چند جدول در یک Data File، ممکن می باشد. Data Fileها در بانک اطلاعاتیORACLE مستقیماً مورد دستیابی قرار نمی گیرند، بلکه از طریق یک لایه منطقی به نام Tablespace مدیریت می شوند. هر Data File تنها می تواند به یک Tablespace تعلق داشته باشد. امکان توسعه فضاهایData File ها بعد از ایجاد آنها در بانک اطلاعاتی وجود دارد.
در واقع Data File

  • تقسیمات فیزیکی بانک اطلاعاتی اراکل است.
  • تنها واحد ذخیره سازی داده ها در بانک اطلاعاتی است.
  • هر Data File می تواند با یک نام مشخص در یک مسیر مشخص بر روی دیسک ایجاد شود.
  • هر Data File در زمان ایجاد با یک فضای اولیه مشخص ایجاد می شود. این فضای فیزیکی اولیه که در اختیار Data File قرار می گیرد از دید سیستم عامل یک فضای مصرفی و از دید بانک اطلاعاتی اراکل یک فضای رزرو شده اولیه برای ذخیره داده ها می باشد که می تواند در صورت نیاز رشد یابد.
  • هر Data File برای بانک اطلاعاتی اراکل همانند یک پارتیشن برای سیستم عامل می باشد.
  • هر Data File یک فضای فیزیکی بهم پیوسته بر روی یک پارتیشن سیستم عامل می باشد. بنابراین نمی توان Data File ای ایجاد نمود که بخشی از

    فضای خود را از یک پارتیشن و بخشی از پارتیشن دیگر سیستم عامل دریافت کرده باشد.

هنگام خرابی سیستم، امکان Recovery نمودن بانک اطلاعاتی را ممکن می سازند. این فایل ها تمامی تغییرات اعمال شده در بانک اطلاعاتی را نگهداری می کنند. به کمک این فایل ها می توان به اعمال مجدد تغییراتی پرداخت که کاربر پس از اعمال آن تغییرات، به علت خراب شدن سیستم فرصت نوشتن آنها را در Data Fileها نداشته است.rدو یا چند Redo Log File : این فایل ها، اطلاعاتی را نگهداری می کنند که
فیزیکیData Fileها و Redo Log Fileها هستند که برایStart شدن یک Instance بانک اطلاعاتی بکار می روند. این اطلاعات، برای ایجاد یک Instance مورد نیاز می باشند. اگر این فایل ها خراب شده و یا از بین رفته باشند، امکان Start شدن بانک اطلاعاتی به هیچ وجه ممکن نمی باشد. به علت اهمیتی که این فایل ها دارند، مدیر بانک اطلاعاتی باید حفاظت های لازم را بعمل آورد. در ORACLE مکانیزمی پیش بینی شده است که این فایل ها را می توان در چند نسخه بصورت Mirror ایجاد نمود، در آن صورت در زمان Start شدن بانک اطلاعاتی تمامی این فایل ها در اختیار بانک قرار گرفته و بطور همزمان محتویات درون آنها تغییر می یابد، بنابراین اگر یکی از Control File ها از بین رفته باشد، امکان Start نمودن بانک از سایرفایل های موجود، ممکن می شود.rیک یا چند Control File: Control Fileها حاوی اطلاعاتی چون مکان

Control File شامل اطلاعاتی مربوط به :

  • نام بانک اطلاعاتی
  • تاریخ و زمان ایجاد بانک
  • محل فیزیکی Data File ها
  • محل فیزیکی Redo Log File ها


لایه منطقی

لایه منطقی بانک اطلاعاتی اراکل، از عناصر زیر تشکیل شده است:
• یک یا چند Tablespace

  • اشیاء Schema(شامل جداول، Viewها، Index ها، Database Linkeها،…(

Data File ها به صورت فیزیکی و Tablespace ها به صورت منطقی ، یک بانک اطلاعاتی را به واحدهای کوچکتر جهت مدیریت تقسیم می کنند.
Tablespace
واحد منطقی تقسیمات بانک اطلاعاتی را Tablespace می نامند. از طریق Tablespace ها می توان بانک اطلاعاتی را به واحدهای کوچکتر جهت مدیریت آسانتر تقسیم نمود. مهمترین Tablespace در بانک اطلاعاتی اراکل SYSTEM می باشد. این Tablespace تمامی جداول Data Dictionary را نگهداری می کند. مدیر بانک اطلاعاتی اراکل باید از قرار دادن جداول سایر کاربران در این Tablespace جلوگیری کند. زیرا این Tablespace به اندازه کافی بزرگ بوده و قرار دادن اشیاء سایر کاربران باعث کاهش کارایی سیستم می گردد.
در واقع Tablespace

  • تقسیمات منطقی بانک اطلاعاتی اراکل است.
  • وظیفه Tablespace ها در بانک اطلاعاتی اراکل بهم پیوسته کردن فضای فیزیکی نابهم پیوسته Data File ها و ایجاد یک فضای فیزیکی بهم پیوسته بزرگتر برای بانک اطلاعاتی است.
  • تمامی پارامترهای ذخیره سازی داده ها، در بانک اطلاعاتی فضای مصرفی مورد نیاز خود را از Tablespace ها می گیرند.

Listener
پردازشی بر روی Server جهت گوش دادن به درخواستهای ارتباطی از طرف Client به Server و مدیریت ترافیک Server. هرگاه یک Client یا یک Server (همانند یک Client) درخواست ارتباط با Server را داشته باشد یک Listener ارتباط را به عهده دارد. اگر اطلاعات Client منطبق بر اطلاعات Listener باشد آنگاه Listener مجوز ارتباط با Server را صادر می نماید. به ازای هر پروتکل ارتباطی یک Listener جهت برقراری ارتباط با Server مورد نیاز می باشد.
دسترسی به بانک اطلاعاتی

کاربران بانک اطلاعاتی برای دستیابی به داده های بانک نیاز به برقراری ارتباط با Server بانک اطلاعاتی را دارند.

Server بانک اطلاعاتی با ایجاد یک Session ارتباط یک کاربر را با بانک حفظ کرده و پاسخگویی به درخواست آن کاربر را انجام می دهد. هر Server اراکل از دو ساختار فیزیکی و Instance تشکیل گردیده است. کاربران در زمان برقراری ارتباط با بانک به Instance بانکم اطلاعاتی وصل شده و ازطریق Instance درخواستها در بانک اطلاعاتی پردازش می گردد. در معماری Client/Server اراکل از یک لایه میانی به نام SQL*NET برای برقراری ارتباط استفاده می شود.

SQL*NET ابزاری بالقوه برای برقراری ارتباط با بانک اطلاعاتی می باشد و زمانی بالفعل می گردد که پارامترهای پیکربندی لازم برای این نرم افزار لایه میانی مشخص شود.

فایل پارامتری INIT.ORA

هر Instance باید یک فایل پارامتری که آن را INIT.ORA می نامند برای تنظیم پارامترها و وضعیت بانک اطلاعاتی خود داشته باشد. این فایل پارامتری در زمان Start شدن Instance توسط ابزارهای مدیریتی خوانده می شود. بعد از آنکه Instance ، Start شد این فایل پارامتری دیگر مورد نیاز نمی باشد تا دفعه بعد که Instance دوباره Start می شود. این فایل پارامتری باید بر روی کامپیوتری قرار داشته باشد که ابزارهای مدیریتی Instance در آنجا قرار گرفته اند.

فایل پارامتری Init.Ora در زمان ایجاد بانک اطلاعاتی از طریق برنامه گرافیکی Database Configuration Assistant ایجاد و تمامی پارامترهای بانک اطلاعاتی در آن ثبت می شود.

هر بانک اطلاعاتی فایل پارامتری مختص به خود را دارد که برای تنظیم همان بانک اطلاعاتی مورد استفاده قرار می گیرد.

فایل پارامتری INIT.ORA برای مشخص کردن موارد زیر مورد استفاده قرار می گیرد:
• میزان فضای قابل تخصیص به ساختار حافظه ای اراکل.
• Rollback Segment هایی که در Instance مورد استفاده قرار می گیرند.
• تنظیمات سایر زبانهایی که پشتیبانی می شود.

  • تنظیمات اراکل برای حالت Parallel Server .
  • بانک اطلاعاتی و Control File های آن که مورد استفاده هستند.
    • زمانی که Checkpoint اعمال می شود.
  • محدودیت برای ساختار های کنترلی بانک اطلاعاتی.
  • تنظیمات راه اندازی (MTS) Multi-Threaded Server.
  • مقدار دهی پردازش های زمینه غیر اجباری.
  • نام و مسیر فایل هایی که بر روی سیستم عامل اطلاعات Trace ، Dump و سایر فایل ها را نگهداری می کنند.

به جای فایل پارامتری INIT.ORA در Oracle 10g از یک فایل به نام SPFILEsid.ORA استفاده می شود. این فایل به صورت باینری بوده و امکان تغییر آن از طریق Editor های سیستم عامل وجود ندارد. برای تغییر این فایل باید به بانک اطلاعاتی وصل شده و از طریق دستور ALTER SYSTEM پارامترهای آن را تغییر داد. به عنوان مثال برای تغییر اندازه ناحیه shared pool از SGA به اندازه ۵۰M دستور به صورت زیر است:

ALTER SYSTEM

SET shared_pool_size=50M;

این فایل پارامترهای همواره با نام INIT.ORA مشخص می شود. اما نام Instance نیز بخشی از نام این فایل را تشکیل می دهد. این فایل پارامتری توسط Editor های سیستم عامل مانند Notepad و Wordpad قابل مشاهده و تغییر می باشد.
ترتیب پارامترها و حروف کوچک و بزرگ بودن هیچ حساسیتی را به همراه ندارد. بیش از ۱۸۰ پارامتر در فایل INIT.ORA قابل تعریف می باشد. اکثر این پارامترها در محیطهایی که اراکل در آن اجرا می شود، یکسان است. تعداد این پارامترها از یک Version بانک اطلاعاتی به Version بالاتر همواره افزایش می یابد.
یک فایل پارامتری نمونه، همواره با اراکل به نام INIT.ORA وجود دارد. از این فایل پارامتری می توان برای Start کردن بانک اطلاعاتی استفاده کرد. می توان از چندین فایل

در Oracle 10g به صورت پیش فرض ابتدا جستجو برای وجود فایل SPFILEsid.ORA انجام می شود. اگر این فایل در مسیر مطلوب وجود نداشته باشد، آنگاه جستجو برای وجود فایل INIT.ORA و start بانک از طریق این فایل انجام می شود.
پارامتری برای یک Instance واحد استفاده کرد. اما در هر بار Startup بانک اطلاعاتی تنها یکی از این فایل های پارامتری قابل استفاده است. اگر بخواهیم بانک اطلاعاتی با تنظیمات دیگری Start شود ابتداء باید بانک را Shut Down و با فایل پارامتری دیگر مجدداً آنرا Start کرد.

در Oracle 9i و Oracle 10g به جای Init.Ora از یک فایل به نام SPFILEsid.ORA استفاده می شود. این فایل به صورت بانیری بوده و تنها از طریق Instance بانک اطلاعاتی قابل تغییر می باشد.

بعضی از پارامترها دارای مقدار Minimum هستند که اگر مقداری کمتر از آن در نظر گرفته شود، Instance ، Start نمی شود. تنها پارامتر اجباری در فایل INIT.ORA ، پارامتر CONTROL_FILES است که نام و مسیر Control File های Instance را مشخص می کند. Control File در زمان Startup برای مشخص کردن نام و محل Data File ها و Redo Log File های بانک اطلاعاتی مورد استفاده قرار می گیرد
پایگاه داده اراکل متشکل از قسمتهای مختلفی می‌باشد. بعضی از آنها ساختارهای حافظه میباشند و بعضی دیگر پردازشهایی در پشت صحنه می‌باشند که دقیقا وظایف خاصی را انجام می‌دهند و منابع به کار گرفته شده توسط هارد دیسک برای ذخیره کردن داده های یک سازمان و همچنین ابزارهایی طراحی شده برای بازیافت اطلاعات برای جلوگیری از بین رفتن آنها در اثر اشتباهات و خراب شدن دیسک میباشد. به مجموعه ساختار های حافظه و پردازشهای مربوط به انجام وظایف Oracle Instance می‌گویند. و به مجموعه این Instance و بقیه اجزاء Oracle Database میگویند.

SGAو PGA

Oracle Server Architecture

Memory Architecture

SGA : Oracle’s Primary Memory Component

در این بخش ابتدا به ساختارهای حافظه در یک Oracle Instance می‌پردازیم. به طور کلی دو ساختار اصلی از حافظه در اراکل وجود دارد. اولین قسمت و مهمترین قسمت System Global Area یا SGA میباشد . بیشتر اوقات وقتی از حافظه صحبت میشود منظور همان SGA میباشد. خود SGA تشکیل شده از قسمتهای مختلفی از جمله Buffer Cache, Shared Pool, Redo Log Buffer می‌باشد. البته اجزای دیگری در این قسمت وجود دارد که در فرصت مناسب به شرح آنها خواهیم پرداخت.
Buffer Cache

این ساختار حافظه تشکیل شده از بافرهایی به اندازه های یکسان که به آن Database Block گفته میشود میباشد. که کار آن ذخیره داده هایی که است که توسط Sql به سمت کاربر بر میگردد. به طور کلی شما می تواننید Buffer Cache را را مجموعه ای از بافرها با سایزهای یکسان تصور کنید. به خاطر همین است که وقتی شما پارامترهای یک Database را تنظیم می‌کنید تعداد بافرها را مشخص می‌کنید نه سایز آن را به بایت. Datablock واحدی مجزا از حافظه در اراکل است که میتواند چندین سطر از یک Table را در خود جای دهد.

Buffer Cache دارای دو وظیفه اصلی می‌باشد. یکی برای افزایش کارایی اراکل برای جواب دادن به Select های تکراری از سمت کاربر و وظیفه دوم سرعت بخشیدن به تغییراتی است که کاربر در Database می‌دهد. این تغییرات ابتدا در حافظه ثبت شده و بعدا بر روی دیسک ذخیره میشود.

Shared Pool

این ساختار تشکیل شده از سه قسمت می‌باشد که وجود دو قسمت آن لازم می‌باشد . قسمت اول Library Cache می‌باشد که محل نگهداری دستورهای تجزیه شده Sql و نگهداشتن آنها در حافظه برای استفاده مجدد میباشد و قسمت دوم Dictionary Cache می‌باشد که گاهی به آن Row Cache نیز گفته میشود و وظیفه آن نگهداری اطلاعات اخیر خوانده شده از Data Dictionary می‌باشد که به عنوان مثال شامل Usernames, Password, Previlages میباشد.

Redo Log Buffer

این قسمت تغییرات ایجاد شده توسط DML و توسط کاربر ایجاد شده است را در خود نگهداری می‌کند. دستورهای DML شامل Update, Delete, Insert, Drop و… که توسط کاربر اجرا شده و باعث تغییرات در Database, Tables, Rows می‌شود. این تغییرات به صورت Redo Entry در حافظه نگهداری و سپس بر روی دیسک ذخیره میشوند که توسط آنها می‌توان اشتبا‌هاتی را که کاربران انجام می‌دهند و باعث از دست دادن اطلاعات می‌شود را توسط این Redo Entry ها بازیافت نمود.

The PGA : The Oracle User’s Memory Area

ساختار دیگر حافظه در اراکل Program Global Area نام دارد. که کار آن نگهداشتن مقادیر متغییرهای تعریف شده توسط کاربران میباشد. اطلاعات هر کاربر نمی‌تواند Share باشد و باید فضای مخصوص به خودش را داشته باشد چون مقادیر واقعی متغییرهای درخواست شده توسط کاربر در این قسمت یافت میشود.
Reading Data From Disk

پردازش سرور

همیشه در اراکل چندین پردازش بطور همزمان با یکدیگر در حال اجرا شدن می‌باشند که شامل Background, Server, And Network Process می‌باشند که مهمترین آنها از نظر تاثیر گذار بودن بر کار کاربر server process می‌باشد که که اطلاعات در خواستی یک کاربر را از روی دیسک خوانده و آن را به Buffer Cache منتقل می‌کند. به طور کلی دو راه برای مدیران اراکل برای پیاده سازی Server Process وجود دارد. Shared Server And Dedicated Server

Dedicated Server

در این روش برای هر کاربری که به اراکل متصل می‌شود.یک اداره کننده Handler برای پردازشهای کاربر در نظر گرفته می‌شود که اصطلاحا به آن Genie Handler می‌گویند و به ازای هر کاربر که به اراکل متصل می‌شود یک Handler نیز ایجاد می‌شود که مسئولیت خواندن داده‌های درخواست شده از طرف کاربر و منتقل کردن آنها بر روی Buffer Cache را دارند و هر کاربر Handler مخصوص خودش را خواهد داشت. همچنین در این روش نیاز بیشتری به حافظه و استفاده از پردازشگر می‌باشد. اگر منابع سخت افزاری به اندازه کافی موجود باشد این روش انتخاب بسیاری از مدیران شبکه می‌باشد.

Shared Server

در این روش بر خلاف روش قبل تعداد کمی Server Process در اراکل در حا اجرا شدن می‌باشند که به درخواستهای کاربران پاسخ می‌دهند. در این روش چندین کاربر با یک Server process اداره می‌شوند. و ارکل این عمل را با استفاده از یک Network Process به نام Dispatcher انجام می‌دهد. در خواست هر کاربر به یک Dispatcher اتصال می‌یابد و توسط آن به درخواستهای کاربران جواب داده می‌شود. Dispatcher تمام درخواستها را در یک صف قرار داده و به آنها جواب می‌دهد. این مساله به معنی صرفا یک Dispatcher در کل اراکل نمی‌باشد. در این روش نیز شما قادر خواهید بود که Server Process And Dispatcher های متعددی را ایجاد نمایید. در این روش مصرف سخت افزاری کمتری نسبت به روش قبل لازم ‌می‌باشد. در Dedicated Server برای هر کاربر که به پایگاه متصل می‌شود زمانی برای ایجاد یک Server Process لازم می‌باشد در حالی که در Shared Server، کاربران با استفاده از سرویس گرفتن از طریق یک Dispatcher موجود و یک Server Process در زمان صرفه جویی می‌کنند. به همین دلیل در پایگاه‌هایی که تعداد متعددی از کاربران به آن متصل می‌شوند استفاده از این روش بهتر می‌باشد.

User session Information

user session برای یک کاربر در اراکل در Shared pool ذخیره میشود اگر DBA اراکل را در حالت Shared Server تنظیم کرده باشد. در حالتی که اراکل در حالت Dedicated Server می‌باشد، User Session در PGA نگهداری می‌شود.

Structures That Connect Users to Oracle Servers

اولین مرحله ای که درخواست کاربر به آن می‌رسد Oracle Listener می‌باشد که بر روی پورت خاصی به درخواستهای کاربران گوش می‌کند. وقتی که درخواست کاربر به اراکل Listener رسید، امکان انجام شدن دو عمل وجود دارد. اگر اراکل از Dedicated server استفاده می‌کند، Listener به اراکل دستور ایجاد یک Dedicated Server را میدهد و سپس درخواست کاربر را به آن واگذار می‌کند. اگر Multi Thread Server مورد استفاده اراکل باشد، Listener درخواست کاربر را به به یک پردازشگر که همان Dispatcher Process می‌باشد واگذار می‌کند. بعد از انجام هر کدام از اعمالی که ذکر کردم، Listener دیگر نقشی نخواهد داشت و آماده قبول کردن درخواست بعدی از کاربر می‌باشد.

وقتی که درخواست کاربر به اراکل میرسد اگر اراکل در حالت MTS باشد، وقتی که کاربر درخواستی را انجام میدهد، Dispatcher درخواست کاربر را در یک صف به نام Request Queue یا همان صف درخواست کاربران قرار می‌دهد. Request Queue در System Global Area قرار دارد که درخواستها را به ترتیب جواب می‌دهند و برای اینکار از الگوریتم معروف First-In-First-Out استفاده می‌کند.

هر Dispatcher در SGA صف مربوط به خود رادارد و به درخواستهای صف مربوط به خودش پاسخ میگوید وجواب پاسخها نیز در بازگشت به کاربر مربوطه بر میگردد.

نحوه نصب Oracle :

قبل از نصب Oracle Database باید سیستم عامل را نصب و آماده کنیم. در صورتی که قبلاً سیستم عامل خود را نصب و آماده کرده اید می توانید مستقیما به بخش ” ایجاد گروه های کاری و انجام تنظیمات مورد نیاز” بروید و تنظیمات لازم را انجام دهید.

در صورت نیاز می توانید Oracle Enterprise Linux را از http://www.oracle.com/technologies/linux/linux.html دانلود کنید (آخرین…

(فایل کامل این پروژه ۷۵( هفتاد و پنج ) صفحه word همراه با منابع و ماخذ می باشد.)

در تمامی ساعات شبانه روز >> پرداخت آنلاین و دانلود آنی فایل پس از پرداخت. 


 مقاله شناخت و بررسی پایگاه داده Oracle

توجه مهم :

*دوست عزیز در صورت نداشتن رمز پویا یا قطع بودن درگاه بانکی ، لطفا نام پروژه درخواستی خود را جهت هماهنگی برای دریافت شماره کارت واریزی و دریافت لینک دانلود، به واتساپ پشتیبانی سایت  ۰۹۳۹۲۷۶۱۶۳۰  ارسال کنید *(از ساعت ۸ الی ۲۳)

Related posts

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *