اوراکل 23ai – امکان patch زدن Grid Infrastructure از طریق GUI

در اوراکل 23ai می توانیم از طریق اجرای gridSetup.sh و به صورت ویزاردی بر روی نرم افزار گرید، patch اعمال کنیم این کار به صورت Zero-Downtime هم قابل انجام است. در متن پیش رو قصد داریم Release Update 23.6 را بر روی  Grid Infrastructure 23.5 اعمال کنیم. 

در حال حاضر 23.5 Grid Infrastructure در حال اجرا است:

[grid@OL810 ~]$ sqlplus "/as sysasm"
SQL*Plus: Release 23.0.0.0.0 – for Oracle Cloud and Engineered Systems on Wed Nov 27 12:57:14 2024
Version 23.5.0.24.07
Copyright © 1982, 2024, Oracle.  All rights reserved.
Connected to:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 – for Oracle Cloud and Engineered Systems
Version 23.5.0.24.07
SQL>

برای اعمال patch در ابتدا باید نرم افزار Grid Infrastructure نسخه 23.6 را به صورت software only نصب کنیم.

(بیشتر…)

نصب نسخه Grid Infrastructure 23ai Exadata در محیط اوراکل لینوکس

همانطور که می دانید اوراکل هنوز نسخه on-premises مربوط به 23ai را ارائه نکرده است و صرفا نسخه های 23.5 و 23.6 که قابل استفاده در محیط Exadata هستند، را در دسترس عموم قرار داده است. قبلا در مطلبی نحوه نصب Oracle Database 23ai در محیط non-Exadata را به اشتراک گذاشتیم و در این متن قصد داریم مراحل نصب Grid Infrastructure 23ai Exadata را در محیط non-Exadata مستند کنم.

در صورتی که بخواهیم به روال عادی Grid Infrastructure 23ai را در محیط non-Exadata نصب کنیم، در مرحله ایجاد ASM instance به خطا خواهیم خورد و در نهایت ASM instance استارت نخواهد شد:

(بیشتر…)

غیر فعال شدن Read-only Oracle Home در اوراکل 23ai

قابلیت Read-only Oracle Home از اوراکل 18c ارائه شده و بر اساس آن، logfileها و فایلهای پیکربندی موجود در مسیر ORACLE_HOME نظیر listener.ora، sqlnet.ora، spfile.ora و … به دایرکتوریهای زیرشاخه ORACLE_BASE منتقل می شوند. Read-only Oracle Home در نسخه 18c و 19c به صورت پیش فرض فعال نیست اما این قابلیت در نسخه 21c در حالت پیش فرض فعال است:

[oracle@RAC3 ~]$ /oracle21c/home/bin/orabasehome
/oracle21c/base/homes/OraDB21Home1

(بیشتر…)

اوراکل 23ai – قابلیت staging table

همانطور که می دانید، استفاده از جداول staging در محیط Data Warehouse بسیار رایج است و کاربرد آن به زمان بارگذاری دیتا به دیتابیس Warehouse برمی گردد. معمولا در محیط Warehouse، داده های خام که از دیتابیسهای source دریافت می شوند در ابتدا به یک ناحیه موقت و یا همان جداول staging منتقل شده و بعد از فرایند پاکسازی داده های ناقض و ناسازگار و همچنین تبدیل داده ها به فرمت استاندارد، این داده ها در جداول نهایی و عملیاتی ذخیره می شوند.

علاوه بر بارگذاری اولیه، برای بروزرسانی هم از جداول staging استفاده می شود و گاها این جداول قبل از استفاده، truncate می شوند.

در اوراکل 23ai قابلیتی هر چند جزیی در این زمینه ارائه شد و از این نسخه می توانیم جداول از نوع staging ایجاد کنیم این کار با اضافه کردن عبارت FOR STAGING همراه با دستور CREATE TABLE قابل انجام است.

SQL> create table STGtbl (id number,name varchar2(100),address varchar2(1000)) FOR STAGING;
Table created.

(بیشتر…)

اوراکل 23ai – افزایش سرعت اجرای impdp در زمان برگرداندن constraintها

در زمان اجرای دستور IMPDP، بخشهایی از عملیات امکان اجرای parallel را ندارند ایجاد constraint یکی از این قسمتهاست. اوراکل قبل از ایجاد constraint باید یکبار Validate را برای دیتای جاری جدول اجرا کند. با هر بار اجرای Validate، نیاز است یک بار Full table scan انجام شود که می تواند بسیار زمانبر باشد. دو constraint زیر را در نظر بگیرید:

alter table MYTB  add constraint CHECK1  check (col3 > 50);
alter table MYTB  add constraint CHECK2  check (col9 in (5,15));

جدول mytb را حذف می کنیم و از طریق dumpای که از این جدول داریم، آن را مجددا ایجاد می کنیم:

SQL> drop table mytb;
Table dropped.
W-1 Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
W-1 . . imported "USEF"."MYTB"                                  19 GB 337830912 rows in 83 seconds using external_table
W-1 Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
W-1      Completed 2 CONSTRAINT objects in 208 seconds

(بیشتر…)

قابلیتهای شناخته شده ای که اوراکل از نسخه 23ai دیگر از آنها پشتیبانی نمی کند.

اوراکل در کنار قابلیتهای متعددی که در هر نسخه ارائه می کند، بعضی از قابلیتهای قبلی را deprecate و یا desupport می کند. deprecate به این معنی که آن قابلیت دیگر بهبودی نخواهد داشت و از نسخه های بعدی desupport می شود و desupport  هم به این معنی که اگر باگی داشته باشد، رفع باگی توسط اوراکل انجام نمی شود و بعضا به طور کامل امکان استفاده از آن از بین می رود.

در ادامه این متن تعدادی از قابلیتهای شناخته شده ای که اوراکل از نسخه 23ai دیگر از آنها پشتیبانی نمی کند، را مرور می کنیم.

ابزار Database Upgrade Assistant (DBUA) و ارتقای دستی: از نسخه 23ai اوراکل توصیه می کند از AutoUpgrade برای ارتقاء نسخه دیتابیس استفاده کنیم و از این نسخه، ابزار dbua را در محیط لینوکس پشتیبانی نمی کند همچنین اسکریپتهای ارتقاء دستی نظیر catupgrd, dbupgrade, catctl در این نسخه پشتیبانی نمی شوند البته استفاده از ابزار DBUA در محیط ویندوز کماکان امکان پذیر است.

 

(بیشتر…)

اوراکل 23ai – عبارت INMEMORY(ALL) و NO INMEMORY(ALL)

همانطور که می دانید قابلیت in memory را می توان در سطح ستون فعال و یا غیرفعال کرد:

SQL> create table usef.tb(c1 number,c2 number,c3 number,c4 number,c5 number,c6 number);
Table created.

SQL> ALTER TABLE usef.tb INMEMORY NO INMEMORY (c1,c2);
Table altered.

SQL> SELECT TABLE_NAME, COLUMN_NAME, INMEMORY_COMPRESSION
FROM V$IM_COLUMN_LEVEL
WHERE TABLE_NAME = 'TB'
ORDER BY COLUMN_NAME;  
TABLE_NAME COLUMN_NAME     INMEMORY_COMPRESSION
---------- --------------- --------------------------
TB         C1              NO INMEMORY
TB         C2              NO INMEMORY
TB         C3              DEFAULT
TB         C4              DEFAULT
TB         C5              DEFAULT
TB         C6              DEFAULT
6 rows selected.

SQL> select inmemory from dba_tables where TABLE_NAME = 'TB';
INMEMORY
--------
ENABLED

(بیشتر…)

پشتیبانی دیتابیس اوراکل 23ai از AI Vector Search

همانطور که می دانید با استفاده از بردارها می توان داده های بدون ساختار نظیر عکس، ویدئو، صوت و … را به عدد(آرایه ای از اعداد) تبدیل کرد تا علاوه بر حفظ کیفیت محتوا، اثر شایانی را بر روی جستجوی معنایی گذاشت طوری که جستجوی برداری بر بسیاری از محدودیتهای سنتی غلبه کرده و این امکان را به ما می دهد تا با توصیف هر آنچه را که در ذهن داریم عملیات جستجو را انجام دهیم.

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

Vector Databaseهای متعددی وجود دارند که می توان از آنها به طور تخصصی به عنوان دیتابیس بردار استفاده کرد اما بسیاری از این دیتابیسها از SQL، عملیات CRUD(create, read, update, delete)، بکاپ و ریکاوری و … پشتیبانی نمی کنند. بنابرین ذخیره این نوع از دیتا در دیتابیسهای رابطه ای می تواند یک مزیت به شمار بیاید چرا که انواع مختلفی از داده را می توان صرفا در یک دیتابیس ذخیره کرد و با ابزارهای سنتی با قابلیتهای مدرن کار کرد.

دیتابیس اوراکل به عنوان یک دیتابیس رابطه ای قدرتمند تلاش کرده تا در این زمینه راهکاری را ارائه کند. این دیتابیس از نسخه 23ai قابلیت AI Vector Search را به طور کامل پشتیبانی می کند. تبدیل داده های بدون ساختار مثل عکس و فیلم به اعداد(Vector Embedding)، ذخیره آنها در دیتابیس، ایندکس گذاری، امکان اجرای جستجوی شباهت(Similarity Search) و … از این نسخه(23ai) در دیتابیس اوراکل قابل انجام است.

همچنین از 23.4، برای بردارها نوع داده جدیدی به نام vector تعریف شده است که در این مستند نکاتی را در مورد این نوع داده و نحوه ذخیره اطلاعات در آن بیان خواهیم کرد.

(بیشتر…)

نصب نسخه FREE اوراکل 23ai بر روی ویندوز

نسخه FREE اوراکل 23ai را می توان در ویندوز هم  اجرا کرد که در این متن نحوه انجام آن را مشاهده خواهید کرد. البته همانطور که می دانید نسخه FREE محدودیتهایی دارد به طور مثال حجم هر دیتابیس(PDB) در نسخه FREE نمی تواند بیشتر از 12GB شود اندازه RAM و CPU هم محدودیت دارند:

بعد از دانلود فایل zip، آن را در مسیری دلخواه unzip می کنیم:

 

برای نصب، فایل Oracle Database 23ai Free را با Run as administrator اجرا می کنیم:

 

(بیشتر…)

نکته ای در مورد نصب Oracle Database 23ai Exadata بر روی اوراکل لینوکس

همانطور که می دانید اوراکل هنوز نسخه on-premises مربوط به 23ai را ارائه نکرده است و با توجه به وعده ای که داده است، حداکثر تا پایان نیمه دوم 2024 این نسخه را در دسترس همگان قرار خواهد داد(البته اگر مجددا خلف وعده نکند!) اما اخیرا نسخه 23.5 که روی Exadata قابل استفاده است را منتشر کرده که به صورت پیش فرض روی محیط اوراکل لینوکس هم قابل نصب است:

[oracle@OEL9 23ai]$ ./runInstaller

[oracle@OEL9 ~]$ /oracle/23ai/bin/sqlplus "/as sysdba"
SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Fri Aug 9 18:51:46 2024
Version 23.5.0.24.07
Copyright (c) 1982, 2024, Oracle.  All rights reserved.
Connected to an idle instance.

اما مسئله که سبب شد تا این مستند را بنویسم آن است که در زمان ایجاد دیتابیس از طریق این نرم افزار، با خطای زیر مواجه می شویم:

ORA-27350: This version of the Oracle Database software cannot be run on this platform

(بیشتر…)