نمایش username و instance_name در sqlplus

برای نمایش username و instance_name در محیط sqlplus باید دستور زیر را در این محیط اجرا کرد:

SET SQLPROMPT “_USER @ _CONNECT_IDENTIFIER> “

SYS @ stb1>

این تنظیم با خروج از محیط sqlplus از بین خواهد رفت برای اعمال پایدار این قبیل تنظیمات، باید دستور را به فایل glogin.sql اضافه کرد:

vi /oracle/11g/sqlplus/admin/glogin.sql

SET SQLPROMPT “_USER @ _CONNECT_IDENTIFIER> “

کاراکتر Sqlprefix در sqlplus

فرض کنید در حال نوشتن پرس و جویی طولانی در محیط sqlplus هستیم، در همین حال اسامی فیلدهای جداول را به صورت دقیق بخاطر نداریم، در این صورت ممکن از ادامه نوشتن این پرس و جو منصرف شویم تا اسامی ستونهای جدول را مورد بازبینی قرار دهیم(describe)!!!

روش بهتری هم برای یافتن اسامی ستونهای جدول در حین اجرای این پرس و جو وجود دارد که ان هم استفاده از sqlprefix می باشد. منظور از Sqlprefix کاراکتری است که اجازه اجرای دستوری را در حین نوشتن پرس و جو ممکن می سازد.

(بیشتر…)

افزودن کامنت در زمان تغییر مقدار یک پارامتر

در زمان تغییر مقدار یک پارامتر، می توان در انتهای دستور(alter system)، توضیحی را اضافه نمود. برای مثال، در دستور زیر، مقدار پارامتر open_cursors را به عدد 800 تغییر داده و توضیح می دهیم که مقدار قبلی ان چه عددی بوده است:

SQL> alter system set open_cursors=800 comment=’old value is 300′;
System altered.

برای مشاهده این توضیحات، می توان به ویوی v$parameter رجوع کرد:

select name,value, update_comment from v$parameter where name =’open_cursors’;

NAME VALUE UPDATE_COMMENT
——————— ———— ———————
open_cursors 800 old value is 300

متغیر TWO_TASK

برای اتصال از راه دور به یک بانک اطلاعاتی در محیط sqlplus، معمولا از فرمت زیر استفاده می شود:

[oracle@ol7 ~]$ sqlplus usef/abc@pdb1

با این توضیح که منظور از pdb1 همان net service nameای است که در فایل tnsnames.ora تعریف شده است:

pdb1=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ol7)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1)))

در این زمینه متغیری به نام TWO_TASK هم وجود دارد که طریق دیگری را برای اتصال از راه دور ممکن می سازد به این صورت که با تنظیم این متغیر به نام یک net service name دلخواه، دیگر از متغیر ORACLE_SID که سبب اتصال به instance محلی(local) می شد، استفاده نخواهد شد و به عبارتی دیگر، این متغیر در صورت استفاده، بر متغیر ORACLE_SID ارجحیت دارد.

مثال زیر را ببینید:

[oracle@ol7 ~]$ export TWO_TASK=pdb1
[oracle@ol7 ~]$ echo $ORACLE_SID
db

در چنین شرایطی، استفاده از دستور sqlplus سبب اتصال به محیط pdb1 خواهد شد البته به شرط وارد کردن نام کاربری و رمز صحیح:

[oracle@ol7 ~]$ sqlplus usef/abc
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 – 64bit Production
SQL>

همچنین دستور زیر نشان می دهد که این اتصال به صورت LOCAL برقرار نشده است:

[root@ol7 ~]# ps -eaf |grep LOCAL
oracle 14499 1 0 12:23 ? 00:00:00 oracledb (LOCAL=NO)

یکی از موارد کاربرد این متغیر به هنگام استفاده از pluggable database و اتصال به یک pdb مشخص برمی گردد. همچنین در صورت استفاده از سیستم عامل ویندوز، باید به جای تنظیم متغیر TWO_TASK از متغیر LOCAL استفاده شود.

ایجاد و مدیریت job با کمک بسته DBMS_SCHEDULER

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

در این متن، قصد داریم به بسته dbms_scheduler بپردازیم.

(بیشتر…)

دانلود نرم افزار و کتابهای اوراکل

***دانلود کتابهای دانشگاه اوراکل

***دانلود نرم افزار اوراکل نسخه 19c

***دانلود اوراکل اکسپرس 18c

***دانلود اوراکل لینوکس 7.9

***دانلود اوراکل لینوکس 8.5(دانلود oracle linux 8.5)

***دانلود نرم افزار PLSQL Developer

***دانلود نرم افزار SSH Secure ShellClient، putty و VNC Viewer

 

ویژگی های جدید SecureFile در 12c

1parallel DML: در نسخه 11g صرفا برای LOB segmentای که در جدول پارتیشن قرار دارد، امکان انجام عملیات parallel DML وجود دارد. در نسخه 12c، این امکان برای جداول پارتیشن بندی نشده هم به وجود آمد:

alter session force parallel dml;

insert into usef.sec_lob select * from usef.aks;

2پیش فرض شدن SecureFile برای ذخیره سازی LOB: در اوراکل 12c، مقدار پیش فرض پارامتر db_securefile برابر PREFERRED می باشد که سبب خواهد شد تا هر Lob segmentای که ایجاد می شود، به صورت SecureFile باشد.

3.زمانی که جدولی با استفاده از data pump به اوراکل 12c منتقل میشود ، lobsegment آن را می توان به صورت SecureFile ایجاد نمود:

TRANSFORM=LOB_STORAGE:SECUREFILE|BASICFILE|DEFAULT|NO_CHANGE

با تنظیم این پارامتر به SecureFile می توان به این هدف رسید:

impdp hr/hr DIRECTORY=dpdump_dir DUMPFILE=hr.dmp TRANSFORM=LOB_STORAGE:SECUREFILE

Identity Column در اوراکل 12c

تا قبل از اوراکل نسخه 12c، برای مقدار دهی خودکار ستون کلید اصلی، معمولا از sequence استفاده می شد. در اوراکل 12c، این کار با کمک قابلیت Identity Column قابل انجام است البته اوراکل هم در پس زمینه این ویژگی، از sequence استفاده می کند و استفاده از ویژگی Identity Column، منجر به ایجاد sequence خواهد شد.

(بیشتر…)