5. Repository Service
As
we already discussed about metadata repository, now we discuss a
separate,multi-threaded process that retrieves, inserts and updates
metadata in the repository database tables, it is Repository Service.
Repository service manages connections to the PowerCenter repository from PowerCenter client applications like Desinger, Workflow Manager, Monitor, Repository manager, console and integration service. Repository service is responsible for ensuring the consistency of metdata in the repository.
Repository service manages connections to the PowerCenter repository from PowerCenter client applications like Desinger, Workflow Manager, Monitor, Repository manager, console and integration service. Repository service is responsible for ensuring the consistency of metdata in the repository.
Creation & Properties:
Use the PowerCenter Administration Console Navigator window to create a Repository Service. The properties needed to create are,
Service Name – name of the service like rep_SalesPerformanceDev
Location – Domain and folder where the service is created
License – license service name
Node, Primary Node & Backup Nodes – Node on which the service process runs
CodePage – The Repository Service uses the character set encoded in the repository code page when writing data to the repository
Database type & details – Type of database, username, pwd, connect string and tablespacename
The above properties are sufficient to create a repository service, however we can take a look at following features which are important for better performance and maintenance.
General Properties
>
OperatingMode: Values are Normal and Exclusive. Use Exclusive mode to
perform administrative tasks like enabling version control or promoting
local to global repository
> EnableVersionControl: Creates a versioned repository
Node Assignments:
“High availability option” is licensed feature which allows us to
choose Primary & Backup nodes for continuous running of the
repository service. Under normal licenses would see only only Node to
select from
Database Properties
>
DatabaseArrayOperationSize: Number of rows to fetch each time an array
database operation is issued, such as insert or fetch. Default is 100
>
DatabasePoolSize:Maximum number of connections to the repository
database that the Repository Service can establish. If the Repository
Service tries to establish more connections than specified for
DatabasePoolSize, it times out the connection attempt after the number
of seconds specified for DatabaseConnectionTimeout
Advanced Properties
> CommentsRequiredFor Checkin: Requires users to add comments when checking in repository objects.
>
Error Severity Level: Level of error messages written to the Repository
Service log. Specify one of the following message levels: Fatal, Error,
Warning, Info, Trace & Debug
>
EnableRepAgentCaching:Enables repository agent caching. Repository
agent caching provides optimal performance of the repository when you
run workflows. When you enable repository agent caching, the Repository
Service process caches metadata requested by the Integration Service.
Default is Yes.
>
RACacheCapacity:Number of objects that the cache can contain when
repository agent caching is enabled. You can increase the number of
objects if there is available memory on the machine running the
Repository Service process. The value must be between 100 and
10,000,000,000. Default is 10,000
>
AllowWritesWithRACaching: Allows you to modify metadata in the
repository when repository agent caching is enabled. When you allow
writes, the Repository Service process flushes the cache each time you
save metadata through the PowerCenter Client tools. You might want to
disable writes to improve performance in a production environment where
the Integration Service makes all changes to repository metadata.
Default is Yes.
Environment Variables
The
database client code page on a node is usually controlled by an
environment variable. For example, Oracle uses NLS_LANG, and IBM DB2
uses DB2CODEPAGE. All Integration Services and Repository Services that
run on this node use the same environment variable. You can configure a
Repository Service process to use a different value for the database
client code page environment variable than the value set for the node.
You
might want to configure the code page environment variable for a
Repository Service process when the Repository Service process requires a
different database client code page than the Integration Service
process running on the same node.
For
example, the Integration Service reads from and writes to databases
using the UTF-8 code page. The Integration Service requires that the
code page environment variable be set to UTF-8. However, you have a
Shift-JIS repository that requires that the code page environment
variable be set to Shift-JIS. Set the environment variable on the node
to UTF-8. Then add the environment variable to the Repository Service
process properties and set the value to Shift-JIS.
Read More about Informatica PowerCenter 8x