ویژگی 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 نمی تواند در این محیط موثر باشد.

(بیشتر…)

سیر تکاملی ذخیره سازی پسورد کاربران dblink(ویژگی DICTIONARY CREDENTIALS ENCRYPT)

در اوراکل 10gR1، پسورد کاربران استفاده شده برای dblink، بدون رمزنگاری و بصورت کاملا شفاف(clear text) در جداول data dictionary ذخیره می شدند و امکان مشاهده کلمه عبور به صورت clear text، از طریق ویوهای data dictionary امکان پذیر بود:

SQL*Plus: Release 10.1.0.4.2 – Production on Wed Apr 18 11:23:01 2018

SQL> create database link dblinkname connect to usef identified by “pass@123” using ‘tns_name’;

Database link created.

SQL> select DB_LINK,USERNAME,PASSWORD  from USER_DB_LINKS;

DB_LINK              USERNAME   PASSWORD

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

DBLINKNAME      USEF       pass@123

(بیشتر…)

تهیه دامپ از جداول auditing در اوراکل 12c

در اوراکل 11g، امکان گرفتن دامپ از جدول $aud با کمک data pump وجود ندارد:

[oracle@myhost ~]$ expdp directory=mrm dumpfile=aud.dmp tables=aud$

Export: Release 11.2.0.4.0 – Production on Sat Dec 8 17:30:47 2018

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Starting “SYS”.”SYS_EXPORT_TABLE_01″:  sys/******** AS SYSDBA directory=mrm dumpfile=aud.dmp tables=aud$

Estimate in progress using BLOCKS method…

Total estimation using BLOCKS method: 0 KB

ORA-39166: Object SYS.AUD$ was not found.

ORA-31655: no data or metadata objects selected for job

Job “SYS”.”SYS_EXPORT_TABLE_01″ completed with 2 error(s) at Sat Dec 8 17:30:59 2018 elapsed 0 00:00:04

(بیشتر…)

Data Masking از طریق Data Pump

در زمان انتقال اطلاعات از یک بانک عملیاتی به یک بانک تستی، ممکن است نیاز باشد تا اطلاعات حساس به طور شفاف به بانک مقصد منتقل نشوند در این صورت اگر از data pump برای جابجایی دیتا استفاده می کنیم، می توانیم در زمان برگرداندن دیتا با دستور impdp، داده های حساس را دستکاری کنیم. این کار، از طریق پارامتر REMAP_DATA و یک function(که از قبل در بانک تستی موجود است)، قابل انجام خواهد بود.

REMAP_DATA=[schema.]tablename.column_name:[schema.]pkg.function

(بیشتر…)

دست گرمی با پسوردفایل

همانطور که می دانید، برای لاگین از راه دور به بانک اطلاعاتی، آن هم از طریق administrative privilegeها(از قبیل sysdba و sysoper)، ناگزیر باید password file را برای بانک ایجاد کرده باشیم در غیر این صورت، با خطا مواجه خواهیم شد:

[oracle@myhost ~]$ sqlplus “sys/a@mydb1 as sysdba”

SQL*Plus: Release 18.0.0.0.0 – Production on Sat Aban 26 12:27:51 1397

Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

ERROR:

ORA-01017: invalid username/password; logon denied

Enter user-name:

(بیشتر…)