توابع در SQL- توابع تبدیل نوع داده و توابع عمومی

توابعی که در این متن توضیح داده می شوند، داده های دریافتی از نوع کاراکتری، عددی یا تاریخ را به نوع دیگر تبدیل می کنند. در ادامه توابعی که مربوط به مقادیر NULL می باشند معرفی می گردند. همچنین روش استفاده از عبارات شرطی با منطق IF THEN-ELSE توضیح داده می شود.

(بیشتر…)

نکاتی در مورد مجوز پکیج در اوراکل

زمانی که user1 مجوز اجرای پروسیجرش را به user2 اهدا می کند، user2 علاوه بر امکان اجرای این پروسیجر، می تواند محتویات پروسیجر را هم مشاهده کند:

SQL> show user

User is “user1”

SQL> create user user2 identified by u;

User created

SQL> grant create session to user2;

Grant succeeded

SQL> grant execute on user1.myproc1 to user2;

Grant succeeded

SQL> conn user2/u

Connected.

SQL> exec user1.myproc1;

PL/SQL procedure successfully completed.

(بیشتر…)

خطاهای رایج در اوراکل- ORA-01034: ORACLE not available

شرح خطا: خطای ORA-01034: ORACLE not available ممکن است در زمان اتصال به دیتابیس از طریق ابزارهایی چون Sqlplus، Sql Developer و … رخ دهد:

[oracle@stb ~]$ sqlplus “usef/p”

SQL*Plus: Release 18.0.0.0.0 – Production on Fri Oct 4 00:52:20 2019

Version 18.3.0.0.0

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

Linux-x86_64 Error: 2: No such file or directory

(بیشتر…)

آموزش sql مقدماتی – توابع در SQL(قسمت اول)

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

توابع SQL می توانند یک یا چند آرگومان ورودی داشته باشند ولی تنها یک مقدار را به عنوان خروجی (output) برمی گردانند.

+ مقادیر ورودی یا همان آرگومنت ها می توانند عبارت، ستون، متغیر و یا یک مقدار ثابت باشند.

(بیشتر…)

پیکربندی سامبا برای اشتراک گذاری بین لینوکس و ویندوز

همانطور که می دانید برای به اشتراک گذاری و انتقال اطلاعات بین سیستم عامل لینوکس و دیگر سیستم عاملها نظیر ویندوز می توان از سرویس سامبا استفاده کرد به عبارتی دیگر، سامبا پروتکل به اشتراک گذاری فایل ها و منابع موجود در شبکه می باشد. پیکربندی سرویس سامبا به دو روش Secure  و Anonymous  قابل انجام است که در این مقاله به تشریح مراحل پیکربندی این سرویس به هر دو این روشها در محیط اوراکل لینوکس 7.6 می پردازیم.

(بیشتر…)

بهبودهای DBMS_SCHEDULER در اوراکل 12c

زمانی که  DBMS_SCHEDULER در اوراکل 10g ارائه شد، تنها سه نوع جاب PLSQL_BLOCK، STORED_PROCEDURE و EXECUTABLE را پشتیانی می کرد در اوراکل 11g هم تغییر قابل توجهی در این مسئله رخ نداد تا اینکه در نسخه 12c اوراکل job_typeهای جدیدی را به این مجموعه اضافه کرد تا تنظیم بعضی از جابها به شکل ساده تر و با وابستگی کمتری به محیط سیستم عامل قابل انجام باشد:

 SHELL_SCRIPTSQL_SCRIPT –  BACKUP_SCRIPT

در این متن با هر کدام از این نوع جابها آشنا خواهیم شد.

(بیشتر…)

آموزش SQL مقدماتی – دستور SELECT

دستور SELECT یکی از پرکاربردترین دستورات SQL می باشد که با استفاده از آن اطلاعات دیتابیس اوراکل که در حافظه یا دیسک قرار دارند نمایش داده می شوند. در این متن انواع روش های استفاده از دستور SELECT برای بازیابی و نمایش اطلاعات از دیتابیس اوراکل را توضیح می دهیم.

همانطور که می دانیم در دیتابیس اوراکل یک جدول از ستون و سطر تشکیل شده است. در دستور SELECT ابتدا نام ستون یا ستون هایی از یک جدول که می خواهیم اطلاعات آن را نمایش دهیم را انتخاب می کنیم و سپس بعد از عبارت FROM نام آن جدول را می نویسیم. در خروجی این دستور اطلاعات ستون های انتخاب شده  برای سطرهای جدول نمایش می یابند.

مثال: در دستور SELECT زیر ستون های DEPARTMENT_ID و LOCATION_ID از جدول DEPARTMENTS انتخاب شده اند و در خروجی این دستور، اطلاعات مورد نظر نمایش می یابند.

+ به هر ترتیبی که نام ستون ها را در دستور SELECT انتخاب کنیم، نمایش اطلاعات نیز به همان ترتیب خواهد بود. در مثال قبلی ابتدا اطلاعات ستون DEPARTMENT_ID و سپس اطلاعات ستون LOCATION_ID نمایش داده می شود.

(بیشتر…)

rollback کردن عملیات REDEFINITION(اوراکل 12c)

زمانی را تصور کنید که ساختار جدول حجیمی را با کمک بسته DBMS_REDEFINITION تغییر داده ایم. بعد از اتمام عملیات redefinition، به این نتیجه رسیده ایم که تغییر انجام شده، سبب کندی در عملیاتی که بر روی این جدول انجام می شوند، شده است. قصد داریم جدول را به ساختار پارتشن نشده قبل برگردانیم، راهکار چیست؟

یکی از بهبودهایی که در نسخه 12c به بسته DBMS_REDEFINITION اضافه شد، قابلیت rollback کردن عملیات انجام شده می باشد این کار به کمک پارامتر enable_rollback از بسته DBMS_REDEFINITION قابل انجام است.

(بیشتر…)

انجام عملیات redefinition در یک مرحله با کمک پروسیجر REDEF_TABLE (اوراکل 12c)

همانطور که می دانید در اوراکل 11g، برای هرگونه استفاده از بسته DBMS_REDEFINITION باید مراحلی را طی نمود و انجام عملیات در یک گام امکان پذیر نمی باشد.

در اوراکل نسخه 12c، پروسیجر جدیدی به نام REDEF_TABLE به بسته DBMS_REDEFINITION اضافه شده است که از طریق ان می توان عملیاتی نظیر جابجایی انلاین و تغییر tablespace جداول و همچنین تغییر نوع فشرده سازی جداول و ایندکسها را صرفا در یک مرحله انجام داد.

(بیشتر…)