ایجاد ستون نامریی از اوراکل 12c امکان پذیر شد این نوع از ستون، به صورت پیش فرض در لیست ستونهای جدول، قابل مشاهده نیستند و برای دسترسی به اطلاعات آن، باید به صراحت از نام این ستون در دستور استفاده کرد.
(بیشتر…)همروندی در اوراکل(Parallel Execution)
در دنیای واقعی کارهای بسیاری وجود دارند که اساسا امکان انجام آنها به صورت سریالی به سختی قابل انجام است و به ناچار نیاز است که این کارها به صورت موازی و همروند اجرا شوند به صورت مثال، فرض کنید نیاز است تا در کشوری همانند چین، سرشماری به صورت دستی انجام بگیرد انجام این عمل توسط یک فرد شاید مضحک و غیرعملی بنظر برسد و ممکن است فرد تا پایان سرشماری، از دنیا برود!!! به همین دلیل نیاز است تا سازمانی برای انجام این کار ایجاد شود و نیروهایی را به استخدام خود در بیاورد تا بتواند با تقسیم کار بین آنها، این عمل را با سرعت بیشتری به انجام برساند.
آمارگیری بعد از درج انبوه در اوراکل 12c
در نسخه 11g، با اجرای دستور create table as، آماری از جدول ایجاد شده، ثبت نمی شود:
create table us_tbl1 as select * from dba_source;
SELECT table_name,num_rows FROM dba_tables WHERE table_name = ‘US_TBL1’;

حال اگر همین دستور در نسخه 12c اجرا شود، نتیجه چیزی دیگری خواهد بود(البته استثناهایی هم در این زمینه وجود دارد):
create table us_tbl1 as select * from dba_source;
SELECT table_name,num_rows FROM dba_tables WHERE table_name = ‘US_TBL1’;

همچنین می توان با هینت NO_GATHER_OPTIMIZER_STATISTICS، از این قابلیت جدید، صرف نظر کرد:
create table us_tbl1 as select /*+ NO_GATHER_OPTIMIZER_STATISTICS */ * from dba_source ;
Oracle Lock Management
زمانی که در یک بانک اطلاعاتی کاربران متعددی مشغول خواندن و نوشتن هستند، ممکن است دو کاربر به صورت همزمان قصد اصلاح یک شی را داشته باشند در این شرایط، درصورت عدم کنترل دسترسی، ممکن است داده ای از بین رفته و یا داده های ان شی ناسازگار شوند.
برای مدیریت و کنترل دسترسی همزمان، اوراکل از مکانیزمی به نام lock استفاده می کند که در این متن، قصد داریم در مورد آن مطالبی را ارائه کنیم.
افزایش ظرفیت نوع داده VARCHAR به 32767
در اوراکل 12c، با تنظیم پارامتر MAX_STRING_SIZE به مقدار EXTENDED، می توانیم ظرفیت نوع داده VARCHAR2 و NVARCHAR2 را از 4000 به 32767 افزایش دهیم.
(بیشتر…)ایجاد و مدیریت job با کمک بسته DBMS_JOB
برای انجام زمانبندی در سطح دیتابیس، دو بسته با نامهای dbms_job و dbms_scheduler موجود می باشند که بسته dbms_job از نسخه های قدیمی اوراکل ارائه شده و در نسخه های جدید هم کماکان مورد استفاده قرار می گیرد و بسته dbms_scheduler که در نسخه جدیدتر اوراکل عرضه شد، توانست تا حدود زیادی جایگزین مناسبی برای بسته dbms_job باشد.
دراین متن قصد داریم به بسته dbms_job بپردازیم.
(بیشتر…)پارامتر views_as_tables در data pump
با این ویژگی، امکان گرفتن دامپ از خروجی یک ویو هم مهیا خواهد شد همچنین در زمان برگرداندن این ویو، جدولی در بانک مقصد ایجاد خواهد شد:
expdp usef/abc@pdb1 directory=usef dumpfile=test.dmp views_as_tables=usef_view1
Export: Release 12.1.0.2.0 – Production on Sat Jul 2 10:41:26 2016
Starting “USEF”.”SYS_EXPORT_TABLE_01″: usef/********@pdb1 directory=usef dumpfile=test.dmp views_as_tables=usef_view1
Total estimation using BLOCKS method: 16 KB
. . exported “USEF”.”USEF_VIEW1″ 163.3 KB 5086 rows
Master table “USEF”.”SYS_EXPORT_TABLE_01″ successfully loaded/unloaded
Job “USEF”.”SYS_EXPORT_TABLE_01″ successfully completed at Sat Jul 2 10:41:38 2016 elapsed 0 00:00:11
برگرداندن ویو به صورت جدول در بانک مقصد:
impdp usef/abc@pdb1 directory=usef dumpfile=test.dmp views_as_tables=usef_view1
Import: Release 12.1.0.2.0 – Production on Sun Jul 3 09:40:23 2016
Starting “USEF”.”SYS_IMPORT_TABLE_01″: usef/********@pdb1 directory=usef dumpfile=test.dmp views_as_tables=usef_view1
. . imported “USEF”.”USEF_VIEW1″ 163.3 KB 5086 rows
Job “USEF”.”SYS_IMPORT_TABLE_01″ successfully completed at Sun Jul 3 09:40:25 2016 elapsed 0 00:00:01
غیرفعال سازی logging بهنگام impdp
برای بهبود سرعت برگرداندن اطلاعات dumpfile، می توان از پارامتر logging به هنگام اجرای دستور impdp استفاده کرد و با تنظیم این پارامتر(که از اوراکل 12c ارائه شد) به مقدار DISABLE_ARCHIVE_LOGGING:Y، مانع از ایجاد آرشیولاگ در زمان impdp شد:
impdp directory=usef dumpfile=c.dmp schemas=usef TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y
Import: Release 12.1.0.2.0 – Production on Tue Jul 5 15:02:28 2016
. . imported “USEF”.”COM_LOC” 533.490 MB 226333 rows
در صورت استفاده از data guard در چنین محیطی، اطلاعات import شده به سمت data guard منتقل نخواهند شد و با رجوع به این جدول در محیط data guard، با خطای زیر مواجه خواهیم شد:
select count(*) from usef.com_loc
ORA-01578: ORACLE data block corrupted (file # 6, block # 555)
ORA-01110: data file 6: ‘/u02/oradata/usef2/datafile/users.258.916411623’
ORA-26040: Data block was loaded using the NOLOGGING option
البته اگر دیتابیس در حالت force logging قرار داشته باشد، امکان استفاده از چنین ویژگی ای وجود ندارد(معمولا قبل از راه اندازی data guard، اوراکل تاکید دارد تا این گزینه فعال شود).
این ویژگی در سطح ایندکس هم قابل استفاده می باشد:
TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y:INDEX
ویژگی های جدید اوراکل در نسخه 12c
بانک اطلاعاتی اوراکل با هر نسخه جدیدی که ارائه می کند معمولا بسیاری از باگهای ایجاد شده در نسخه های قبلی را برطرف کرده و علاوه بر آن، ویژگی های جدیدی را هم عرضه می کند.
به همین منوال، اوراکل در نسخه 12c، بیش از 500 ویژگی جدید را ارائه کرده است که در این مقاله قصد داریم بعضی از این ویژگی ها را مورد بررسی قرار دهیم.
بازیابی دیتافایل بانک اصلی از استندبای
در صورت از دست دادن سیستم عاملی یک دیتافایل در محیط بانک اصلی، با دیتافایل موجود در سرور دیتاگارد، این فقدان قابل جبران است(البته بشرط سازگاری).
برای انجام این کار در نسخه های ماقبل 12c، نیاز بود تا dba به صورت دستی و در سطح سیستم عامل این دیتافایل را از محیط دیتاگارد به بانک اصلی انتقال دهد.
این کار در نسخه 12c، تنها با استفاده از یک دستور در محیط RMAN، قابل انجام می باشد:
(بیشتر…)