آشنایی با محیط SQLcl

ابزار SQLcl در سال 2014 توسط تیم Oracle SQLDeveloper ارائه شد، این ابزار مشابه sqlplus محیطی command lineی را برای DBA فراهم  می سازد با این تفاوت که قابلیت و راحتی های فراوانی را نسبت به sqlplus  به همراه دارد.

نمونه هایی از مزیتهای این ابزار را نسبت به sqlplus مشاهده می کنید:

1.برای استفاده از SQLcl نیازی به نصب اوراکل کلاینت نخواهیم داشت همچنین این ابزار نصب بسیار راحتی دارد.

2.دستورات کاربردی فراوانی توسط این ابزار ارائه شده اند نظیر HISTORY، DDL، CTAS، Spool To CSV و ….

3.کار کردن با خط فرمان در این محیط نسبت به sqlplus راحت تر است(به دلیل ویژگی هایی چون TAB COMPELETION ). همچنین خروجی پرس و جوها به شکل خواناتری نمایش داده می شوند.

4.SQLcl امکان اتصال بین دو دیتابیس را بدون استفاده از database link فراهم می کند.

و …

(بیشتر…)

انتقال خودکار Restore Point از primary به standby

تا قبل از نسخه 19c، ایجاد restore point در محیط primary، منجر به ایجاد آن در محیط standby نمی شد. در سناریوی زیر که در اوراکل نسخه 18cR3 اجرا شده است این مسئله را می بینید:

Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 – Production

Version 18.3.0.0.0

–Primary

SQL> select * from v$restore_point;

no rows selected

–Standby

SQL> select * from v$restore_point;

no rows selected

–Primary

SQL> create restore point before_upg;

Restore point created.

SQL>  select NAME,SCN from v$restore_point;

NAME                   SCN

———-                 —————

BEFORE_UPG    870272395791

SQL> alter system switch logfile;

System altered.

–Standby

SQL> select NAME,SCN from v$restore_point;

no rows selected

(بیشتر…)

آموزش PL/SQL قسمت نهم – CURSOR در اوراکل PL/SQL

دیتابیس اوراکل برای هر دستور SQL یک فضای حافظه به نام CONTEXT AREA ایجاد می کند که اطلاعات پردازشی دستور در این محل ذخیره می شود.

CURSOR یک اشاره گر به CONTEXT AREA است و PL/SQL با استفاده از CURSOR این فضا را کنترل می کند و اطلاعات آن را نمایش می دهد. برای مثال با استفاده از CURSOR می توان تعداد کل سطرهای دستکاری شده توسط یک دستور DML را مشاهده نمود یا محتویات داده در هر سطر از یک QUERY را بدست آورد.

(بیشتر…)

مروری بر ویژگی های جدید DG Broker در اوراکل 19c

در این متن به ویژگی های جدید Data Guard Broker که در اوراکل نسخه 19c اضافه شده اند، خواهیم پرداخت.

Export و Import از پیکربندی DG Broker

در نسخه 19c می توان از فایل پیکربندی DG Broker دامپی را در قالب فایل متنی ایجاد کرد و در صورت نیاز، اقدام به بازسای فایل پیکربندی DG Broker کرد.

دستور زیر broker configuration را در فایل متنی mybrokerfile.txt قرار خواهد داد:

[oracle@RAC1 ~]$ dgmgrl sys/sys@tehran

DGMGRL for Linux: Release 19.0.0.0.0 – Production on Thu Oct 22 13:15:42 2020

Version 19.6.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Welcome to DGMGRL, type “help” for information.

Connected to “orcl”

Connected as SYSDBA.

DGMGRL>  EXPORT CONFIGURATION TO ‘mybrokerfile.txt’;

Succeeded.

(بیشتر…)

آموزش PL/SQL قسمت هشتم – تابع در اوراکل PL/SQL

در این قسمت تابع (FUNCTION) در  PL/SQL را توضیح می دهیم. تابع از هر لحاظ مانند پروسیجر است با این تفاوت که برخلاف پروسیجر، یک مقدار برگردانده می شود.

بنابراین تمام مطالبی که در قسمت هفتم آموزش PL/SQL توضیح داده شد در مورد تابع نیز صادق است. (بیشتر…)

روشی برای تغییر ایندکس primary key – اوراکل 12c

شرایط زیر را در نظر بگیرید:

SQL> create table jadval1 (id number,name varchar2(14),last_name varchar2(14));

Table created

SQL> insert into jadval1 select level,’VAHID’,’USEFZADEH’ from dual connect by level <=10000;

10000 rows inserted

SQL> commit;

Commit complete

SQL> create index ind_id on jadval1(id);

Index created

در چنین شرایطی قصد داریم ستون id را به عنوان primary key تعریف کنیم:

SQL> alter table JADVAL1 add constraint pk primary key (ID);

Table altered

(بیشتر…)

مشاهده تاریخچه‏ ‏‏تغییرات پسورد کاربران با تنظیم PASSWORD_REUSE_MAX و PASSWORD_REUSE_TIME

اگر پارامترهای PASSWORD_REUSE_MAX و یا PASSWORD_REUSE_TIME را برای پروفایلی تنظیم کنیم، شکل hash شده پسورد کاربرانی که عضو ان پروفایل هستند در جدولی از دیتابیس به نام $user_history ثبت خواهد شد و از این طریق امکان برگرداندن پسورد کاربر به مقدار قبلی هم به وجود خواهد آمد:

SQL> alter profile default limit PASSWORD_REUSE_TIME  10;

Profile altered

SQL> alter user usef identified  by d;

User altered

SQL> select user#,substr(password,1,12) password ,password_date from user_history$;

     USER# PASSWORD     PASSWORD_DATE

———- ————————–

       120 T:0A20744AD0 09/20/2020 09

       120 T:E5A3AF0A52 09/20/2020 09

       120 T:CBCAAC7888 09/20/2020 09

برای برگرداندن پسورد کاربر به مقدار قبلی، می توان دستور alter user را به همراه عبارت  identified by values اجرا کرد.

alter user user_name identified by values “user_history$.passowrd”;

با تنظیم پارامترهای *_PASSWORD_REUSE به مقدار unlimited، پسورد جدیدی در جدول $user_history  ذخیره نخواهد شد.

 

اتصال به PDB با مجوز sysdba بدون تعیین پسورد(اوراکل 19.7)

همانطور که می دانید، با اجرای دستور  “sqlplus “/as sysdba در محیط container database، به صورت پیش فرض به root container متصل خواهیم شد:

 [oracle@OL7 ~]$ sqlplus “/as sysdba”

SQL*Plus: Release 18.0.0.0.0 – Production on Sun Sep 13 15:52:16 2020

Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 – Production

Version 18.5.0.0.0

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

———- —————————— ———- ———-

         2 PDB$SEED                       READ ONLY  NO

         3 PDB1                         READ WRITE NO

         4 PDB2                         READ WRITE NO

SQL> show con_id

CON_ID

——————————

1

(بیشتر…)

آموزش PL/SQL قسمت هفتم – پروسیجر در اوراکل PL/SQL

در این قسمت  پروسیجر(PROCEDURE) و روش استفاده از آن را توضیح می دهیم ولی در ابتدا لازم است با مفهوم زیربرنامه یا SUBPROGRAM آشنا باشیم.

در زبان PL/SQL، زیربرنامه یک واحد از برنامه است که کار خاصی را انجام می دهد. برنامه های اصلی از ترکیب این زیربرنامه ها تشکیل می شوند و به این ترتیب مفهوم طراحی MODULAR  شکل می گیرد. هر زیربرنامه می تواند بوسیله یک برنامه یا توسط یک زیربرنامه دیگر اجرا شود.

زیربرنامه های PL/SQL در واقع بلاک های PL/SQL هستند که برای آنها یک نام در نظر گرفته می شود و می توانند با تعدادی پارامتر فراخوانی شوند.

  (بیشتر…)

اوراکل 19c- ارتقا Grid Infrastructure در حالت Dry-Run

ارتقا نسخه Grid Infrastructure به نسخه بالاتر ممکن است به دلیل فراهم نبودن پیش نیازهای لازم، با خطا مواجه شود از این رو اوراکل در نسخه 19c قابلیت جدیدی را در این زمینه ارائه کرد که با کمک آن می توان قبل از ارتقای نسخه Grid Infrastructure، عملیات ارتقا را به صورت Dry-Run اجرا کرد تا قبل از انجام عملیات ارتقا، خطاهای احتمالی را شناسایی و برطرف شود.

در ادامه نحوه انجام این کار را مشاهده می کنید.

[grid@RAC1 ~]$ cd /grid19c/home/

[grid@RAC1 home]$ ./gridSetup.sh -dryRunForUpgrade

Launching Oracle Grid Infrastructure Setup Wizard…

(بیشتر…)