I wrote the following commands to help build an Informatica PowerCenter environment, after I had completed a fresh software installation on a new Linux server. The idea was to automate as many of the core steps as possible, rather than doing all the work in the admin console - for repeatability and documentation.
Add the License
1
2
3
4
5
6
7
8
| #!/bin/ksh
/home/informatica/PowerCenter8.6.1/server/bin/infacmd.sh AddLicense \
-DomainName infadomain \
-UserName admin \
-Password admin123 \
-LicenseName TestLicense \
-LicenseKeyFile /home/informatica/license/XYZ_Corporation_0047591-Development1-MultiOS.key
|
Create the Repository Service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| #!/bin/ksh
set -x
tnsnames_path=/home/informatica/tnsnames.ora
tnsnames_entry=infa
db_connstring="jdbc:informatica:oracle:TNSNamesFile=${tnsnames_path};TNSServerName=${tnsnames_entry}"
/home/informatica/PowerCenter8.6.1/server/bin/infacmd.sh CreateRepositoryService \
-DomainName infadomain \
-UserName admin \
-Password admin123 \
-ServiceName pcDev01Int \
-NodeName node1 \
-BackupNodes node2 \
-ServiceOptions \
CodePage="UTF-8" \
ConnectString=$db_connstring \
DBPassword=infa_repos123 \
DBUser=infa_repos \
DatabaseType=oracle \
RACacheCapacity=10000000 \
SecurityAuditTrail=Yes \
-LicenseName TestLicense \
-FolderPath /PowerCenter
|
Detailed Set-Up
Variables
The variables defined below will be used throughout the subsequent steps:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| #!/bin/ksh
#-------------------------------------------------------------------
#
# 01 - SET UP SOME KEY VARIABLES
#
db_type=oracle
tnsnames_path=/home/informatica/tnsnames.ora
tnsnames_entry=infa
db_address=orclserver:1521
db_service=db_1
db_connstring="jdbc:informatica:oracle:TNSNamesFile=${tnsnames_path};TNSServerName=${tnsnames_entry}"
domdb_user=infa_domain
domdb_pass=infa_domain123
repdb_user=infa_repos
repdb_pass=infa_repos123
dom_name=infadomain
dom_user=admin
dom_pass=admin123
node1_addr=infaserver2:6001
node2_addr=infaserver:6001
node1_name=node1
node2_name=node2
https=8444
grid=pcDev02Grid
repos_svc=pcDev02Repo
integ_svc=pcDev02Int
infa_home=/home/informatica/PowerCenter8.6.1
license=/home/informatica/license/XYZ_Corporation_0047591-Development1-MultiOS.key
logdir=$infa_home/server/infa_shared/log
bakdir=$infa_home/server/infa_shared/Backup
nodeopts=$infa_home/server/nodeoptions.xml
keyfile=$infa_home/server/tomcat/conf/PC_DEFAULT.keystore
|
The following steps are covered below:
- define the domain - and then start it
- define the primary node
- create the PowerCenter app folder
- place the primary node in the new folder
- define the backup node
- add the backup node to the domain
- define the repository service
- define the integration service
These examples also use a grid - but many INFA installations probably do not have this option.
Domain and Primary Node
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| #-------------------------------------------------------------------
#
# 02 - DEFINE THE DOMAIN AND PRIMARY NODE
#
# Shut down the domain
$infa_home/server/tomcat/bin/infaservice.sh shutdown
sleep 10
# Define the replacement domain
$infa_home/server/infasetup.sh DefineDomain \
-DatabaseConnectionString $db_connstring \
-DatabaseUserName $domdb_user \
-DatabasePassword $domdb_pass \
-DatabaseType $db_type \
-DomainName $dom_name \
-AdministratorName $dom_user \
-Password $dom_pass \
-LogServiceDirectory $logdir \
-NodeName $node1_name \
-NodeAddress $node1_addr \
-HttpsPort $https \
-KeystoreFile $keyfile \
-MinProcessPort 6005 \
-MaxProcessPort 6105 \
-BackupDirectory $bakdir \
-ResourceFile $nodeopts \
-TimeZone GMT-08:00 \
-Force
retcode=$?
echo
echo Step 02 return code = $retcode
echo
if [ $retcode -ne 0 ]
then
exit 1
fi
# Start up the domain
$infa_home/server/tomcat/bin/infaservice.sh startup
sleep 10
|
PowerCenter Folder
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| #-------------------------------------------------------------------
#
# 03 - CREATE THE POWERCENTER FOLDER
#
$infa_home/server/bin/infacmd.sh CreateFolder \
-DomainName $dom_name \
-UserName $dom_user \
-Password $dom_pass \
-FolderName PowerCenter \
-FolderPath /
retcode=$?
echo
echo Step 03 return code = $retcode
echo
if [ $retcode -ne 0 ]
then
exit 1
fi
|
Move Node to Folder
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| #-------------------------------------------------------------------
#
# 04 - MOVE PRIMARY NODE INTO THE FOLDER
#
$infa_home/server/bin/infacmd.sh MoveObject \
-DomainName $dom_name \
-UserName $dom_user \
-Password $dom_pass \
-ObjectName $node1_name \
-ObjectType Node \
-FolderPath /PowerCenter
retcode=$?
echo
echo Step 04 return code = $retcode
echo
if [ $retcode -ne 0 ]
then
exit 1
fi
exit
|
Backup Node
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| #-----------------------------------------------------------------
#
# 05 - DEFINE THE BACKUP NODE
#
$infa_home/server/infasetup.sh DefineGatewayNode \
-DatabaseAddress $db_address \
-DatabaseUserName $domdb_user \
-DatabasePassword $domdb_pass \
-DatabaseType $db_type \
-DatabaseServiceName $db_service \
-DomainName $dom_name \
-NodeName $node2_name \
-NodeAddress $node2_addr \
-HttpsPort $https \
-KeystoreFile $keyfile \
-MinProcessPort 6005 \
-MaxProcessPort 6105 \
-LogServiceDirectory $logdir \
-BackupDirectory $bakdir \
-ResourceFile $nodeopts
retcode=$?
echo
echo Step 05 return code = $retcode
echo
if [ $retcode -ne 0 ]
then
exit 1
fi
|
Add Backup to Domain
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| #-------------------------------------------------------------------
#
# 06 - ADD THE BACKUP NODE TO THE DOMAIN
#
$infa_home/server/bin/infacmd.sh AddDomainNode \
-DomainName $dom_name \
-UserName $dom_user \
-Password $dom_pass \
-NodeName $node2_name \
-FolderPath /PowerCenter
retcode=$?
echo
echo Step 06 return code = $retcode
echo
if [ $retcode -ne 0 ]
then
exit 1
fi
|
Start Backup Node
1
2
3
4
5
| #-------------------------------------------------------------------
#
# 07 - START BACKUP NODE
#
|
Create Grid
Assuming you have this option. You may not.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #-------------------------------------------------------------------
#
# 08 - CREATE THE GRID
#
$infa_home/server/bin/infacmd.sh CreateGrid \
-DomainName $dom_name \
-UserName $dom_user \
-Password $dom_pass \
-GridName $grid \
-NodeList $node1_name $node2_name \
-FolderPath /PowerCenter
retcode=$?
echo
echo Step 08 return code = $retcode
echo
if [ $retcode -ne 0 ]
then
exit 1
fi
|
Repository Service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| #-------------------------------------------------------------------
#
# 09 - DEFINE THE REPOSITORY SERVICE
#
# WARNING - don't see a way to make the repository versioned!
$infa_home/server/bin/infacmd.sh CreateRepositoryService \
-DomainName $dom_name \
-UserName $dom_user \
-Password $dom_pass \
-ServiceName $repos_svc \
-NodeName $node1_name \
-BackupNodes $node2_name \
-ServiceOptions \
CodePage=UTF-8 \
ConnectString=$db_service \
DBPassword=$repdb_pass \
DBUser=$repdbuser \
DatabaseType=$db_type \
RACacheCapacity=10000000 \
SecurityAuditTrail=Yes \
-LicenseName $license \
-FolderPath /PowerCenter
retcode=$?
echo
echo Step 09 return code = $retcode
echo
if [ $retcode -ne 0 ]
then
exit 1
fi
|
Integration Service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| #-------------------------------------------------------------------
#
# 10 - DEFINE THE INTEGRATION SERVICE
#
$infa_home/server/bin/infacmd.sh CreateIntegrationService \
-DomainName $dom_name \
-UserName $dom_user \
-Password $dom_pass \
-ServiceName $repos_svc \
-FolderPath /PowerCenter \
-GridName $grid \
-NodeName $node1_name \
-BackupNodes $node2_name \
-RepositoryService $repos_svc \
-RepositoryUser $repdb_user \
-RepositoryPassword $repdb_pass \
-ServiceOptions \
DataMovementMode=Unicode \
ConnectString=$db_service \
DBPassword=$repdb_pass \
DBUser=$repdbuser \
DatabaseType=$db_type \
RACacheCapacity=10000000 \
SecurityAuditTrail=Yes \
-ServiceProcessOptions \
CodePage=UTF-8 \
-LicenseName $license \
-FolderPath /PowerCenter
retcode=$?
echo
echo Step 10 return code = $retcode
echo
if [ $retcode -ne 0 ]
then
exit 1
fi
|