استفاده از Unified auditing در حالت read only و محیط دیتاگارد

همانطور که می دانید، زمانی که دیتابیس در حالت read only قرار دارد امکان ثبت اطلاعات در جداول دیتادیکشنری از بین خواهد رفت این قاعده برای جداول مربوط به auditing(نظیر aud$unified) هم صادق است از اینرو نمی توان عملیات انجام شده توسط کاربران را در دیتابیس ذخیره کرد.

در این شرایط، در صورت استفاده از قابلیت Unified auditing، اوراکل auditهای انجام شده را در محیط سیستم عامل ثبت خواهد کرد.

عملیات انجام شده توسط کاربران در قالب فایلهای باینری، با پسوند bin. و در مسیر ORACLE_BASE/audit/$ORACLE_SID$ ثبت خواهند شد و امکان مشاهده محتویات این فایلهای باینری از طریق ویوی unified_audit_trail فراهم می شود.

(بیشتر…)

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

زمانی که 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.

(بیشتر…)

اهدای مجوز insert و update در سطح ستون

مجوزهای insert و update را می توان در سطح ستونهای یک جدول به کاربران اهدا نمود.

دستور grant در مثال زیر، مجوز اجرای دستور update بر روی ستونهای name و last_name از جدول sys.mytbl را به کاربر usef اهدا می کند:

SQL> create table sys.mytbl(id number,name varchar2(9),last_name varchar2(9));

Table created

SQL> insert into sys.mytbl values(1,’vahid’,’usefzadeh’);

1 row inserted

SQL> commit;

Commit complete

SQL> grant update(name,last_name) on mytbl to usef;

Grant succeeded

(بیشتر…)

ارسال unified audit trail به syslog و Event Viewer(اوراکل 18c/19c)

در اوراکل 18c، پارامتری به نام UNIFIED_AUDIT_SYSTEMLOG اضافه شد که امکان نوشتن unified audit trail را در محیط سیستم عامل فراهم می کند با این قابلیت می توان فیلدهای کلیدی unified audit trail را در محیط لینوکس به syslog و در محیط ویندوز به Event Viewer فرستاد.

SQL>  show parameter unified_audit_systemlog

NAME                                   TYPE       VALUE

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

unified_audit_systemlog             string

قصد داریم با طی چند مرحله، این قابلیت را در محیط لینوکس پیکربندی کنیم.

(بیشتر…)

اوراکل 19c- ایجاد کاربران سیستمی به صورت Schema Only Account

با ایجاد دیتابیس اوراکل، به ازای هر component انتخابی، تعدادی user ایجاد خواهند شد. برای نمونه، اسامی تعدادی از componentها به همراه کاربرانی که برای آنها ایجاد می شود را در قسمت زیر می بینید:

Oracle Multimedia: MDSYS,ORDDATA,ORDPLUGINS,SI_INFORMTN_SCHEMA

Oracle Database Vault: DVF,DVSYS

Oracle XML Database: ANONYMOUS

Oracle Text: CTXSYS

تا قبل از اوراکل 19c، برای این نوع از کاربران سیستمی، از روش احراز هویت، PASSWORD استفاده می شد به همین جهت، با ایجاد دیتابیس در این نسخه ها(قبل از 19c)، تعداد زیادی از کاربران، پسورد default داشتند.

(بیشتر…)

اوراکل 19c- ویژگی Audit Only Top-Level SQL Statements

در صورتی که حجم لاگ ایجاد شده توسط قابلیت unified auditing نسبتا زیاد باشد، برای مراجعه و نگهداری اطلاعات audit trail، ممکن است با مشکل پرفورمنس و کمبود استوریج مواجه شویم بنابرین auditing باید طوری پیکربندی شود که حتی المقدور، اطلاعات اضافه ای در جدول مربوطه، ثبت نگردد.

ویژگی جدید اوراکل 19c که Auditing Only Top-Level SQL Statements نام دارد، می تواند در این زمینه موثر واقع شود.

(بیشتر…)

ویژگی Schema Only Accounts در اوراکل 18c و 19c

در نسخه های ماقبل اوراکل 18c، ایجاد یک user تنها با تعیین متد AUTHENTICATION آن امکان پذیر است و به صورت کلی، در این نسخه ها(12c,11g,10g)، سه متد AUTHENTICATION برای کاربران وجود دارد:

Password: create user usef1 identified by password;

External: create user usef2 identified externally;

Global: create user usef3 identified globally;

در صورت استفاده از متد Password، شکل hash شده پسورد کاربر در جدولی از بانک ذخیره شده(جدول $user) و در دو حالت دیگر(External – Global)، پسوردی از کاربر در دیتابیس ذخیره نخواهد شد و AUTHENTICATION خارج از دیتابیس انجام می شود.

اوراکل 18c با ارائه یک قابلیت جدید، امکان ساخت user را بدون تعیین متد AUTHENTICATION فراهم کرد که استفاده از این قابلیت، منتج به عدم امکان لاگین مستقیم به این نوع از کاربران خواهد شد.

(بیشتر…)

اتصال از راه دور به دیتابیس بدون استفاده از listener

پرسش: چگونه می توان در زمان پایین بودن سرویس listener، به صورت از راه دور به دیتابیس متصل شد؟

در متن پیش رو، خواهیم دید که علاوه پروسس listener، پروسس های دیگری چون Dispatcher، هم امکان اتصال از راه دور را فراهم می کنند.

(بیشتر…)

lock/unlock کردن کاربران بدون داشتن مجوز alter user

قصد داریم به کاربری “مجوز unlock کردن کاربران دیگر” را اهدا کنیم! می دانیم که این کار با دادن مجوز alter user به آن کاربر، قابل انجام خواهد بود منتها این مجوز، قابلیتهای دیگری چون تغییر پسورد کاربران، قفل کردن آنها و … را هم به آن کاربر خواهد داد!

در نتیجه، اهدای مجوز alter user، گزینه مناسبی برای این کار نخواهد بود و باید به دنبال راه حل دیگری برای حل این مسئله باشیم!

(بیشتر…)

Auditing در محیط Active Data Guard

در زمان استفاده از Active Data Gaurd، ممکن است نیاز باشد تا نظارتی بر روی دسترسی کاربران به جداول صورت پذیرد. با توجه به read only بودن ADG، طبیعی است که امکان استفاده از $aud برای ثبت auditing امکان پذیر نخواهد بود و تنظیم پارامتر audit_trail به مقدار DB نمی تواند در این محیط موثر باشد.

(بیشتر…)