DATABASE


به انجمن دیتابیس اوراکل (گروه کاربران اوراکل ایران) خوش آمدید.

همه چیز در پورتال شما در ارتباط با دیتابیس اوراکل می باشد. آیا شما یک مدیر پایگاه داده/ اپلیکیشن سرور یا توسعه دهنده پایگاه داده هستید؟ ما شما را تحت پوشش قرار داده ایم ِ آیا موضوع شما طراحی، تست، ابزار پایگاه داده، یا ابزار اپلیکیشن سرور می باشد؟ شما در جای مناسب هستید ماموریت ما این است که به شما یک پلتفرم بدهیم که بتوانید مبادله ایده ها، بهترین شیوه ها و فرصت ها را در پیشبرد اهداف خود در دنیایی که بصورت مداوم در حال تغییر پایگاه داده اوراکل هستیم را انجام دهید. در حال حاضر، در ایران اکثر برنامه‌نویسان و مدیران بانک اطلاعاتی اوراکل در شرکت‌ها و سازمان‌های بزرگ مشغول به کار بوده و از لحاظ جایگاه و مزایای شغلی نسبت به سایر کارشناسان در سطح مطلوب‌تری قرار دارند. از جمله شرکت‌ها و سازمان‌هایی که از بانک اطلاعاتی اوراکل استفاده می‌کنند می‌توان موارد زیر را برشمرد:

  • تمامی بانک‌ها و موسسات مالی و اعتباری
  • اپراتورهای تلفن ثابت و همراه از قبیل مخابرات، ایرانسل، رایتل و...
  • مراکز نظامی و انتظامی
  • شرکت‌های ارائه دهنده خدمات اینترنتی
  • اکثر ادارات، شرکت‌ها و سازمان‌های دولتی و خصوصی از قبیل نیروگاه‌ها، پالایشگاه‌ها، پتروشیمی، شرکت‌های نفت و...

تازه ترین وبلاگ های کارشناسان این صنعت را بررسی کنید. برای بازدید از وبلاگ نویسنده بر روی عنوان کلیک کنید.

آیا می خواهید وبلاگ خود را در اینجا مشاهده کنید؟ متن درخواست خود را بفرستید saeedhassanpour@iranoug.org

تقویم رویدادها

جلسه های آینده:

  • در تاریخ 1396/07/25
  • در تاریخ 1396/08/23

    وبینار:

      کتابخانه

      مطالب بلاگ ها

      ایجاد SQL Profile به صورت دستیسه شنبه , 04 اردیبهشت 1397 - وحید یوسف زاده
      برای اعمال نظر در مورد execution plan پرس و جویی که اصلاح متن ان امکان پذیر نیست، می توان از sql profile کمک گرفت و از طریق ایجاد ان، هینتهایی را به این پرس و جو اعمال کرد. در ادامه ...
      تهیه نسخه پشتیبان از مجوز فایلها و پوشه هادوشنبه , 03 اردیبهشت 1397 - وحید یوسف زاده
      برای تهیه نسخه پشتیبان از مجوز فایلها و پوشه ها، می توان از دستور getfacl استفاده کرد همچنین بازیابی این نسخه پشتیبان، با کمک دستور setfacl قابل انجام می باشد. مثال:در ادامه از مجوز فایلهای موجود در مسیر /usef، بکاپ ...
      پارامتر remap_directory در دستور impdpیکشنبه , 02 اردیبهشت 1397 - وحید یوسف زاده
      قبل از برگرداندن دامپ به صورت کامل(full=y)، باید مسیر دیتافایلها را ایجاد نمود در غیر این صورت، عملیات بازیابی در هنگام ایجاد tablespace با خطا متوقف خواهد شد: ORA-39083: Object type TABLESPACE:”TBS2″ failed to create with error: ORA-01119: error in ...
      ایجاد و بروزرسانی pdb به صورت از راه دورشنبه , 01 اردیبهشت 1397 - وحید یوسف زاده
      ایجاد یک pdb از pdb دیگر بصورت از راه دور(با کمک dblink) در اوراکل 12.1.0.2 قابل انجام است منتهی بروزرسانی این pdb)pdb کپی شده) بعد از ایجاد، در این نسخه امکان پذیر نخواهد بود و همچنین، pdb مبدا در زمان ...
      ثابت نگه داشتن مقدار sysdateجمعه , 31 فروردین 1397 - وحید یوسف زاده
      گاهی ممکن است برای انجام دادن تستی در اوراکل، نیاز باشد تا برای مدتی تابع sysdate مقدار ثابتی را برگرداند برای این منظور می توان از پارامتر fixed_date استفاده کرد. این پارامتر که مقدار پیش فرض ان برابر با none ...
      دو نمونه از تفاوت سوییچهای f و F در دستور tailپنجشنبه , 30 فروردین 1397 - وحید یوسف زاده
      تفاوت اول: در زمان استفاده از سوییچ f همراه با دستور tail، در صورت عدم وجود فایل، دستور با خطا متوقف خواهد شد: [root@ol6 ~]# tail -f alert tail: cannot open `alert’ for reading: No such file or directory [root@ol6 ...
      اجرای exp/expdp در محیط data guardچهارشنبه, 29 فروردین 1397 - وحید یوسف زاده
      برای تهیه دامپ در محیط data guard، می توان از ابزار Exp بصورت مستقیم و از ابزار Expdp به صورت غیرمستقیم(با کمک database link) استفاده کرد همچنین با تبدیل data guard به snapshot standby، هم می توان مجددا از ابزار ...
      استفاده از پارامتر version در data pumpچهارشنبه, 29 فروردین 1397 - حسین مومنی
      کاربرد پارامتر version در data pump زمانیست که می خواهیم بطور مثال از اطلاعات دیتابیس اوراکل با نسخه 12، export بگیریم و در یک دیتابیس با نسخه 11، import کنیم.

        expdp user1/password dumpfile=dir1:dumpfile1.dmp logfile=dir1:logfile1.log  version=11.2


      دستور ALTER SESSION ADVISE COMMITسه شنبه , 28 فروردین 1397 - حسین مومنی

      قبل از هر چیز به تعریف دو اصطلاح می پردازیم:

      Distributed Transaction:تراکنشی که در سطح شبکه بین دو دیتابیس انجام می شود.

      In-Doubt Transaction: تراکنش نیمه تمامی از نوع Distributed که وضعیت commit یا rollback آن مشخص نیست.

      اگر چنین تراکنشی در دیتابیس انجام شود و به دلایلی نیمه تمام باقی بماند پس از اجرای مجدد آن هنگام COMMIT با سه خطای پی در پی به شرح زیر مواجه می شویم:

      ora-02050: transaction  21.534654 rolled back,some remote DBs may be in-doubt

      ora-02056: bad two phase command number rdonly from coord

      ora-02063: preceding line from BANK

      برای رفع مشکل می توانیم از دستورات ALTER SESSION ADVISE COMMIT یا ALTER SESSION ADVISE ROLLBACK قبل از کوئری خود استفاده کنیم.

      مثال :

      insert into SUPERIORCUSTS

       SELECT B.BRANCH_CODE BR,trunc(INSERT_SYSDATE) as INSERT_DATE,COUNT(*) as cnt

       FROM VC.ORGANIZATION A  JOIN RP.VW_CLIENT_INFO_BANK@REMOTE B  ON A.CIF = B.EXTERNAL_REF

       WHERE B.CLIENT_TYPE = 1 and trunc(INSERT_SYSDATE) = trunc(sysdate - 1) 

       GROUP BY B.BRANCH_CODE, trunc(INSERT_SYSDATE);   

      commit; 

      insert انجام می شود ولی بعد از commit خطاهای مذکور را دریافت می کنیم.کافیست قبل از اجرای مجدد کوئری فوق، یک یا دو بار دستور ALTER SESSION ADVISE COMMIT را اجرا کنیم.(یا چنانچه بخواهیم تغییرات حاصل از کوئری قبل را cancel کنیم بجای commit از rollback استفاده می کنیم)


      افزایش فضای root با کمک LVMدوشنبه , 27 فروردین 1397 - وحید یوسف زاده
      در صورتی که فضای جاری root (که با ساختار lvm ایجاد شده است)، به لحاظ ظرفیت برای ادامه کار سیستم مناسب نباشد، می توان با کمک LVM این فضا را افزایش داد. در ادامه این متن، مراحل افزایش فضای root ...
      نصب RAC 11g بر روی VirtualBox - قسمت چهارمدوشنبه , 27 فروردین 1397 - قدیر نوروزی میرصادقی

      سلام.

      در قسمت قبل clone به اتمام رسید. حالا به سراغ ادامه کار می رویم.

      ماشینهایی که برای اینکار در نظر گرفته ایم را روشن می کنیم. به سراغ فایل etc/sysconfig/network/ رفته و آنرا متناسب با فایل etc/hosts/ ویرایش می کنیم:



      کارت شبکه ها رو باز هم بر طبق etc/hosts/ بصورت زیر بر روی هر یک از ماشینها کانفیگ می کنیم:



      کارت شبکه Eth1 برای private در نظر گرفته ایم بصورت زیر کانفیگ می کنیم. در تصویر netmask=255.255.255.0 نیامده است که آنرا هم اضافه کنید.



      از روی اطلاعات موجود در etc/hosts/ باید کارتهای شبکه public  و  private را بتوان با نام ping کرد. این تست را انجام می دهیم.



      ماشنیها را خاموش می کنیم. به قسمت Setting ماشین اول رفته و از قسمت storage و قسمت sata بر روی دکمه روبرویش برای اضافه کردن دیسک کلیک می کنیم و گزینه Create new disk را بر می گزینیم.



      در قسمت زیر روی vdi  کلیک می کنیم:



      من در تستهایم گزینه fixed size را انتخاب کرده ام . 



      میزان حجم مورد نظر و همجنین نام و محل ساختن را انتخاب می کنیم. بهتر است برای خوانایی بیشتر پوشه مجزایی برای shared diskها در نظر گرفته شود. ocr را می سازیم با حجم 2 گیگابایت.



      دیسکهای data و fra را نیز با حجم 10 گیگابایت به همین روش می سازیم. در انتهای ساخت دیسکها بصورت زیر خواهد شد:



      از منوی اصلی vbox و از منوی فایل گزینه virutal media manager را اجرا می کنیم. در اینجا دیسکهایی که به منظور shared disk ساخته ایم را انتخاب کرده و type آنها را به shareable تغییر می دهیم:



      حالا به Setting دومین node رفته و از قسمت storage بر روی گزینه روبروی کنترلر sata ، گزینه اضافه کردن دیسک را می زنیم و اینبار بجای انتخاب create disk گزینه choose existing disk را انتخاب و تک تک shared disk های ساخته شده را به آن می دهیم. نتیجه کار به شکل زیر خواهد بود.



      حالا هر دو node را روشن می کنیم. اگر بر روی هر یک از دو node دستور lsblk را اجرا کنیم با تصویر زیر مواجه می شویم که نشان می دهد ، دیسکها به هر دوی آنها اضافه شده است:




      دیسکها را مطابق شکل زیر با دستور fdisk پارتیشن بندی می کنیم:



      اینکار را برای تمامی دیسکهای جدید که شامل sdb , sdc , sdd می شود انجام می دهیم. بر روی node  دیگر دستور partproble را می زنیم که تغییراتی که در node اول داده ایم دیده شود:



      بر روی node  اول ابتدا ownership دیسکها را درست کرده و دستور createdisk را مطابق شکل می زنیم. سپس بر روی node دوم تنها با زدن دستور oracleasm scandisks باید دیسکهای ساخته شده دیده شوند.



      در قسمت بعد به سراغ نصب grid خواهیم رفت.




      ------------------------------------------------------------------------------------------------

      لطفاً در هنگام رانندگی به احترام عابرین پیاده بایستیم.

      ویژگی Private Temporary Tableیکشنبه , 26 فروردین 1397 - وحید یوسف زاده
      با کمک این ویژگی از اوراکل 18c، جدول موقتی در سطح یک session یا transaction ایجاد می شود طوری که session دیگری امکان دسترسی به ان را ندارد همچنین با پایان یافتن session یا transaction، این جدول هم حذف خواهد ...
      افزودن دیتافایل UNNAMED00nnn به data guardشنبه , 25 فروردین 1397 - وحید یوسف زاده
      در صورتی که پارامتر standby_file_management در محیط data guard به مقدار manual تنظیم شده باشد، با افزودن دیتافایل جدید در بانک اصلی(primary)، data guard با خطای ORA-01110 متوقف خواهد شد. برای رفع این خطا، می توان این دیتافایل را به ...
      Enable_Parallel_Dmlشنبه , 25 فروردین 1397 - وحید یوسف زاده
      تا قبل از اوراکل 12c، برای اجرای همروند دستورات dmlای، باید در سطح session همروندی فعال می شد و عدم فعالسازی همروندی در این سطح، سبب می شد تا استفاده از hint در دستور dmlای، اثرگذار نباشد. enable_parallel_dml نام هینتی ...
      همسان سازی خودکار پسورد فایلشنبه , 25 فروردین 1397 - وحید یوسف زاده
      یکی از ویژگی های اوراکل 12c، همسان سازی خودکار پسورد فایل در data guard می باشد. با این ویژگی، بعد از تغییر پسورد کاربر sys در primary، لزومی به انتقال(scp) پسورد فایل به data guard وجود ندارد. مثال زیر را ...
      بعدیبعدی