در پایگاهداده اوراکل میتوان بانک اطلاعاتی را با وضعیتهای مختلف راه اندازی کرد. برای اینکار باید با کاربر 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 رفت.