
پروژه تریتیوم VIP یکی از پروژههای شاخص مسکونی در حال ساخت در منطقه ۲۲ تهران است که در محدوده شهرک گلستان و در تقاطع بلوار گلها و هوانیروز قرار گرفته است. موقعیت شهری مناسب، نزدیکی به دریاچه شهدای خلیج فارس، ایران مال، پارک جنگلی چیتگر و دسترسی به بزرگراههای اصلی غرب تهران، از مهمترین عواملی هستند که این پروژه را برای خریداریاران مصرفی و سرمایهگذاران مورد توجه قرار دادهاند.این پروژه توسط شرکت نیکان سازه سدید اجرا میشو...
ادامه مطلب
برج سروناز چیتگر یکی از مجموعههای مسکونی شناختهشده در محدوده شمالی دریاچه چیتگر در منطقه ۲۲ تهران است. موقعیت نزدیک این مجموعه به دریاچه شهدای خلیج فارس، دسترسی مناسب به بزرگراههای اصلی و وجود واحدهای با متراژ متوسط و کوچکتر نسبت به بسیاری از برجهای تازه منطقه، باعث شده است سروناز همچنان در بازار تهیه، فروشرسانی و اجاره آپارتمان دریاچه چیتگر مورد توجه باشد.مجموعه سروناز توسط تعاونی مسکن اسکان گستر امید دژبان ارتش احدا...
ادامه مطلب
برج رونیکا پالاس آبشار یکی از پروژههای شاخص مسکونی در محدوده آبشار تهران و منطقه ۲۲ است که با مشارکت تعاونی مسکن یاس و شرکت ابنیهسازان مقاوم قربانی در حال احداث است. قرارگیری پروژه در شمال بزرگراه شهید خرازی، نزدیکی به ایران مال، دریاچه چیتگر و پارک آبشار تهران، در کنار مقیاس بزرگ پروژه و تواناییات رفاهی پیشبینیشده، باعث شده رونیکا پالاس آبشار در میان پروژههای پیشفروشرسانی منطقه ۲۲ مورد توجه خریداریاران و سرمایهگذار...
ادامه مطلب
اگر در میان برج های مسکونی منطقه ۲۲ تهران به دنبال ساختمانی با سازنده شخصی، موقعیت مناسب در بلوار کوهک، طراحی لوکس، تواناییات رفاهی متنوع و کیفیت ساخت بالا باشید، پروژه حیات یکی از گزینههایی است که ارزش ارزیابی دقیق دارد.برج حیات کوهک در محدوده بلوار کوهک و بلوار علوم و فنون قرار گرفته و به دلیل موقعیت مکانی مناسب، دسترسی به مراکز تجاری و تفریحی، نزدیکی به پارک جنگلی چیتگر و دریاچه شهدای خلیج فارس و علاوه بر این نوع ساخت و...
ادامه مطلب
وقتی صحبت ازخریداری آپارتمان در منطقه 22 کوهک میشود، همه سفارشاران به دنبال یک چیز نیستند. عدهای ساختمان مرتفع و چشمانداز وسیع میخواهند، بعضیها فرصتات رفاهی را در اولویت قرار میدهند و گروهی هم ترجیح میدهند به جای مجتمعهای بسیار بزرگ، در ساختمانی کمواحد و آرام زندگی کنند.برج پاک کوهک بیشتر در دسته سوم قرار میگیرد؛ ساختمانی شخصیساز در محدوده کوهک که با تعداد محدود واحد در هر طبقه و مجموعهای از فرصتات رفاهی، برای س...
ادامه مطلب
اگر به دنبال شناخت برجهای مسکونی شاخص اطراف دریاچه چیتگر هستید، برج طلوع خیام یکی از پروژههایی است که به دلیل موقعیت مناسب، ساختار شخصیساز و چشمانداز متفاوت واحدها، توجه خریداریاران و ساکنان منطقه ۲۲ تهران را به خود جلب کرده است. این برج در بخش شرقی دریاچه چیتگر قرار دارد و به دلیل فاصله مناسب از دریاچه، باملند و برخی مراکز تجاری و تفریحی مهم منطقه، از موقعیت شهری قابل توجهی برخوردار است.برج طلوع خیام یک برج مسکونی تک...
ادامه مطلب
تا قبل از ادیشن 26ai، کوئریهایی که شامل bind variable بودند، نمیتوانستند از قابلیت query rewrite با استفاده از materialized view (MV) بهره ببرند و اوراکل مجبور بود دادهها را مستقیماً از جدولهای پایه بخواند، که باعث از دست رفتن مزایای کاراییِ دادههای پیشتجمیعشده (pre-aggregated data) میشد.از Oracle AI Database 26ai به بعد، این محدودیت حذف شده است و این بهبود به optimizer اجازه میدهد مقدار واقعی bind variable را در زمان اجرا تحلیل کرده و تصمیم بگیرد که آیا کوئری میتواند با استفاده از MV ...
ادامه مطلب
در این مستند قصد داریم نحوه نصب Oracle AI Database 26ai را روی سیستم عامل Oracle Linux 9.5 شرح دهیم. در گام اول باید مقدمات نصب اوراکل را در محیط سیستم عامل فراهم کنیم.با طی هفت مرحله زیر، این کار را در محیط اوراکل لینوکس ادیشن 9.5 انجام خواهیم داد.توجه:حداقل ادیشن سیستم عامل لینوکس برای نصب اوراکل 26ai برابر Oracle Linux 8.8 است(برای 23.5 به بعد) و برای نسخه جدید 9 هم می توان 26ai را روی Oracle Linux 9.2 به بعد نصب کرد. مرحله اول: در گام اول، نام هاست را از localhost به OL95 تغییر می دهیم:[root...
ادامه مطلب
هرگاه قسمتی از مهر حال و قسمتی موجل باشد، حق حبس فقط نسبت به قسمتی که حال است حاصل میشود و پس از دریافت این قسمت زن دیگر نمیتواند از ایفا وظایف زناشویی امتناع کند. “حق حبس” از جمله حقوقی است که مزیتی ویژه را در اختیار زنان قرار داده است که بسیاری از آنان از آن آگاهی ندارند. زن به مجرد عقد مالک مهر میشود و میتواند آن را از شوهر مطالبه کند و برای احقاق حق خود به طرق قانونی، مانند رجوع به دادگاه و صدور اجراییه ثبتی، متوسل گردد. به علاوه قانون به زن حق داده است که ...
ادامه مطلب
همانطور که میدانید، وقتی در یک تراکنش رکوردی حذف یا بروزرسانی میشود، گاهی لازم است تغییر انجامشده به حالت قبلی بازگردد (rollback). برای مثال، کاربری رکوردی را بروزرسانی میکند و بلافاصله متوجه میشود که باید این تغییر را لغو کند. در اکثر دیتابیسهای رابطهای مدرن که ACID را بهطور کامل پشتیبانی میکنند، این امکان وجود دارد، اما مکانیزم اجرایی آن در ...
ادامه مطلب
تا قبل از نسخه 26ai، کوئریهایی که شامل bind variable بودند، نمیتوانستند از قابلیت query rewrite با استفاده از materialized view (MV) بهره ببرند و اوراکل مجبور بود دادهها را مستقیماً از جدولهای پایه بخواند، که باعث از دست رفتن مزایای کاراییِ دادههای پیشتجمیعشده (pre-aggregated data) میشد. از Oracle AI Database 26ai به بعد، این محدودیت حذف شده است...
ادامه مطلب
تا قبل از نسخه 23ai نمی توانستیم از توابع تجمیعی نظیر SUM، AVG، MIN و MAX و … بر روی داده های با دیتاتایپ INTERVAL استفاده کنیم و در صورت استفاده، به خطای ORA-00932 مواجه می شدیم. برای مثال می خواهیم بررسی کنیم اجرای جاب PURGE_LOG در یک ماه گذشته به صورت میانگین چقدر زمان برده است: SQL> select column_name,data_type from dba_tab_cols where table_name='DBA_SCHEDULER_JOB_RUN_DETAILS' and column_name='RUN_DURATION'; COLUMN_NAME DATA_TYPE --------------- ---------------------------------------- RUN_DURATION INTERVAL DAY(3) TO SECOND(0) SQL> select AVG(RUN_DURATION) from DBA_SCHEDULER_JOB_RUN_DETAILS where job_name='PURGE_LOG'; 'ORA-00932: inconsistent datatypes: expected NUMB...
ادامه مطلب
زمانی که sessionای را در اوراکل kill می کنیم، به صورت پیش فرض آن session در حالت SOFTء، kill خواهد شد: SQL> ALTER SYSTEM KILL SESSION '1025,44801'; System altered. جزییات اجرای این دستور را می توانیم در Alert Log ببنیم: 2023-12-19T13:32:18.731476+03:30 (4):A user has terminated a session. KILL SESSION for sid=(1025, 44801): Reason = alter system kill session Mode = KILL SOFT -/-/-/- Requestor = USER (orapid = 55, ospid = 3267554, inst = 1) User = oracle Program = sqlplus@OEL8 (TNS V1-V3) Owner = Process: USER (orapid = 75, ospid = 3268895) User = 462710969 Program = plsqldev.exe Result = ORA-0 برای kill کردن session در حالت HARD می توانیم عبارت immediate را به ...
ادامه مطلب
در نسخه 23c، اوراکل پکیجی را به نام DBMS_SEARCH معرفی کرده است که می تواند با استفاده از زیرساخت ORACLE TEXT و حذف پیچیدگی های آن، امکان جستجو را بر روی Objectهای مختلف فراهم کند. پکیج DBMS_SEARCH با ایجاد ایندکسی از نوع JSON Search Index می تواند قابلیت جستجو را بر روی sourceهای مختلف اعم از Table و View فراهم کند. برخلاف ایندکسهای متعارف نظیر Btree و Bitmap که بر روی ستونهای یک جدول قابل ایجاد هستند، ایندکسی که از طریق پکیج DBMS_SEARCH ایجاد می شود، می تواند چندین جدول و ویو را به عنوان source بپذیرد و جستجوی همزمان را بر روی این sourceها انجام دهد. جداولی که به عنوان سورس تعیین می شوند می توانند حاوی ستونهایی با نوع داده number، varchar، CLOB، JSON و … باشند و محدودیتهای بسیاری کمی در این...
ادامه مطلب
تغییر Execution Plan یک کوئری می تواند به دلایل ساده ای مثل حذف و اضافه کردن ایندکس، پارتیشن بندی جدول، پارتیشن بندی ایندکس اتفاق بیفتد اما شناسایی علت تغییر رفتار Optimizer همیشه ساده نیست چرا که در بعضی از موارد تغییر در Optimizer Environment منجر به ایجاد Execution Plan جدید می شود. برای مثال در sessionای پارامتر OPTIMIZER_INDEX_COST_ADJ که میزان گرایش Optimizer به استفاده از ایندکس را تعیین می کند، به عدد 1 و در session دیگر این پارامتر به مقدار 1000! تنظیم شده است بدون تردید این تفاوت ها در Optimizer Environment، می تواند Execution Plan بعضی از کوئری ها را تغییر دهد. موضوع این مستند در مورد آن است که چگونه می توانیم تشخیص دهیم تغییر Execution Plan یک کوئری به دلیل تغییر در Optimizer Env...
ادامه مطلب
در نسخه 23c دستور OERR اطلاعات بیشتری را برای بسیاری از خطاها(نسبت به نسخه های قبلی) ارائه می کند که این مسئله می تواند در شناسایی علت رخ دادن خطا و همچنین رفع سریع تر آن کمک کند. بعنوان مثال، برای خطای ORA-00001: unique constraint (constraint_name) violated این دستور را در دو نسخه 21c و 23c اجرا می کنیم: 'Oracle 21c': [oracle@OEL7 ~]$ oerr ora 00001 00001, 00000, "unique constraint (%s.%s) violated" // *Cause: An UPDATE or INSERT statement attempted to insert a duplicate key. // For Trusted Oracle configured in DBMS MAC mode, you may see // this message if a duplicate entry exists at a different level. // *Action: Either remove the unique restriction or do not insert the key...
ادامه مطلب
برای استفاده از قابلیت Memoptimized Rowstore در نسخه های 19c و 21c، ابتدا می بایست این قابلیت را در سطح جدول فعال می کردیم و بعد از آن، در زمان درج دیتا، Hintای را به دستور insert اضافه می کردیم با توجه به آنکه ممکن است application از قبل نوشته شده باشد، اضافه کردن Hint به دستور insert می تواند مانعی برای استفاده از قابلیت Memoptimized Rowstore شود. SQL> ALTER TABLE tbl1 MEMOPTIMIZE FOR WRITE; Table altered SQL> INSERT /*+ MEMOPTIMIZE_WRITE */ INTO tbl1 VALUES (1,'usefzadeh.com'); بنابرین در نسخه های یاد شده، بدون استفاده از هینت MEMOPTIMIZE_WRITE امکان استفاده از این قابلیت وجود نداشت. در نسخه 21c اوراکل پارامتری به نام MEMOPTIMIZE_WRITES را اضافه کرده است که از طریق آن می توان بدون...
ادامه مطلب
در نسخه 21c، اوراکل'>اوراکل امکان اجرای کد JavaScript در داخل دیتابیس را فراهم کرده است. این کار با کمک بسته DBMS_MLE امکان پذیر است: DECLARE ctx varchar2(50) ; BEGIN ctx := DBMS_MLE.create_context(); DBMS_MLE.eval(ctx, 'JAVASCRIPT', q'~console.log("www.usefzadeh.com");~'); DBMS_MLE.drop_context(ctx); END; / www.usefzadeh.com در نسخه 23c قابلیتهای دیگری هم در این زمینه ارائه شد که یکی از آنها، امکان بارگذاری و استفاده از ماژولهای JavaScript در دیتابیس اوراکل است این قابلیت می تواند در زمینه های مختلفی راهگشا باشد و حجم کدنویسی را کاهش دهد. به عنوان مثال، در مطلب “قابلیت SQL domain در اوراکل 23c” در مورد محدود کردن فرمت ورودی ها از طریق check constraint، trigger و sql domain نکات...
ادامه مطلب
تا قبل از اوراکل 23c،ء Flashback Logها الزاما باید در FRA ذخیره می شدند و در صورت عدم تنظیم FRA، امکان فعال کردن قابلیت Flashback Database وجود نداشت: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production SQL> alter database flashback on; ORA-38706: Caot tu on FLASHBACK DATABASE logging. ORA-38709: Recovery Area is not enabled. در نسخه 23c دو پارامتر جدید در این زمینه معرفی شدند که می توان از طریق آنها Flashback Logها را در مسیری غیر از FRA ذخیره کرد. این پارامترها، db_flashback_log_dest_size و db_flashback_log_dest هستند. قبل از تنظیم این دو پارامتر، وضعیت پارامترهای مربوط به FRA را بررسی می کنیم: SQL> show parameter db_recovery_file_dest NAME ...
ادامه مطلب
همانطور که می دانید اوراکل برای هر LOB segment یک نام خودکار با پیشوند SYS_LOB ایجاد می کند: SQL> create table asnad( id number, doc clob); Table created SQL> select segment_name from dba_lobs where table_name='ASNAD'; SEGMENT_NAME ------------------------------ SYS_LOB0000136126C00002$$ در نسخه 21c برای تغییر نام SYS_LOBها می بایست LOB segment را move داد که این کار بسیار پرهزینه بود و چالشهایی نظیر بازسازی ایندکسهای جدول را به همراه داشت: SQL> insert into ASNAD values(1,'my name is vahid'); 1 row inserted SQL> commit; Commit complete SQL> create index ind on asnad(id); Index created SQL> alter table asnad move lob(doc) store as asnad_doc; Table altered SQL> select s...
ادامه مطلب