اضافه کردن targetها و یا به طور مشخص hostها، databaseها، listenerها، زیرساخت ASM و همچنین Exadataها، Middleware Cluster Serviceها و ... به OEM به سادگی قابل انجامه. به طور مشخص برای اضافه کردن target database در OEM ابتدا باید host و یا hostهای مورد نظر را add کرد. برای اضافه کردن هر host نیاز به agent مشخص آن host است. یک agent برنامه‌ای است که ارتباط مانیتورنیگ رو به صورت مستقیم با OEM در host ایجاد میکند.

اضافه کردن یک host target به OEM 13C

لاگین با کاربر sysman

https://domain-name:7802/em

Add Targets Manually

Install Agent on Host

Add Target Wizard – Step1

چک کردن ورژن دیتابیس Target

قبل از اضافه کردن host به EM ما به host مورد نظر وصل میشیم و ورژن دیتابیس را چک میکنیم:
(در اینجا ما یک ماشین با ویندوز سرور 2008r2 داریم)
به دیتابیس با یوزر sys لاگین میکنیم:

تطبیق ورژن دیتابیس با مستند اوراکل

http://docs.oracle.com/cd/E73210_01/EMLCM/GUID-DFB714BE-7400-46E8-99E7-6F6B1138A6EF.htm#EMLCM11476

به طور خلاصه ورژن‌های زیر توسط OEM 13C به طور کامل ساپورت می‌شوند:

::Oracle Support::
Database versions: 12.1.0.2.0, 12.1.0.1.0, 11.2.0.4.0, 11.2.0.3.0, 11.2.0.2.0, 11.2.0.1.0,
11.1.0.7.0, 10.2.0.5.0, 10.2.0.4.0, 10.1.0.5.0 are supported for management targets, these databases
can be discovered from OEM Cloud Control console.
Tips: Database version 12.1.0.2.0 is the only supported database as repository for 13c EM.

چک کردن agent ویندوز

اگه اولین باره که میخواین اینکارو کنید لازمه که agent مورد نیاز هاست را برای OEM نصب و راه‌اندازی کنید. ما اینجا agent را از قبل نصب و راه‌اندازی کردیم و فقط در این مرحله نحوه چک کردن آن را توضیح می‌دهیم آخرین agent قابل دسترس تا این لحظه از ویندوز‌های سرور ۲۰۰۸ ،۲۰۱۲ و ۲۰۱۶ به طور کامل پشتیبانی میکنه.

مسیر زیر را در OEM طی کنید:

Setup > Extensibility > Self Update

وارد پوشه Agent Software شوید:

> Agent Software

اسکرول کنید تا همانند شکل زیر به OS مورد نشر خود برسید اگر در agent مرود نظر در قسمت status همانند شکل زیر Applied بود یعنی مراحل نصب و راه‌اندازی آن به شکل صحیح در OEM طی شده است.

اگه در حال حاضر به GUI دسترسی ندارید با استفاده از CLI سیستم‌عامل اینکار را به شیوه زیر انجام دهید:

$OMS_HOME/bin/emcli login -username=sysman -password=******
Login successful
$OMS_HOME/bin/emcli get_supported_platforms
-----------------------------------------------
Version = 12.1.0.3.0
Platform = Linux x86-64
-----------------------------------------------
Version = 12.1.0.3.0
Platform = Microsoft Windows x64 (64-bit)
-----------------------------------------------
Platforms list displayed successfully.

Add Target Wizard – Step2

تست ارتباط

ابتدا باید مطمئن بشیم که سرور OEM هاست مورد نظر رو از طریق Domain Name پینگ میکنه یا نه

نکته: اگر به هر دلیلی بسته‌های ping در فایروالهای میانی بسته بود از rping و یا telnet برای تست ارتباط استفاده کنید.

[root@mdc-em ~]# ping mdc-dwh01.itc.mashhad.ir -c 10
PING mdc-dwh01.itc.mashhad.ir (172.16.8.28) 56(84) bytes of data.
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=1 ttl=128 time=0.474 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=2 ttl=128 time=0.522 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=3 ttl=128 time=0.446 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=4 ttl=128 time=0.519 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=5 ttl=128 time=0.593 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=6 ttl=128 time=0.512 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=7 ttl=128 time=0.495 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=8 ttl=128 time=0.545 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=9 ttl=128 time=0.641 ms
64 bytes from mdc-dwh01.itc.mashhad.ir (172.16.8.28): icmp_seq=10 ttl=128 time=0.604 ms 

--- mdc-dwh01.itc.mashhad.ir ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9002ms
rtt min/avg/max/mdev = 0.446/0.535/0.641/0.058 ms
[root@mdc-em ~]#

دقت کنید آدرس هاست را به OEM احتماً باید از طریق Domain Name داد و به هیچ عنوان از طریق IP نباید آدرس هاست را به داد.

اضافه کردن هاست

Session Name رو به صورت انتخابی نامگذاری کنید و یا نام پیش فرض را برگزینید

بر روی دکمه next کلیک کنید

ایجاد دایرکتوری agent

دایرکتوری جدیدی در هاست موردنظر ترجیحاً در محل نصب اوراکل به نام agent13c ایجاد کنید:

C:\Users\em_cloud>mkdir D:\app\agent13c

تنظیم پارمترهای دایرکتوری

همانند شکل زیر مسیر دایکرتوری‌های را به درستی وارد کنید:

Add a new Named Credential

حال بر روی دکمه‌ی Add a new Named Credential کلیک کنید

پیکربندی Named Credential

در این مرحله از ویزارد ما نیاز به یک کاربر سیستم‌عاملی عضو گروه administrators در سرورهای ویندوز داریم

ایجاد کاربر سیستم‌عامل

یک کاربر سیستم‌عاملی در ویندوز با دسترسی ادمین ایجاد می‌کنیم

ایجاد پیکریندی Named Credential

حال بر روی دکمه Next کلیک کنید تا به مرحله بعد ویزارد هدایت شوید.

Add Target Wizard – Step3

حال برای Deploy کردن بعد از بررسی مشخصات و صحت آنان بر روی دکمه Deploy Agent کلیک کنید:

Add Target Wizard – Step4

خب حالا ما به مرحله حساسی میرسیم برای deploy کردن agent به host از طریق Add Host Targets رابط OEM از پروتکل SSH استفاده میکنه حتی برای هاست ویندوز پس اگه شما بخواین مراحل اضافه کردن host ویندوزی رو در OEM طی کنید با خطای زیر مواجه می‌شید:

SSH server check failed - SSH daemon (sshd) is not running on port "22"

نکته: در این مرحله به هیچ عنوان بر روی دکمه Continue کلیک نکنید.

این صفحه را به همین صورت فعلاً رها می‌کنیم.

ارائه راهکار برای deploy کردن agent

یکی از راهکارهای ما در این لحظه پیکربندی OpenSSH با استفاده از نرم‌افزار Cygwin است. راهکار دوم کپی کردن agent بر روی ماشین مقصد و نصب به صورت دستی است. با راهکار دوم دیگه لزومی نیست برای cygwin دسترسی ssh فراهم کنیم. برای یک یا چند ماشین ویندوزی ، استفاده از راهکار دوم (نصب مستقیم agent در host) قابل انجامه ولی به محض اینکه به سراغ پیکرنبدی چندین ماشین برویم اینکار دردسرهای زیادی رو برامون میاره. در چنین محیطی به نظر میاد پیکربندی ssh برای ماشین ویندوز با cygwin بسیار جالبتر و راحتتر باشه بعلاوه اینکه با cygwin شما یک دسترسی ssh امن و کنترل شده به ماشین ویندوز ایجاد می‌کنید ولی با نصب مستقیم agent در ویندوز معلوم نیست چه دسترسی‌ها و مواردی ایجاد می‌شوند و کنترل کردن آنها امکان پذیر نیست. همچنین با پیکربندی Cygwin موارد امنیتی مورد بی‌توجهی قرار نمی‌گیرند چون ما تنها بسته‌های مورد نیاز رو نصب می‌کنیم و همچنین با پیکربندی Cygwin فقط یک کاربر domain ای یا local ای جدا دسترسی امن را از طریق ssh به ماشین دارد. نکته آخر و مهمترین نکته اینکه استفاده از Cygwin در Add Host Target Wizard توسط اوراکل تایید شده و پیشتیبانی می‌شود:

https://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm

من راهکار اول را به شما توصیه میکنم بغیر از موارد گفته شده چون این ارتباط SSH بعدها هم موردنیازتون خواهد بود و راهکاری مطمئنتر است زیرا OEM برای ارتباط و دریافت اطلاعات از همه Hostهای خود از SSH استفاده می‌کند.