Unix -Informatica Scripts

In this post we will see pmcmd command used in Unix to perform some of the important task in Informatica. We will see the syntax and how to use the command in real time. We will use below variables throughout this post. Let see..!!!

INFA_SERVICE  -> Informatica Integration Service
INFA_DOMAIN   -> Informatica Domain
INFA_USER     -> Informatica User
INFA_PASSWORD -> Password associated with the Infa user
INFA_FOLDER   -> Folder Name where Workflow is available.
INFA_WORKFLOW -> Workflow Name Which pmcmd will execute.
INFA_TASK     -> Task Name, Session etc.

******************************
Start Informatica Workflow 
******************************
startworkflow switch of pmcmd is used to start the informatica workflow. This command is very handy when you want to trigger your informatica job from unix box. This command gives the flexibility to execute a workflow as per the requirement.

SYNTAX: 
pmcmd startworkflow
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder]
[<-startfrom> taskInstancePath [<-recovery|-norecovery>]]
[<-paramfile> paramfile]
[<-localparamfile|-lpf> localparamfile]
[<-osprofile|-o> OSProfile] [-wait|-nowait]
[<-runinsname|-rin> runInsName] workflow

pmcmd startworkflow -service ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -wait ${INFA_WORKFLOW}
[OR]
pmcmd startworkflow -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -wait ${INFA_WORKFLOW}

Imp Point:
  • We should always use -wait switch which will make sure that control should be with unix box until informatica workflow gets completed. If workflow gets failed then pmcmd returns a non-zero code ($?). If we will not use -wait, we would not be able to know whether workflow gets completed successfully or not. pmcmd will always return zero($?) as it will successfully trigger the pmcmd command.
  • usersecuritydomain usually accept two values, native and LDAP.
  • paramfile switch is used to provide the parameter file. We should always provide parameter file in pmcmd instead of declaring in workflow manager. We can change/update number of things  without touching informatica.
  • If you observe, first pmcmd command uses switches with complete name while second pmcmd command uses references. Use whichever you feel comfortable.
  • We can start the workflow from a specific session by using switch -startfrom.
Above all the points are applicable for rest of the upcoming commands if applicable.

******************************
Stop Informatica Workflow 
******************************
stopworkflow switch of pmcmd is used to stop the running workflow.

SYNTAX: 
pmcmd stopworkflow
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] [<-runinsname|-rin> runInsName]
[-wfrunid workflowRunId] [-wait|-nowait] workflow

pmcmd stopworkflow -service ${INFA_SERVICE} -domain ${INFA_DOMAIN} -user ${INFA_USER} -password ${INFA_PASSWORD} -folder ${INFA_FOLDER}  -wait ${INFA_WORKFLOW }
[OR]

pmcmd stopworkflow -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -wait ${INFA_WORKFLOW}

***********************************
Start Informatica Workflow Task
***********************************
starttask switch of pmcmd is used to trigger a particular task of the workflow. 

SYNTAX: 
pmcmd starttask
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] <-workflow|-w> workflow
[<-paramfile> paramfile] [-wait|-nowait]
[<-recovery|-norecovery>] [<-runinsname|-rin> runInsName]
taskInstancePath

pmcmd starttask -service ${INFA_SERVICE} -domain ${INFA_DOMAIN} -user ${INFA_USER} -password ${INFA_PASSWORD} -folder ${INFA_FOLDER}  -workflow ${INFA_WORKFLOW} ${INFA_TASK}
[OR]

pmcmd starttask -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -w ${INFA_WORKFLOW} ${INFA_TASK}


***********************************
Stop Informatica Workflow Task
***********************************
stoptask switch of pmcmd is used to stop a particular running task of the workflow. 

SYNTAX:
pmcmd stoptask
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] <-workflow|-w> workflow
[<-runinsname|-rin> runInsName] [-wfrunid workflowRunId]
[-wait|-nowait] taskInstancePath

pmcmd stoptask -service ${INFA_SERVICE} -domain ${INFA_DOMAIN} -user ${INFA_USER} -password ${INFA_PASSWORD} -folder ${INFA_FOLDER}  -workflow ${INFA_WORKFLOW} ${INFA_TASK}
[OR]
pmcmd stoptask -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -w ${INFA_WORKFLOW} ${INFA_TASK}


******************************
Abort Informatica Workflow
******************************
abortworkflow switch of pmcmd is used to abort the running informatica workflow.

SYNTAX:
pmcmd abortworkflow
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] [-wait|-nowait]
[<-runinsname|-rin> runInsName]
[-wfrunid workflowRunId] workflow

pmcmd abortworkflow -service ${INFA_SERVICE} -domain ${INFA_DOMAIN} -user ${INFA_USER} -password ${INFA_PASSWORD} -folder ${INFA_FOLDER}  -wait ${INFA_WORKFLOW} 
[OR]

pmcmd abortworkflow -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -wait ${INFA_WORKFLOW}

************************************
Abort Informatica Workflow Task
************************************
aborttask switch of pmcmd is used to abort the running informatica workflow task.

SYNTAX: ABORT TASK
pmcmd aborttask
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] <-workflow|-w> workflow
[<-runinsname|-rin> runInsName] [-wfrunid workflowRunId]
[-wait|-nowait] taskInstancePath

pmcmd aborttask -service ${INFA_SERVICE} -domain ${INFA_DOMAIN} -user ${INFA_USER} -password ${INFA_PASSWORD} -folder ${INFA_FOLDER}  -workflow ${INFA_WORKFLOW}  ${INFA_TASK}
[OR]

pmcmd aborttask -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -w ${INFA_WORKFLOW}  ${INFA_TASK}


**********************************
Schedule Informatica Workflow
**********************************
scheduleworkflow switch of pmcmd is used to schedule informatica workflow which is scheduled in workflow scheduler. If a scheduled workflow gets unscheduled due to some downtime, this command will schedule it back.

SYNTAX: 
pmcmd scheduleworkflow
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] workflow

pmcmd scheduleworkflow -service ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} ${INFA_WORKFLOW}
[OR]
pmcmd scheduleworkflow -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} ${INFA_WORKFLOW}

Imp: This switch will not schedule a workflow to run on a specific time. It would not be able to schedule a workflow which is of run on demand type.


*************************************
Unschedule Informatica Workflow
*************************************
unscheduleworkflow switch of pmcmd is used to unschedule informatica workflow which is scheduled in workflow scheduler.

SYNTAX: 
pmcmd unscheduleworkflow
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] workflow

pmcmd unscheduleworkflow -service ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} ${INFA_WORKFLOW}
[OR]

pmcmd unscheduleworkflow -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} ${INFA_WORKFLOW}

Imp: It would not be able to unschedule a workflow which is of run on demand type.

************************************
Get Informatica Workflow Details
************************************
getworkflowdetails switch of pmcmd provides details realted to workflow, details are listed below:

SYNTAX: 
pmcmd getworkflowdetails
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder]
[<-runinsname|-rin> runInsName]

[-wfrunid workflowRunId] workflow

pmcmd getworkflowdetails -service ${INFA_SERVICE} -domain ${INFA_DOMAIN} -user ${INFA_USER} -password ${INFA_PASSWORD} -folder ${INFA_FOLDER}  ${INFA_WORKFLOW}
[OR]

pmcmd getworkflowdetails -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} ${INFA_WORKFLOW}

Connected to Integration Service: [].
Integration Service status: []
Integration Service startup time: []
Integration Service current time: []
Folder: []
Workflow: [] version [].
Workflow run status: []
Workflow run error code: []
Workflow run error message: []
Workflow run id [].
Start time: []
End time: []
Workflow log file: []
Workflow run type: []
Run workflow as user: []
Run workflow with Impersonated OSProfile in domain: []
Integration Service: []
Disconnecting from Integration Service


******************************************
Get Informatica Workflow Task Details
******************************************
gettaskdetails switch of pmcmd provides details related to workflow task, details are listed below:

SYNTAX: 
Usage: pmcmd gettaskdetails
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] <-workflow|-w> workflow

[<-runinsname|-rin> runInsName] taskInstancePath

pmcmd gettaskdetails -service ${INFA_SERVICE} -domain ${INFA_DOMAIN} -user ${INFA_USER} -password ${INFA_PASSWORD} -folder ${INFA_FOLDER}  -workflow ${INFA_WORKFLOW} ${INFA_TASK}
[OR]

pmcmd gettaskdetails -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -w ${INFA_WORKFLOW} ${INFA_TASK}

Connected to Integration Service: [].
Integration Service status: []
Integration Service startup time: []
Integration Service current time: []
Folder: [Folder Name]
Workflow: [] version [].
Session Instance: [] version [].
Task type: []
Start time: []
End time: []
Task run status: []
Task run error code: []
Task run error message: []
Integration Service: []
Integration Service Process: []
Integration Service Grid: []
Task run mode: [Normal]
----------------------------
Node Name(s) []
Preparation fragment
First error code []
First error message: []
Source success rows: []
Source failed rows: []
Target success rows: []
Target failed rows: []
Number of transformation errors: []
Disconnecting from Integration Service


************************************
Get Informatica Session Statistics

************************************
getsessionstatistics switch of pmcmd provides workflow session statistics, details are listed below:

SYNTAX 
pmcmd getsessionstatistics
<<-service|-sv> service <-domain|-d> domain [<-timeout|-t> timeout]>
<<-user|-u> username|<-uservar|-uv> userEnvVar>
<<-password|-p> password|<-passwordvar|-pv> passwordEnvVar>
[<<-usersecuritydomain|-usd>usersecuritydomain|<-usersecuritydomainvar|-usdv> userSecuritydomainEnvVar>]
[<-folder|-f> folder] <-workflow|-w> workflow
[-wfrunid workflowRunId]
[<-runinsname|-rin> runInsName]
taskInstancePath

pmcmd getsessionstatistics -service ${INFA_SERVICE} -domain ${INFA_DOMAIN} -user ${INFA_USER} -password ${INFA_PASSWORD} -folder ${INFA_FOLDER}  -workflow ${INFA_WORKFLOW} ${INFA_TASK}
[OR]

pmcmd getsessionstatistics -sv ${INFA_SERVICE} -d ${INFA_DOMAIN} -u ${INFA_USER} -p ${INFA_PASSWORD} -f ${INFA_FOLDER} -w ${INFA_WORKFLOW} ${INFA_TASK}

Connected to Integration Service: [].
Folder: []
Workflow: []
Instance: []
Source success rows: []
Source failed rows: []
Target success rows: []
Target failed rows: []
Number of transformation errors: []
First error code []
First error message: []
Task run status: []
Integration Service: []
Integration Service Process: []
Integration Service Grid: []
----------------------------
Node Name(s) []
Preparation fragment
Disconnecting from Integration Service

Keep Reading, Keep Learning, Keep Sharing...!!!

5 comments:

Related Posts Plugin for WordPress, Blogger...