ایجاد synonym برای کاربران

ایجاد synonym برای کاربران در اوراکل 12c امکان پذیر است. این کار با کمک پارامتر مخفی enable_schema_synonyms_ قابل انجام می باشد:

SQL> alter system set “_enable_schema_synonyms” = true scope=spfile;

System altered.

برای مثال، بعد از تنظیم این پارامتر، می توانیم با کمک دستور زیر، برای کاربر usef، نام دیگری هم تعیین می کنیم:

SQL>  create schema synonym new_name for usef;

Schema synonym created.

(بیشتر…)

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:

(بیشتر…)

Substitution Variableهای جدید برای expdp/impdp

در زمان تهیه دامپ به صورت همروند، خروجی دامپ در فایلهای متعددی قرار خواهد گرفت که در نسخه های قبل از 12cR2، اسامی هر کدام از این فایلها با کمک متغیر %U و با یک شماره از هم متمایز می شد به عبارت دیگر، ایجاد دامپ همروند تنها از طریق این Substitution Variable قابل انجام بود:

 expdp \’sys/sy AS SYSDBA\’  directory=dr dumpfile=dump_%U.dmp schemas=usef parallel=4

 Export: Release 11.2.0.4.0 – Production on Sun Apr 15 16:33:35 2018

Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:

/u01/oracle/dump_01.dmp

/u01/oracle/dump_02.dmp

/u01/oracle/dump_03.dmp

(بیشتر…)

ستونهای VC_* در ویوهای data dictionary

همانطور که می دانید، تعدادی از فیلدهای مربوط به ویوهای data dictionary، هنوز(در اوراکل 18c) از نوع long می باشند. برای مثال، فیلد text در ویوی USER_VIEWS از این دسته می باشد:

SQL> desc USER_VIEWS

Name                          Type                     Comments                                                                

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

VIEW_NAME          VARCHAR2(128)          Name of the view

TEXT_LENGTH        NUMBER                    Length of the view text

TEXT                       LONG                         View text      

(بیشتر…)

فایل rc.local در RHEL 7

در نسخه های RHEL 4,5,6، از فایل rc.local برای استارت سرویسها و دستورارت در زمان بوت شدن سیستم استفاده می شود این فایل در نسخه RHEL 7، صرفا برای backward compatibility کماکان در دسترس می باشد. با مشاهده محتوای این فایل، به این مطلب خواهیم رسید:

[root@myhost ~]# cat /etc/rc.local

#!/bin/bash

# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES

# It is highly advisable to create own systemd services or udev rules

# to run scripts during boot instead of using this file.

# In contrast to previous versions due to parallel execution during boot

# this script will NOT be run after all other services.

# Please note that you must run ‘chmod +x /etc/rc.d/rc.local’ to ensure

# that this script will be executed during boot.

touch /var/lock/subsys/local

(بیشتر…)

نظارت اوراکل بر تغییرات جداول

در شبانه روز ممکن است دستورات DMLای متعددی بر روی جداول مختلف اجرا شوند، در نظر داشتن این مسئله، ذهن را متوجه چالش مهمی خواهد کرد!

از بین جداولی که بعضا حجم انها به چند صد میلیون می رسد، کدام یک بیشترین تغییرات را به لحاظ حجمی داشته اند؟ و به بیانی بهتر، برای کدام یک از جداول، باید(بهتر است) بروزرسانی امار(gather statistic) انجام شود؟

برای پاسخ به این دسته از سوالات، نیاز است تا نظارتی بر روی جداول صورت پذیرد و تعداد عملیات DMLای که بر روی انها انجام می شود، در جدولی از بانک ثبت شود.

(بیشتر…)

ایجاد Block Device برای ASM(دستور truncate – fallocate – dd)

در زمان راه اندازی Oracle ASM در یک محیط تستی، یکی از ملزومات، داشتن دیسک و یا پارتیشن اضافه و ازاد در سرور/ماشین می باشد. حال اگر به هر دلیلی اضافه کردن دیسک به سرور/ماشین امکان پذیر نباشد، چه باید کرد؟

در محیط لینوکس، این مسئله با ایجاد یک فایل حجیم و همچنین تبدیل ان به یک block device(با کمک loop device) قابل انجام خواهد بود. قرار است این فایل حجیم، نقش دیسک را در زمان راه اندازی و نگهداری Oracle ASM ایفا کند.

برای ایجاد فایل حجیم در محیط لینوکس، دستورات متنوعی وجود دارند که در ادامه به بررسی سه مورد از این دستورات می پردازیم.

(بیشتر…)

رجیستر خودکار بانک به چندین listener

همانطور که می دانید، هر listener می تواند در یک زمان به چند instance سرویس دهد و همچنین سرویسهای یک instance می تواند توسط چند listener هندل شود که در حالت پیش فرض،  هر instance به صورت خودکار، توسط پروسسهای پس زمینه اش(در اوراکل 11g توسط PMON و در 12c توسط LREG) به پورت 1521 و پروتکل TCP سرویس Listener رجیستر می شود و با این عمل، اصطلاحا dynamic registration انجام خواهد شد.

(بیشتر…)