منبع اصلی نوشتار زیر در این لینک قرار دارد

خاموش و روشن کردن OEM 13C

خب شاید بدونید که 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 fhai موقع بالا اومدن سرور 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