تاریخ اخرین تغییر جدول و رکورد با کمک ستون ORA_ROWSCN

ثبت زمان اخرین تغییر DMLای رکوردهای یک بلاک، می تواند به جهت مدیریتی و امنیتی مفید باشد ولی طبیعتا سربار اضافه ای دارد و از کارایی بانک اطلاعاتی می کاهد.

برای کاهش این سربار، دیتابیس اوراکل زمان آخرین تغییرات را به شکل scn و در سطح بلاک ذخیره خواهد کرد به این شکل که با هر تغییر در رکوردهای یک بلاک، scn مربوط به آن زمان، برای همه رکوردهای آن بلاک ثبت خواهد شد.

(بیشتر…)

نکاتی در مورد shmall، shmmax، sga_target، lock_sga

sga را به عنوان shared global area می شناسیم! و قرار است پروسسها از این فضا به صورت مشترک استفاده کنند به همین جهت، قسمتی از حافظه که برای sga مورد استفاده قرار می گیرد، shared memory نامیده می شود.

دو پارامتر کلیدی shared memory در لینوکس، shmmax و shmall می باشند که shmmax حداکثر اندازه یک shared memory segment(بر اساس بایت) را مشخص می کند و shmall هم، اندازه کلی shared memory(بر اساس page) یا همان جمع اندازه shared memory segmentها را مشخص خواهد کرد.

(بیشتر…)

پروسیجر EXPAND_SQL_TEXT

یک ویو ممکن است از یک پرس و جوی بسیار پیچیده و با متن طولانی ایجاد شده باشد و حتی بعضا، در متن پرس و جو، به ویوهای پیچیده دیگری هم رجوع شده باشد با این شرایط، برای ارائه راه حلهای پرفورمنسی  و همچنین انجام تغییری در متن کد، داشتن متن کامل پرس و جو(بدون ارجاع به هیچ ویوی دیگر)، می تواند در مواردی راهگشا باشد.

(بیشتر…)

انتقال اطلاعات از اکسل به دیتابیس اوراکل با کمک sqldeveloper و PL/SQL Developer

در این متن قصد داریم اطلاعاتی را از محیط اکسل به محیط اوراکل انتقال دهیم.

برای انجام این انتقال، ابزارهای متعددی وجود دارد که ما در این متن، از sqldeveloper و PL/SQL Developer استفاده خواهیم کرد.

(بیشتر…)

ایجاد synonym برای کاربران

ایجاد synonym برای کاربران در اوراکل 12c امکان پذیر است. این کار با کمک پارامتر مخفی enable_schema_synonyms_ قابل انجام می باشد:

SQL> alter system set “_enable_schema_synonyms” = true scope=spfile;

System altered.

برای مثال، بعد از تنظیم این پارامتر، می توانیم با کمک دستور زیر، برای کاربر usef، نام دیگری هم تعیین می کنیم:

SQL>  create schema synonym new_name for usef;

Schema synonym created.

(بیشتر…)

دست گرمی با پسوردفایل

همانطور که می دانید، برای لاگین از راه دور به بانک اطلاعاتی، آن هم از طریق administrative privilegeها(از قبیل sysdba و sysoper)، ناگزیر باید password file را برای بانک ایجاد کرده باشیم در غیر این صورت، با خطا مواجه خواهیم شد:

[oracle@myhost ~]$ sqlplus “sys/a@mydb1 as sysdba”

SQL*Plus: Release 18.0.0.0.0 – Production on Sat Aban 26 12:27:51 1397

Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

ERROR:

ORA-01017: invalid username/password; logon denied

Enter user-name:

(بیشتر…)

ستونهای VC_* در ویوهای data dictionary

همانطور که می دانید، تعدادی از فیلدهای مربوط به ویوهای data dictionary، هنوز(در اوراکل 18c) از نوع long می باشند. برای مثال، فیلد text در ویوی USER_VIEWS از این دسته می باشد:

SQL> desc USER_VIEWS

Name                          Type                     Comments                                                                

————                ————–              ———————————-

VIEW_NAME          VARCHAR2(128)          Name of the view

TEXT_LENGTH        NUMBER                    Length of the view text

TEXT                       LONG                         View text      

(بیشتر…)

رجیستر خودکار بانک به چندین listener

همانطور که می دانید، هر listener می تواند در یک زمان به چند instance سرویس دهد و همچنین سرویسهای یک instance می تواند توسط چند listener هندل شود که در حالت پیش فرض،  هر instance به صورت خودکار، توسط پروسسهای پس زمینه اش(در اوراکل 11g توسط PMON و در 12c توسط LREG) به پورت 1521 و پروتکل TCP سرویس Listener رجیستر می شود و با این عمل، اصطلاحا dynamic registration انجام خواهد شد.

(بیشتر…)

پروسس LREG در اوراکل 12c

همانطور که می دانید در نسخه های 10g و 11g، پروسس pmon مسئولیت dynamic registration را بر عهده دارد علاوه بر این وظیفه، این پروسس به عنوان یک background process اجباری، نقشهای بسیار مهم دیگری را هم ایفا می کند که با از بین بردن(kill) آن، instance هم از کار خواهد افتاد.

(بیشتر…)