Control-M Interview Questions and Answers

Control-M Admin Related QnA

Control-M is a workload scheduling tool. It simplifies workflow orchestration.

Many a times questions like these may arise, when you would be wondering that if Control-M is a scheduling tool then why not just use Cron Jobs or Windows Scheduler?
Well the answer is pretty straight forward though, consider a below scenario:

1. I have Systems which keeps track of all the calls made by customer, each call detail is kept in a single file. There are around 50 Such servers where the files are generated from.
2. All the 50 files should be transferred to single landing server.
3. All the transferred file needs to be merged and processed to extract customer with highest Usage on Call Usage, SMS Usage and Data Usage.
4. Summary Report should be created to send promotional campaigns to users with Highest Call Usage
5. Promotional Campaigns to be triggered only at midnight.
6. A Report is to be generated on How many campaigns are executed.


Now Let’s see which system and scheduler can do these tasks:


1. Typically taken care by Telecom Network Tools and Generated files can be scheduled using cron jobs.
2. Cron Job or Batch Job can be written to transfer files
3. These kind of jobs are Typically taken care by data warehousing tools, needs some scheduler to trigger the jobs.
4. Taken care by Business Intelligence tools such as SAP BO, Cognos etc.
5. Taken care by Event Generation tool, Can be scheduled using Cron Job or Batch Job
6. Taken care by Event Generation tool, Can be scheduled using Cron Job or Batch Job


This is a very simple scenario, in which all the tasks have to be done in some sort of flow (order).
E.g, You can’t run step#5 until step#4 is done successfully, otherwise you will end up sending wrong or incomplete campaigns.

Also it is worth mentioning that all of these systems may be running on different operating systems such as Linux, Windows, Solaris, Mainframe. There may be various kinds of applications running to achieve these complete workflow. So even though each individual system may be able to achieve scheduling of their tasks with some sort of scheduling mechanism such as Cron Jobs/ Batch Jobs/ File Transfers/ SAP BO Reports Scheduler etc. However all of these are going to be running in Silos and each of these tools are not capable enough to schedule jobs of other technologies.

That’s where Control-M comes into picture and simplifies the scheduling of any types of jobs, can create depdency or complex relationship among these jobs which contains various systems and ensure that your jobs run in the required order, with the guranteed accuracy and achieves SLA.

There are many, but no one is as capable or successful as Control-M. Control-M is market leader.

Here are other tools:

  • AutoSys Workload Automation
  • IBM Workload Automation
  • Ansible
  • Stonebranch Universal Automation Center
  • Tidal Automation

Follow this link if you want to know the comparison in more detail.

BMC has added a cloud version which can be tried after a successful registration. However, currently you need to provide corporate email id and social email IDs such as gmail or yahoo mail is not accepted. 

Follow BMC Official Website to Know more on this.

  • CONTROL-M Enterprise Manager commonly known as (CONTROL-M/EM)
  • CONTROL-M Servers
  • CONTROL-M Agents and Remote hosts
  • Control Modules

Yes, It does. 

Control-M can be installed in a clustered environment with Active/Passive clustering on Control-M Server.

Control-M Agents can be installed in Active Passive or Active Active Clustering.

Typically, You need a database and a server with minimum recommended hardware to run the software. 

If you are running on Windows, You may need compatible .Net Framework Installed. 

It is always recommended to check the detailed dependency before designing your installation architecture. Below are the links which talks about this topic in detail.

For the minimum requirements for an entry level deployment:

For Control-M/Enterprise Manager 9
https://documents.bmc.com/supportu/ctrlm9/help/Main_help/en-US/index.htm#87205.htm

For Control-M/Server 9
https://documents.bmc.com/supportu/ctrlm9/help/Main_help/en-US/index.htm#87212.htm

For Control-M/Agent 9
https://documents.bmc.com/supportu/ctrlm9/help/Main_help/en-US/index.htm#4999.htm

Control-M 9 full installation system requirements
https://documents.bmc.com/supportu/ctrlm9/help/Main_help/en-US/index.htm#4921.htm

Control-M has typical three tier architecture.

  • User Connects to Control-M Enterprise Manager Clients.
  • Control-M Enterprise Manager Client connects to Control-M Server
  • Control-M Server Connects to Control-M Agents.
  • Control-M Agents are the ones who are actual doing the work of running the script/Job.
  • It is worth mentioning that Control-M Server and Control-M EM both needs it’s own database to run.

See below architecture for more detail:

Control-M Architecture

As shown in the architecture, Only Control-M Server can interact with Agents.

Well, Users can’t interact with Control-M Server Components directly, They have to use Control-M EM Client to connect to Control-M EM, which then interacts with Control-M Server to complete any user requests such as Job Rerun, Job Kill etc.

  • Yes, Control-M has both thick and web client. However web client has only limited functionalities. 
  • Web based client is known as Control-M Self Service.

Control-M has many components and to know the details about ports, refer to this link on BMC communities. Since this link already covers everything so there is no point in repeating the same.

The Most commonly asked ports are:

ProcessDefaultDescription
Agent to Server Port7005Communication port from the Agent to Server. This will have to be open as incoming to Control-M/Server
Server to Agent Port7006

Communication port from the Server to Agent .This will have to be open as incoming to Control-M/Agent

Please Note: You may have to register on www.communities.bmc.com before you can see the link. It is worth creating an account on BMC Communities and staying updated with the trending topics.

A node is a Control-M agent which is running on a Server. Node and Agent both are used interchangeably and mean the same thing.

Node Group or Host Group is basically collection of Servers on which Control-M Agents are running. Usually application machines on which agent is running is grouped. This is to run the job in a scenario where applications are installed in high availability environment.

Confused?

Ok, Let’s take this example:

We have a DWH application running on HA (High Available) environment on three servers:
10.0.0.1
10.0.0.2
10.0.0.3

We want Control-M Job to run the job on any of these three servers. If server 10.0.0.1 is not available job should run on 10.0.0.2 server. If server 10.0.0.2 is not available then the job should run on 10.0.0.3 server. 

Typically these scenarios are handled by grouping these three nodes and providing a logical name to this group such as (DWH_Servers). This configuration is done in Control-M Configuration Manager.

Now when you schedule the job, you specify the hostname as DWH_Servers rather than individual server. This will ensure that the job will run on one of the available Servers.

CCM is short form of Control-M Configuration Manager. This is the component which allows administration related operations such as User Creation, Groups Creation, Nodes Management, Configuring different Control Modules.

CCM Get’s installed as part of Control-M EM client installation.

Control-M DBA account pretty much controls (administers) the whole database instance/Software. It is responsible for taking backups and restoration on database instance level.

Control-M DBO account controls the database which it is owner of. By default emuser is the owner of em900 database and ctmuser is the owner of ctrlm900 database.

Depends on the Control-M Version you’re using:

In Control-M Version 9, Databases are created with below names:

  • ctrlm900 for Conrol-M Server
  • em900 for Control-M Enterprise Manager

In Control-M Version 8, Databases are created with below names:

  • ctrlm800 for Conrol-M Server
  • em800 for Control-M Enterprise Manager

Control-M Software has a bundled database PostgreSQL.

During Control-M EM or Server installation, you have option to change the database to other database or continue installation by installing PostgreSQL embedded database.

Read More About PostgreSQL

  • MS SQL Server
  • Oracle
  • PostgreSQL

 

Control-M Agents don’t require database. Control-M Agent’s maintains all the logs, configuration, jobs status etc in files.

Control-M Self Service Empowers users to see their scheduled work and perform basic tasks in real time, improving productivity and reducing costs with Control-M Self Service. See the Video to know how you can access Self service on your mobile devices.

Control Modules empowers Control-M to configure and schedule jobs such as SAP BO, SAP, Databases etc.

There are Control Modules available for most of the things such as SAP BO, SAP, Hadoop, FTP (File Transfer), Database Jobs, Informatica Workflows etc.

Once you install Control Modules on a machine which already has Control-M Agent running. You can see the updated Control Modules in Control-M Configuration Manager (CCM).

In CCM You can also administer and manage the services such as start, stop etc of these Control Modules.

Control Modules can be installed on any server which is running a Control-M Agent.

Typically, You dedicate a server where you install Control-M Agent and all the required Control Modules. You don’t need to install Control-M agent on the application servers when those jobs are supported through Control Modules.

E.g. When you want to configure SAP BO Jobs or Informatica Jobs, You don’t need to install Control-M Agents on these servers. You need to provide configuration details to connect to SAP BO or Informatica in its respective Control Modules.

No, It will not. Control-M agent services needs to be up and running. If Control-M agent is down, all the Control Modules running on that server will be showing as down/disconnected in Control-M Configuration Manager.

It depends. Generally it is a better idea to get an user created on the servers where you want to install agent. Then you install Control-M Agent using this user.

Post Installation of Control-M Agent, Agent Services can be started in root or non-root mode.

On a Unix/Linux machine you can run multiple Control-M Agents on a Single Server. However typically, there is no such use case where you have to do that in production.

Control-M Agent keeps all the status of a job which it has executed.
It also maintains all the output logs of each of the jobs instance.
So it is pretty obvious that over a period of time, logs will start to grow larger. However the retention period of logs such as syslog can easily be configured using Control-M Configuration Manager.

Follow this article on BMC Website to Understand More…

Yes, it can. Logs on Agent1 can be kept for X days while on Agent2 they can be kept for Y days.

Check more on this here.

Yes, You can have Control-M Agent installed on a high availability mode.
Check Control-M Installation guide for more details. 

Yes, Control-M Can be integrated with LDAP. Configuration is pretty simple and Control-M Configuration manager is the place where you do the configuration.

If you’re using bundled PostgreSQL database, then you’ve two backup options available:

  • Hot Backup (Takes the backup of the database without the need of shutting down Control-M application)
  • Cold Backups (Takes the backup of the database post Control-M Application is stopped)

Cold Backups are faster than hot backups. Hot backups can be scheduled to run at the scheduled Frequency. The backup job itself can be scheduled as one of the Control-M OS Type Job.

Control-M Scheduling Related QnA

When you want a manual confirmation before executing a job, we’ll use”Wait for confirmation” in Execution tab. 

If you select this option during job configuration, when the job  is ordered for execution, Job will turn in “PINK” color.

You have to Right click and “Confirm” the job to run.

Here is an article which talks about this in more detail.

In Condition in  Control-M means that the job can only run when it’s pre-requisite (In condition) is satisfied. This is a way to create dependency between one job to another.

This is the condition which is created once the job is successfully executed. 

E.g.

Consider we have two jobs:
1. Pull_Remote_Files
Adds an out condition named ( Pull_Remote_Files_Successful)

2. Load_Files_To_Database
Contains an In condition named ( Pull_Remote_Files_Successful)

Here with the help of In and Out condition it is ensured that second job is only run when first job completes successfully.

 

Subscribe to get notification whenever this list is updated.

Leave a Comment

You have successfully subscribed to the newsletter

There was an error while trying to send your request. Please try again.

IT Panther will use the information you provide on this form to be in touch with you and to provide updates and marketing.
%d bloggers like this: