خب شاید بدونید که OEM با استفاده از سرویس gcstartup استارت خودکار خود رو موقع بالا اومدن سرور میزنه. ۲ تا از مسیرهایی که برای استارت زدن استفاده میکنه تو فایل /etc/oragchomelist مشخص شده
/u01/app/oracle/product/oemfmw_13c
/u01/app/oracle/product/agent_13c/agent_13.1.0.0.0:/u01/app/oracle/product/agent_13c/agent_inst
اگه نصبتون رو به صورت simple جلو رفتید auto-start ما یه مشکل کوچیک داره، در حقیقت اگه دیتابیس OEM شما روی همون سرور OEM باشه موقع بالا اومدن سرور OEM فقط کامپوننتهای خودش رو start میزنه و دیتابیس رو start نمیکنه
شما میتونید این عملکرد OEM رو با گذاشتن # جلوی خطوط فایل /etc/oragchomelist (همین فایل بالا) متوقف کنید و از اسکریپتی که در ادامه میگم استفاده کنید. اگه میخواین از همین سرویس OEM استفاده کنید و کارها رو به خودش بسپارید حتماً اسکریپتی تهیه کنید که دیتابیس رو به محض بالا اومدن سرور start کنه وگرنه هر دقعه بعد از ریستارت سرور سرویسهای OEM بالا میان ولی باید دیتابیس و باقی کامپوننتها رو دستی استارت کنید. اگه دیتابیس OEM بالا نباشه به همچین خطایی بر میخورید:
یکی از راهکارها اینه که تمام سرویسهای OEM رو stop کنیم و بیایم دستی دیتابیس رو start کنیم و listener رو اوکی کنیم بعد بیایم تمام کامپوننتهای OEM رو start کنیم.
اسکریپتهای زیر میتونن بهتون کمک کنن:
(برای استارت تمام کامپوننتها با دیتابیس)
#!/bin/bash export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1 export OMS_HOME=/u01/app/oracle/product/oemfmw_13c export AGENT_HOME=/u01/app/oracle/product/agent_13c/agent_inst # Start everything $ORACLE_HOME/bin/dbstart $ORACLE_HOME $OMS_HOME/bin/emctl start oms $AGENT_HOME/bin/emctl start agent
(برای استاپ تمام کامپوننتها با دیتابیس)
#!/bin/bash export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1 export OMS_HOME=/u01/app/oracle/product/oemfmw_13c
export AGENT_HOME=/u01/app/oracle/product/agent_13c/agent_inst # Stop everything $OMS_HOME/bin/emctl stop oms -all $AGENT_HOME/bin/emctl stop agent $ORACLE_HOME/bin/dbshut $ORACLE_HOME