چند نکته در دیتابیس اوراکل-قسمت ششم

چند نکته در دیتابیس اوراکل-قسمت اول
چند نکته در دیتابیس اوراکل-قسمت دوم
چند نکته در دیتابیس اوراکل-قسمت سوم
چند نکته در دیتابیس اوراکل-قسمت چهارم
چند نکته در دیتابیس اوراکل-قسمت پنجم

 

export داده های چند جدول در چندین فایل در اوراکل
روش اول: باید با دیتای زیاد تست شود
set colsep “;”
set linesize 9999
set trimspool on
set heading off
set pagesize 0
set wrap off
set feedback off
set newpage 0
set arraysize 5000
spool your_csv_file.csv
select rows from your tables;
spool off
روش دوم که یک ابزار جاوایی می باشد. به نام DBCrane
  • طبق گفته خود سایت سرعت آن 3 برابر imp/export می باشد.
  • سرعت آن از ابزارهای ETL نیز سریعتر می باشد.
  • بر روی همه سیستم عامل ها نصب می شود.
  • برای هر کدام از ورژن های جاوا یک نسخه مجزا دارد.
در مورد sql injection در اوراکل و حمله های جدید و راهکارهای جدید
معمولا درحال حاضر هریک از ابزارهای برنامه نویسی خود بصورت پیش فرض مسائل امنیتی بخصوص کنترل sql injection را رعایت می کنند. برای کنترل بیشتر بهتر است که از سخت افزارها و ابزارها استفاده شود.
یکی از راه کارها برای جلوگیری از Sql injection استفاده از Web Application Firewall –WAF می باشد.
برای چک کردن Sql injection ابزارهای مختلفی می باشد که ابزار Acunetix می تواند در این زمینه به شما کمک کند.
درباره Ad hoc Query
شاید خیلی جاها از این اصطلاح نام برده باشند.  این یک کلمه لاتین می باشد که در انگلیسی به معنی “برای این هدف” هم معنی می دهد. در واقع یک نوع کوئری می باشد که شما فقط در یک نوع قاعده خاصی که مورد نیاز شما باشد استفاده می گردد. در مثال زیر یک نمونه ساده از آن می باشد که اجرای هربار کوئری بر اساس نوع متغیر متفاوت می باشد.
l_query = "Select * from table where id = " + yourId
فانكشن Greatest و Least در اوراکل
جهت پيدا كردن كوچكترين عدد در بين مجموعه اعداد از  Least استفاده ميشود.
جهت پيدا كردن بزرگترين عدد در بين مجموعه اعداد از  Greatest استفاده ميشود.
مثال اول:

select least(4,5,6,7,8,nvl(null,-1)) low,
greatest(4,5,6,7,8,nvl(null,-1)) high
from dual
Result:
low = -1
high =>
مثال دوم:

select s.*,
greatest(sal,comm) high,
least(sal,comm) low
from salary s
استفاده CASE within RETURN در اوراکل
از این مدل می توانید به جای استفاده از -IF ELSIF- در فانکشن استفاده کنید برای برگرداندن یک مقدار:
CREATE OR REPLACE FUNCTION grade_translator (grade_in IN VARCHAR2)
RETURN VARCHAR2
IS
BEGIN
RETURN CASE grade_in
WHEN 'A' THEN 'Excellent'
WHEN 'B' THEN 'Very Good'
WHEN 'C' THEN 'Good'
WHEN 'D' THEN 'Fair'
WHEN 'F' THEN 'Poor'
ELSE 'No such grade'
END;
END;
درباره Blob
بدين صورت كه يك جدول ايجاد كنيد كه داراي يك فيلد Blob و يك يا چند فيلد ديگر برا ي كنترل يكتا بودن و عمليات جستجو كه داراي ايندكس باشد.
حال ديگر نيازي نيست كه جدولي را كه دراي فيلد Blob مي باشد در كوئري ها استفاده كنيد. فقط كافيست تا از طريق همان يك يا چند فيلد يكتا هر موقع كه نياز بود و در نتيجه كار به فيلد Blob خود دسترسي پيدا كنيد.
يكي از بهترين طراحي ها بدين گونه مي باشد زيرا اولا مي توانيد براي آن جدول Tablespace جداگانه ايجاد كنيد دوما مي توانيد براي ايجاد نسخه پشتيبان براي آن برنامه يزي كنيد و سوما تمام فايل هاي Blob شما بصورت متمركز درمي آيد و نحوه مديريت آن راحتر است.
انتخاب سايز سگمنت Blob
A Blob is a data type with an unbounded size. It can be many megabytes in size, much larger than any database interface can handle in a single I/O transfer. Therefore, Blobs are defined as a series of segments of uniform size, and the I/O interface transfers Blobs one segment at a time.
Blobs are a special case because there is a special Blob page type, on which other data types cannot be stored. The data page for a record containing a Blob stores a Blob ID, which indicates which Blob page the Blob is stored on. A Blob is stored on the same page as the primary record version, if it fits. If it does not fit on that page, special pages are allocated for the Blob–as many as are required–and an index is stored on the primary page. Blob pages are never shared; either a Blob is on a normal data page, or it has a page to itself.
It is advantageous to define a 👉Blob with a segment size equal to the page size. 👈If both the page size and the Blob segment size are 👉4096 bytes👈, queries of large Blobs can achieve a data transfer👉 rate of up to 20MB per second.👈 InterBase ceases to be any kind of bottleneck in this situation; it is more likely that the hardware I/O bus, the network bandwidth, or the middleware are the limiting factors for throughput.
Rate this post

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این قسمت نباید خالی باشد
این قسمت نباید خالی باشد
لطفاً یک نشانی ایمیل معتبر بنویسید.

keyboard_arrow_up
Oracle APEX Capabilities (OAC)