دستورات کنسولی محیط SQLPlus - قسمت دوم

شما در محیط SQL Plus می‌توانید از دستوراتی به جز دستورات SQL استفاده نمایید. این دستورات را محیط SQL Plus در اختیار شما قرار داده‌است.

دستور PROMPT برای نمایش یک متن در خروجی استفاده می‌شود.

SQL> PROMPT SALAM
SALAM

دستور SET TIME ON باعث می‌شود تا در خط فرمان شما زمان جاری سیستم اضافه گردد.

SQL> SET TIME ON;
05:45:39 SQL>
05:45:45 SQL>

دستور SET TIME OFF باعث می‌شود تا خط فرمان شما به حالت اولیه باز گردد (حالتی که زمان جاری سیستم نمایش داده نمی‌شود).

05:45:45 SQL> SET TIME OFF;
SQL>
SQL>

ادامه مطلب...
۱۸ فروردين ۹۴ ، ۲۰:۲۸ ۰ نظر
مهدی غفاری

فایل‌های راه انداز

در این فایل‌ها اطلاعاتی نگهداری می‌شوند که اوراکل از آن‌ها برای پیکربندی بانک اطلاعاتی استفاده می‌کند.
از جمله نام بانک اطلاعاتی، اندازه حافظه ای که Instance از آن استفاده می‌کند، محل Control File ها، تنظیمات سایر زبان‌هایی که پشتیبانی می‌شوند و غیره. هنگامی که Instance راه اندازی می‌شود از این فایل برای پیکربندی حافظه SGA و فرایندهای پس زمینه استفاده می‌گردد.

علاوه بر این، در این فایل صدها پارامتر دیگر نیز وجو دارد که اوراکل از آن ها در مواقع مورد نیاز استفاده می‌کند. به هنگام ایجاد بانک اطلاعاتی و با تغییر مقادیر پیکربندی اطلاعات، این فایل نیز بروز می‌شود. ترتیب پارامتر ها و کوچک و بزرگ بودن حروف هیچ تاثیری در این فایل ندارد.

انواع فایل های پیکربندی

  • PFILE

از اوراکل 8i به بعد، پارامترهای مربوط به بانک اطلاعاتی از قبیل نام بانک اطلاعاتی، پارامترهای مرتبط با حافظه، محل Control Fileها و غیره، در فایلی به نام PFILE که مخفف Parameter File می باشد، ذخیره می شوند.
این فایل یک فایل استاتیک بوده و توسط هر ویرایشگری مانند Notepad قابل ویرایش است.
این فایل تنها به هنگام راه اندازی بانک اطلاعاتی خوانده شده و پس از آن در صورتی که تغییری در این فایل ایجاد شود، تا زمانی که Instance مجدداً راه اندازی نشود، تغییرات در آن اعمال نخواهد شد.
همچنین در صورتی که به هنگام راه اندازی بانک اطلاعاتی تغییری در پارامترهای راه اندازی ایجاد شود، این تغییرات در PFILE ثبت نمی شوند.

  • SPFILE

با توجه به محدودیت های فوق، از اوراکل 9i و به بعد، فایلی به نام SPFILE که مخفف Server Parameter File می باشد، معرفی شد.
این فایل توسط هیچ ویرایشگری قابل ویرایش نبوده و تنها با استفاده از دستور ALTER SYSTEM می‌توان مقادیر پارامترهای آن را تغییر داد.

ادامه مطلب...
۱۸ فروردين ۹۴ ، ۱۹:۳۸ ۰ نظر
مهدی غفاری

تغییر فضای SGA و PGA بعد از نصب اوراکل

فایل SPFILEORCL.ORA مخزن خود را از مسیر زیر باز کنید:

$Oracle_home/DataBase/product/11.2.0/dbhome_1/database/SPFILEORCL.ORA

با مقداردهی دوباره متغیرهای این فایل می‌توان فضای SGA و PGA را تغییر داد. از اونجایی که این فایل یک فایل باینری است تغییر آن ابزار مناسب آن را می‌خواد که آن را در اختیار نداریم.

نکته: از اونجایی که اسم دیتابیس ما ORCL است این فایل به اسم SPFILEORCL نشان داده شده است.

برای تغییر این فایل از اوراکل خواهش می‌کنیم بی‌خیال SPFILE بشه و از روی SPFILE برای ما یک PFILE ایجاد کند:

CREATE PFILE FROM SPFILE;

زمانی که این دستور را اجرا می‌کنیم یک فایل جدید در همان مسیر SPFILE برای ما ساخته می‌شود به نام INITorcl.ORA با بازکردن این فیال با یک ادیتور متن خواهید دید که این فایل دیگر یک فایل باینری نیست. برای تغییر فضای SGA و PGA دنبال ۲ متغیر sga_target, pga_aggregate_target بگردید و آنها را مجدد مقداردهی کنید.

  • sga_target
  • pga_aggregate_target

ادامه مطلب...
۱۸ فروردين ۹۴ ، ۱۸:۵۰ ۱ نظر
مهدی غفاری

Viewهای پیش‌فرض بانک‌اطلاعاتی اوراکل

در بانک اطلاعاتی گروهی View به صورت پیش فرض موجود می باشند. این View ها خواندنی بوده و بر روی آنها نمی توان تغیری اعمال کرد، این View ها به سه دسته تقسیم بندی می شوند:

  • USER: این View ها اطلاعاتی در مورد اشیایی می‌دهند که کاربر جاری مالک آنها می‌باشد.
  • ALL: این View ها اطلاعاتی در مورد اشیایی می‌دهند که کاربر به آنها دسترسی دارد.
  • DBA: این View ها اطلاعاتی در مورد اشیایی می‌دهند که در بانک اطلاعاتی موجود می‌باشند.
۱۷ فروردين ۹۴ ، ۲۰:۰۶ ۰ نظر
مهدی غفاری

روشن و خاموش کردن بانک‌اطلاعاتی

در پایگاه‌داده اوراکل میتوان بانک اطلاعاتی را با وضعیت‌های مختلف راه اندازی کرد. برای اینکار باید با کاربر SYS وارد محیط SQLPLUS شد(تنها کاربری که می‌تونه این کارو انجام بده چون کاربران دیگه role مربوطه رو ندارند). بانک‌اطلاعاتی برای راه اندازی کامل سه مرحله را پشت سر می گذارد.

  • STARTUP NOMOUNT: در این حالت فضای SGA اختصاص داده می‌شود. (رم از سیستم‌عامل گرفته می‌شود)، در حقیقت در این وضعیت تنها خود Instance راه اندازی شده ولی Control File خوانده نشده و Data File ها نیز برای استفاده باز نمی شوند و هیچ اتصالی نیز به بانک اطلاعتی وجود ندارد.

نکته: گاهی اوقات به هنگام انجام کارهای مربوط به نگهداری و Recovery بانک اطلاعاتی نمی توان بانک اطلاعاتی را برای دسترسی تمام کاربران باز نمود. به همین دلیل باز نمودن بانک اطلاعاتی در این حالت ضروری است. همچنین از حالت NOMOUNT به هنگام ایجاد بانک اطلاعاتی و ایجاد مجدد Control File ها استفاده می شود. 

  • STARTUP MOUNT: در این حالت Data File ها دوباره خوانده شده ولی بانک اطلاعاتی سرویس‌دهی نخواهد کرد. در حقیقت Instance به بانک اطلاعاتی متصل شده، Control Fileها را باز نموده و نام و مسیر Data File ها و Redo Log File ها را از آن ها می خواند، ولی هیچ تغییری نمی توان روی داده های بانک اطلاعاتی انجام داد. چون در این حالت هنوز به Data File های بانک اطلاعاتی نمی توان دسترسی داشت.

در صورتی که بانک اطلاعاتی قبلاً در حالت NOMOUNT راه اندازی شده باشد، می توان با استفاده از دستور زیر آن را در حالت MOUNT قرار داد:

SQL> ALTER DATABASE MOUNT;

همچنین با استفاده از دستور زیر می توان مستقیماً بانک اطلاعاتی را در حالت MOUNT راه اندازی نمود: 

SQL> STARTUP MOUNT;

معمولاً هنگامی که نیاز به Recovery کامل بانک اطلاعاتی ، تغییر نام Data Fileها، تغییر به حالت Archive Log Mode و غیره می باشد، لازم است تا بانک اطلاعاتی را در حالت MOUNT راه اندازی نمود.

    • STARTUP OPEN: در این حالت بانک اطلاعاتی به طور کامل آماده سرویس‌دهی می شود، این دستور معادل دستور STARTUP می‌باشد. در این حالت تمام کاربران مجاز می توانند به بانک اطلاعاتی متصل شده و عملیات مختلفی را روی آن انجام دهند. قبل از این مرحله کاربران عمومی نمی توانستند به بانک اطلاعاتی متصل شوند. دقت داشته باشید زمانی که دستور STARTUP را به تنهایی صادر می‌کنید هر ۳ مرحله به طور خودکار انجام می‌شود. ولی اگر قبلاً بانک اطلاعاتی در حالت MOUNT راه اندازی شده باشد، می توان با استفاده از دستور زیر آن را در حالت OPEN قرار داد:
    SQL> ALTER DATABASE OPEN;

    می توان با استفاده از یکی از دستورات زیر مستقیماً بانک اطلاعاتی را در حالت OPEN راه اندازی نمود:

    SQL> STARTUP;
    SQL> STARTUP OPEN;

    به هنگام باز کردن بانک اطلاعاتی، سرور اوراکل ابتدا تمام Data File ها و Redo Log File ها را باز نموده و سپس چک می کند که حتماً بانک اطلاعاتی در حالت سازگار قرار داشته باشد. اگر بانک اطلاعاتی در حالت سازگار نباشد، در این صورت قبل از باز نمودن بانک اطلاعاتی، فرایندهای پس زمینه عملیات Instance Recovery را به طور اتوماتیک انجام می دهند. اگر علاوه بر Instance Recovery نیاز به Media Recovery نیز باشد، اوراکل اعلام می کند که نیاز به Recovery بانک اطلاعاتی می باشد و تا زمانی که شما عملیات Recovery را انجام ندهید بانک اطلاعاتی را باز نخواهد کرد.

    نکته: بعد از اجرای STARTUP اول دیتابیس دیگر اجازه اجرای STARTUP را نمی‌دهد(خطاهای زیر) در این حالت برای ادامه مراحل استارت‌کردن اوراکل از Alter در ابتدای دستورات استفاده کنید.

    (ORA-01081: cannot start already-running ORACLE - shut it down first)
    (SP2-0734: unknown command beginning "startup op..." - rest of line ignore)

    نکته: اگر بخواهیم از مراحل پایینتر به مرحله بالاتر برویم فقط با alter می‌توانیم اینکار را انجام دهیم:

    alter database open

    نکته: اگر هر کدام از حالت‌های استارت را از لولی بالاتر به طور مستقیم برای روشن کردن دیتابیس به کار بگیریم به طور خودکار لول‌های قبلی نیز اجرا می‌شوند. به عنوان مثال وقتی STARTUP OPEN کنیم دیتابیس به طور کامل اجرا می‌شود.

    نکته: نمی‌توان از لول‌های بالاتر به لول‌های قبل مستقیم سوییچ کرد(حتی با ALTER) حتماً باید دیتابیس SHUTDOWN شود بعد از ابتدا به آن لول از START رفت.

    ادامه مطلب...
    ۱۷ فروردين ۹۴ ، ۲۰:۰۲ ۲ نظر
    مهدی غفاری

    ایجاد یک بانک‌ جدید و تنظیم EM

    ممکن است در طول کار با بانک اطلاعاتی اوراکل نیاز به ایجاد یک مخزن یا همان DataBase جدید داشته باشید با استفاده از دستور ذیل می توانید اقدام به تولید یک بانک اطلاعاتی جدید نمایید.

    DBCA

    پس از وارد کردن این دستور یک پنجره برای شما باز خواهد شد و کمک می‌کند تا مراحل ایجاد یک بانک‌اطلاعاتی جدید را پیش بگیرید. برای حذف یک مخزن در بانک اطلاعاتی اوراکل می‌توانید از دستور زیر در محیط SQLPLUS استفاده نمایید.

    DROP DATABASE;

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

    SELECT CREATED,NAME FROM V$DATABASE;

    تنظیم محیط EM اوراکل برای بانک جدید

    با ایجاد یک بانک اطلاعاتی جدید ممکن است نیاز به محیط مدیریت گرافیکی اوراکل یا همان EM برای بانک اطلاعاتی جدید داشته باشید. برای اینکار می‌توانید محیط EM متعلق به بانک اطلاعاتی قبل را حذف کرده سپس اقدام به ایجاد EM جدید برای بانک اطلاعاتی جدید نمایید. برای اینکار کافیست مراحل زیر را پیش بگیرید.

    SET ORACLE_SID=LAST_DATABASE_NAME

    EMCA -DECONFIG DBCONTROL DB

    تا این مرحله تنظیمات مربوط به EM بانک اطلاعاتی قبلی حذف می‌گردد.

    SET ORACLE_SID=NEW_DATABASE_NAME

    EMCA -CONFIG DBCONTROL DB -REPOS RECREATE

    EMCTL START DBCONSOLE

    در این مراحل تنظیمات مربوط به EM بانک اطلاعاتی جدید انجام می‌گیرد.

    ۱۷ فروردين ۹۴ ، ۱۹:۲۹ ۰ نظر
    مهدی غفاری

    شنونده اوراکل(LSNRCTL)

    هر نمونه برای دریافت در خواست و پاسخ دهی به نیاز کاربران از یک شنونده استفاده می‌کند در اوراکل بعد از ایجاد بانک اطلاعاتی یک شنونده به طور خودکار راه اندازی می‌شود. برای اطلاع از نام این شنونده می‌توان از دستور زیر استفاده کرد:

    LSNRCTL SHOW CURRENT_LISTENER

    برای کسب اطلاعات از وضعیت شنونده جاری میتوان از دستور زیر استفاده کرد:

    LSNRCTL STATUS

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

    نکته: حتماً توجه داشته باشید که برای stop یا start نمودن شنونده حتماً از طریق شل ادمین سیستم اقدام کنید.

    LSNRCTL STOP
    LSNRCTL START
    ۱۷ فروردين ۹۴ ، ۱۹:۲۳ ۱ نظر
    مهدی غفاری

    DataBase Resident Connection Pool یا DRCP

    در اوراکل ابزاری بنام DRCP وجود دارد این ابزار مدیریت ارتباطات کاربران را عهده دار است، DRCP همانند واسط JNDI در درون بانک اطلاعاتی عمل می‌کند و باعث می‌شود تا منابع سخت‌افزاری کامپیوتر سرویس دهنده آزاد‌تر باشد.

    ۱۷ فروردين ۹۴ ، ۱۹:۲۱ ۰ نظر
    مهدی غفاری

    معماری‌های بانک اطلاعاتی اوراکل در سطح سرویس دهنده

    بانک‌اطلاعاتی اوراکل دو معماری در سمت سرویس دهنده برای پردازش درخواست‌های کاربران ارائه می‌دهد:

    • معماری Dedicated Server: زمانی از این معماری استفاده می کنیم که تعداد تراکنش‌های بانک اطلاعاتی کم ولی حجم تراکنش‌ها بالا است.
    • معماری Shared Server: زمانی از این معماری استفاده می‌کنیم که تعداد تراکنش‌ها بالا ولی حجم تراکنش‌ها پایین است. در حالت‌هایی ممکن است که بخواهیم بعد از نصب اوراکل معماری اوراکل را به حالت Shared Server تغیر دهیم، برای اینکار کافیست از دستور زیر استفاده کنیم.
    ALTER SYSTEM SHARED_SERVER=80;

    در این حالت 80 فرایند به طور همزمان اقدام به پاسخگویی نیاز کاربران می کنند. حال اگر بخواهیم معماری را به حالت Dedicated Server تغیر دهیم میتوانیم از دستور ذیل استفاده نماییم.

    ALTER SYSTEM SHARED_SERVER=0;
    ۱۷ فروردين ۹۴ ، ۱۹:۱۹ ۰ نظر
    مهدی غفاری

    session در اوراکل

    هرگاه کاربری به بانک اطلاعاتی متصل گردد، بانک اطلاعاتی برای کاربر مذکور یک جلسه یا همان SESSION ایجاد می‌کند، با استفاده از دستور زیر می‌توان کاربرانی که با نام کاربری SYSTEM به اوراکل متصل شده‌اند را مشاهده کرد.

    SELECT SERIAL# , SID , USERNAME , MACHINE , STATUS , PROGRAM FROM V$SESSION WHERE USERNAME =’SYSTEM’;

    حال اگر بخواهیم SESSION کاربری را حذف نماییم و باعث قطع ارتباط کاربر شویم میتوانیم از دستور زیر استفاده کنیم.

    ALTER SYSTEM KILL SESSION ’75,20’;

    دقت داشته باشید که عدد 75 به SID اشاره کرده و عدد 20، SERIAL# است. برای یافتن تعداد SESSION های فعال می‌توان از دستور زیر استفاده کرد.

    SELECT SESSIONS_CURRENT FROM V$LICENSE;
    ۱۷ فروردين ۹۴ ، ۱۹:۱۵ ۰ نظر
    مهدی غفاری