مدیریت Tablespace Temporary

از این tablespace برای نگهداری موقت داده های بانک اطلاعاتی جهت انجام یک سری عملیات استفاده می شود . برای مثال  اوراکل در زمان مرتب سازی داده ها، ابتدا از فضای PGA که در ساختار RAM تشکیل شده است، استفاده می کند و در صورت نبود فضای کافی، به سراغ temporary tablespace خواهد رفت و از این قسمت به عنوان یک فضای کمکی برای PGA استفاده می کند.

(بیشتر…)

پاسخ به سوالات مقدماتی اوراکل – 1(مدیریت instance)

1.برای مدیریت instance از طریق ابزار sqlplus، تنظیم چه متغیرهایی ضروری می باشد؟

صرفا با تنظیم دو متغیر ORACLE_SID و ORACLE_HOME می توان وارد محیط sqlplus شد.

2.instance از چه زمانی استارت شده و در چه وضعیتی قرار دارد؟

SQL> select startup_time,status from v$instance;

3.با اجرای دستور startup، اوراکل در چه مسیری و با چه ترتیبی فایلهای راه انداز را جستجو می کند؟

مسیر پیش فرض فایلهای راه انداز:

$ORACLE_HOME/dbs

فایلها به ترتیب زیر جستجو خواهند شد(البته اگر فایلی یافت شود، فایل بعدی جستجو نخواهد شد):

spfile$ORACLE_SID.ora

spfile.ora

Init$ORACLE_SID.ora

4.برای استارت شدن instance، تنظیم چه پارامترهایی الزامیست؟

صرفا با تعیین پارامتر db_nameه، instance استارت خواهد شد:

[oracle@ol7 ~]$ vi pfile.ora

*.db_name=testdb

[oracle@ol7 ~]$ export ORACLE_SID=db1

[oracle@ol7 ~]$ export ORACLE_HOME=/19c/home

[oracle@ol7 ~]$ sqlplus “/as sysdba”

SQL*Plus: Release 19.0.0.0.0 – Production on Wed Jul 31 12:15:42 2019

Version 19.3.1.0.0

Connected to an idle instance.

SQL> startup pfile=’/home/oracle/pfile.ora’ nomount;

ORACLE instance started.

Total System Global Area  381680512 bytes

Fixed Size                  8657792 bytes

Variable Size             314572800 bytes

Database Buffers           50331648 bytes

Redo Buffers                8118272 bytes

5.حداقل میزان فضای sga و pga برای استارت شدن instance در اوراکل 19c چقدر است؟

SGA=360M

ORA-00821: Specified value of sga_target 100M is too small, needs to be at least 360M

PGA=10M

ORA-00093: pga_aggregate_target must be between 10M and 4096G-1

6.انداختن instance با دستور shutdown abort کار خطرناکیست؟

instanceای که بصورت shut abort دان شده است، نیاز به instance recovery دارد و انجام instance recovery از وظایف بک گراند پروسس smon است! این بک گراند پروسس، برای انجام عملیات instance recovery، ابتدا به سراغ redo log fileها می رود و در صورت صحت redo log memberها، اصطلاحا Roll forward انجام شده و  دیتابیس در وضعیت open قرار می گیرد و پس از آن، با کمک اطلاعات موجود در undo tablespace، عملیات Roll backward انجام خواهد شد.

در نتیجه اگر هر گروه redo log بیش از یک عضو داشته باشد، احتمال خرابی همه اعضا به صورت همزمان بسیار ضعیف بوده و عملا استفاده از این دستور، ریسک بسیار ناچیزی را در پی خواهد داشت.

از دیگر دغدغه های احتمالی پس از استفاده از دستور shut abort، طولانی شدن مدت زمان instance recovery می باشد که این مسئله هم با کمک پارامتر fast_start_mttr_target قابل مدیریت است.

عدم امکان استفاده از دستور ALTER USER RENAME در اوراکل 19c

قبلا در مقاله ای تغییر نام کاربر در اوراکل را با دو روش “اصلاح جداول Data Dictionry”  و استفاده از دستور “ALTER USER RENAME” مورد بررسی قرار داده ایم.

با ارائه نسخه 19c، تغییری در این زمینه ایجاد شد که استفاده از ALTER USER RENAME را ناممکن می سازد.

SQL*Plus: Release 19.0.0.0.0 – Production on Mon Jul 29 13:44:52 2019

Version 19.3.1.0.0

SQL> alter session set “_enable_rename_user”=true;

Session altered.

SQL> alter system enable restricted session;

System altered.

SQL> alter user usef rename to vahid identified by a;

ORA-03001: unimplemented feature

همانطور که می بینید، اجرای دستور ALTER USER RENAME در نسخه 19c با خطا مواجه خواهد شد.

آشنایی با مفاهیم tablespaceها در اوراکل(قسمت اول)

Tablespace بزرگترین واحد منطقی تقسیم بندی اطلاعات در پایگاه داده اوراکل می باشدکه از دید منطقی شامل یک یا چند سگمنت و از لحاظ فیزیکی نیز دارای یک یا چند دیتافایل می باشد .

(بیشتر…)

نصب و دانلود اوراکل Express Edition نسخه 18c در محیط ویندوز

نصب نرم افزار اوراکل برای افرادی که با این پایگاه داده آشنایی چندانی ندارند، شاید کمی پیچیده بنظر برسد به همین دلیل، بعضی از این افراد به سراغ نسخه Express Edition اوراکل می روند که نصب نسبتا ساده ای دارد و صرفا با طی چند گام ساده، ایجاد دیتابیس را در کنار نصب نرم افزار فراهم می کند.

اوراکل اکسپرس فاقد بسیاری از قابلیتهایی است که در نسخه (Enterprise Edition (EE اوراکل وجود دارد قابلیتهایی نظیر Data Guard ،Data Vault ،Oracle Real Application Cluster و …

(بیشتر…)

آشنایی با مفهوم Editioning و پارامترهای آن در دیتاپامپ

احتمالا تاکنون هنگام ایجاد یک آبجکت مانند ویو، با این خطا مواجه شده اید:

ORA-00955: name is already used by an existing object

همانطور که می دانید این خطا زمانی رخ می دهد که آبجکتی با نام مورد نظر قبلا در بانک موجود باشد.

گاهی ممکن است، بدلایل مختلف از جمله توسعه و تغییر در برنامه یا ساختار بانک اطلاعاتی، نیاز باشد در  متن یک ویو یا یک پروسیجر یا دستورات یک trigger تغییراتی را ایجاد کرده و عملکرد جدید آنها را قبل از استقرار کامل در سیستم تست کنیم.

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

اوراکل از نسخه ی 11g به بعد، قابلیت جدیدی با عنوان editioning را به پایگاه داده خود افزوده است.

(بیشتر…)

آشنایی با معماری اوراکل

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

پایگاه داده اوراکل در نگاه کلی به دو مفهوم اصلی تقسیم می شود :

1.ساختار database ( فضای دیسک )

2.ساختار instance ( فضای RAM )

عکس زیر یک نمونه از معماری اوراکل را نشان می دهد.

همانطور که قابل مشاهده است ساختار اوراکل به دو قسمت اصلی یعنی instance و database)storage structures) تقسیم شده است.

(بیشتر…)

بررسی تغییرات dbms_job در اوراکل 19c

تا قبل از اوراکل نسخه 10g، برای ایجاد جاب در محیط دیتابیس، از بسته dbms_job استفاده می شد در نسخه 10g بهبودی در این زمینه ایجاد شد و اوراکل با ارائه بسته dbms_scheduler، بسیاری از نقاط ضعف dbms_job را پوشش داد و عملا استفاده از این بسته را به حداقل رساند.

اما با این حال، کاربران می توانند کماکان از این بسته(dbms_job) برای تعریف جاب جدید و یا مدیریت جابهای قبلی(جابهای ایجاد شده در نسخه های قدیمی تر) استفاده کنند و حتی اوراکل هم برای زمانبندی بعضی از کارها، از همین بسته استفاده می کند.

(بیشتر…)

پارامترهای INCLUDE، EXCLUDE و QUERY در expdp/impdp

در زمان استفاده از Data Pump، می توان در چهار سطح FULL/TABLESPACE/SCHEMA/TABLES عملیات export/import را انجام داد در مواردی ممکن است نیاز باشد تا objectهای خاصی را مستثنی کرد و یا صرفا بعضی از این objectها را در این عملیات شرکت داد، در این صورت می توان از سه پارامتر INCLUDE، EXCLUDE و QUERY استفاده کرد که در ادامه به بررسی آنها می پردازیم.

(بیشتر…)

بهبودهای EZconnect در اوراکل 19c

زمانی که از پروتکل tcp/ip برای برقراری ارتباط با یک دیتابیس اوراکل استفاده می کنیم، اتصال به روش Easy Connect در مواردی می تواند جایگزین مناسبی برای فایل tnsnames.ora باشد. ساختار کلی Easy Connect تا قبل از اوراکل نسخه 19c، به صورت زیر می باشد:

host[:port][/service_name]

(بیشتر…)