Go to primary content
Oracle® Agile Engineering Data Management Administration Guide
Release e6.2.1.0
E69111-01
  Go To Table Of Contents
Contents

Previous
Previous
 
 

13 Appendix

13.1 Environment Configuration Parameters

Each EDM Server process has an environment, which is set on startup. An Agile e6 application consists of environment variables which are set through shell scripts and additional configuration values read by the EDM Server process at startup from XML configuration files. Information about EDM Server environment variables can be found in the Agile e6 Online Help.


Note:

The next two sections describe the internal Agile e6 startup of an EDM Server process.

13.1.1 Startup Process on Windows

  • Invoking EDM Server startup through Java Daemon

  • %ep_root%\axalant\cmd\axalant_srv.cmd

    • %ep_root%\axalant\cmd\plm_env.cmd

      Read for all applications.

    • %ep_root%\axalant\cmd\plm_env_dev.cmd

      If exists, read for all applications, not available in standard installation.

    • %ep_root%\axalant\cmd\plm_env_cust.cmd

      If exists, read for all applications, not available in standard installation, customers should add their modifications for all applications here.

    • %ep_root%\init\%env_name%.cmd

      Read for specified application only.

    • %ep_root%\init\%env_name%_cust.cmd

      If exists, not available in standard installation, read for specified application only, customers should add their modifications for all applications here.

Startup of EDM Server process which reads:

  • %ep_root%\init\axalant.xml

    Read for all applications which are defined in "%ep_root%\init\%env_name%.xml", which is the default.

  • %ep_root%\init\%env_name%.xml

13.1.2 Startup Process on UNIX

  • Invoking EDM Server startup thru Java Daemon

  • ${ep_root}\axalant\scripts\axalant_srv

    • ${ep_root}\axalant\scripts\plm_env.sh

      Read for all applications.

    • ${ep_root}\axalant\scripts\plm_env_dev.sh

      If exists, read for all applications, not available in standard installation.

    • ${ep_root}\axalant\scripts\plm_env_cust.sh

      If exists, read for all applications, not available in standard installation, customers should add their modifications for all applications here.

    • ${ep_root}\init\${env_name}.sh

      Read for specified application only.

    • ${ep_root}\init\${env_name}_cust.sh

      If exists, not available in standard installation, read for specified application only, customers should add their modifications for all applications here.

Startup of EDM server process which reads

  • ${ep_root}\init\axalant.xml

    Read for all applications which have defined it in "${ep_root}\init\${env_name}.xml", which is the default.

  • ${ep_root}\init\${env_name}.xml

13.1.3 Startup Shell Scripts

This section describes the environment variables which can be modified by the customer.

  • If the environment variable should be set for all applications, use "plm_env_cust.<extension>".

  • If the environment variable is application specific then use "%env_name%_cust.<extension>".

  • If the files do not exist, they must be created.

Environment Variable Description Values Optional Example
axalant_tmp Path to the EDM Server log files. $ep_root/tmp no $ep_root/tmp or %ep_root\tmp
axalant_data Path to the EDM root $ep_root Not used in code! Maybe obsolete $ep_root or %ep_root
ORACLE_HOME Path to the Oracle client home directory. - no D:\oracle\product\12.2\db_1
NLS_LANG National language set for the Oracle client to use for the EDM Server process. - no AMERICAN_AMERICA.AL32UTF8
TNS_ADMIN Path to the tnsnames.ora for the Oracle client to use for the EDM Server process. - no %ORACLE_HOME%/network/admin
EP_DEBUG A comma separated list containing the modules that should generate debug output. Special entries are _all_ to debug all modules, Main for the main routine and 0 to turn off debug output.

If debug output is enabled, each Agile e6 process creates an axalant-<hostname>-<pid>.err and .out file to capture stderr and stdout.

Be aware that using the value _all_ will have a negative performance impact on the EDM Server, and it will generate huge log files.

_all_, 0, or a comma separated list of module IDs (as defined in axalant.xml or ebd_mid.h). Yes Main,Mod,Epq,Lgv
EDB_LOGDIR Directory for the log files created by the EP_DEBUG setting. Default is ${ep_root}/tmp. Directory with path Yes /my/log/dir
EDB_LOGSIZEBUFFER Buffer size in bytes for stderr output. If 0 is specified, the output will be unbuffered.

A value of 0 should only be used if crashes occur and the log buffer is not flushed to disk. Maximum size used is currently 1024. Values greater than 1024 are ignored.

0 to 1024 Yes 1024
EDB_TRC_ALL Deprecated. Use EP_DEBUG with Epq instead.


EDB_TRC_DEBUG Deprecated. Use EP_DEBUG with Epq instead.


PATH PATH to use for the EDM Server process. - no PATH=%ORACLE_HOME%/bin;%PATH%

13.1.4 Startup Configuration Files

In Agile e6, the application configuration files are in XML format and can be found in the <ep_root>/init directory (e.g. <application>.xml and axalant.xml). They replace the former *.edb files in the same directory. Some basic attributes in the application specific <application>.xml file can be modified over the Administration client web interface. If you need to change the enhanced attributes, the files can be edited manually with an editor.

All changes not performed over the Administration client web interface will be lost if you use the Administration client web interface again to change the values of the application.

13.1.4.1 <application>.xml

The following section describes the attributes of the XML nodes that can be defined in the XML file.

In a standard installation not all attributes are defined in the XML file and default values are used.

13.1.4.2 General Node

<General SignalFlag="1" ModuleConfig="axalant.xml" TraceConfig="" UseCommonTraceFile="1"/>
DbBlobLocation="edb_lob"
Attribute Description Values Optional Example
SignalFlag If the entry is 1, Agile e6 catches runtime errors and stops the server process in a controlled manner.

For instance, all database connections are disconnected. This might cause hanging server processes and is therefore deactivated by default.

0 or 1 Yes 1
ModuleConfig Contains the name of the configuration source which is used as the primary source for the Agile e6 module definitions.

All modules of this source are registered. From the original configuration source, only the modules entered in [Modules\Custom] will be registered.

The module IDs must be unique over all sources.

File name of the primary module source:

[X:][path]filename.xml

[F:][path]filename.edb

If specified without type F or X, the same type as the original source is assumed. If specified without path, ${ep-root}/init is used.

Yes axalant.xml
TraceConfig The Path to the C++ trace configuration file. F:<path to trace config file> Yes F:D:\oracle\plm61\axalant\ini\trace.edb
UseCommonTraceFile If the entry is 1, the EDM Server writes all common traces (SQL, C/C++ and LogiView) into the standard server trace. 0 or 1 Yes 1

13.1.4.3 Database Node

<Database Library="epq10c_ora112" Vendor="Oracle" Version="112" User="plmref@plm61" Pwd="plmref"
      ParallelConnect="ON_DEMAND_CONNECT"
      ParallelConnectTimeout="10"
      DbWuqSP="Static"
      BindMode="All"
      Wildcards="?%"
      Querymode="MIXED">
   </Database>
 
Attribute Description Values Optional Example
User The schema name and the SQLnet connect string of the database to which the application should connect to. e.g. plmref@plm61 n -
Pwd The password of the database schema to which the application should connect to. Can be encrypted, but also clear text passwords are possible. e.g.: plmref or encrypted e.g: {PLM-AES-128}JoMHOs.....NpMCDcytN+DJI n -
DbBlobLocation Table space for the database Blob fields edb_lob

ParallelConnect This setting manages the Oracle database connection behavior when a data record is going to be updated with the function "epqupdpar()". The major use case for this functionality is the number server so that pulling a new number from a number cycle is done in a parallel connection. The concurrency of the requested data modification is vastly improved by enabling a parallel connection.

Important: This setting does not influence the standard behavior of any database transaction, it is only important for a very small number of functions explicitly using "epqupdpar()" instead of "epqupd()"

NO_PARALLEL_CONNECT - Update of the data record via "epqupdpar()" will be executed within the current transaction. The concurrency of an application transaction is low and this setting should be used only for small installation size and/or small number of statements in a transaction.

PERMANENT_CONNECT - A permanent parallel database connection will be opened when an update of a data record via "epqupdpar()" is requested. This connection will require additional memory resources in favor of a fast response time for an update. The concurrency of an application transaction is high.

ON_DEMAND_CONNECT - A temporary parallel database connection will be opened when an update of a data record via "epqupdpar()" is requested. This connection will require temporarily additional memory resources and will also take more time for execution due to the time required to open and close a parallel connection. Closing the parallel connection is influenced by the "ParallelConnectTimeout". The concurrency of an application transaction is high. This setting is the best one if the memory resources are very limited.

Y, Default in EPQ: 'NO_PARALLEL_CONNECT' Default in Installation: 'ON_DEMAND_CONNECT' -
ParallelConnectTimeout Determines when the parallel connection in mode "ON_DEMAND_CONNECT" will be closed after <ParallelConnectTimeout> seconds due to inactivity. After each read-only statement, a check occurs when an update in the last parallel connection has happened, and if the timeout has been exceeded, the parallel connection is closed. Value in seconds e.g. 10 for 10 seconds inactivity

A value of 0 immediately closes the parallel connections after it has been used.

Y,

Default in EPQ: 0

Default in Installation: 10

-
DbWuqSP Defines which algorithm will be used for a "Where Used Query" or "Structure Explosion". There is a "dynamic" version available which created a temporarily stored procedure during runtime, which is suited to the requested query for a specific table. The other version uses a stored procedure which is static and part of the standard database dump.

Note: This is an internal parameter, please change it only after being advised by a support engineer.

Static - Static stored procedure in database dump

Dynamic - Stored procedure which will be created during runtime

Y, Default is: 'Static'
BindMode Manages the usage of place holders in the dynamic SQL statements. Using place holders is important to avoid the need to parse SQL statements if many SQL statements have the same structure but different values for variables. Not using place holders will add the parsing time on database server side to the execution time for each SQL statement.

Note: This is an internal parameter, please change it only after being advised by a support engineer.

Value is an integer handled as a bit mask; each value is specific for a condition value in a WHERE-clause. The value in a clause is the SQL keyword:

Interval (between): 1

Equal (=): 2

Like (like): 4

Less than, or greater than: (<,>):8

Less equal, or greater equal: (<=,>=): 16

Y, Default is 31, for Oracle 8 Databases it has been only Equal(2) Using place holders for all conditions:31

Using place holders only for an Interval and Equal conditions:3

Wildcards Sets the characters to define the single and the multi wildcard in the database. A single wildcard is a place holder in a query for exactly one character; a multi wildcard is a placeholder for zero to many characters.

There are many places in the application to define wildcards, it is important to understand in which order the wildcard definitions are evaluated. Please see here the order of evaluation (first line is also first evaluated):

Configuration parameter (this entry here) Wildcards

Command line parameter: -w

DataView Defaults SYSTEM parameter: WILDCARD

DataView Defaults USER parameter: WILDCARD

To simplify the wildcard definition it is strongly recommended to use the WILDCARD parameter in the DataView defaults only.

Any combination of 2 ANSI characters, special characters are recommended Y, Default: '?%' Setting an asterisk for multi wildcard like on a Windows or UNIX shell: '?*'
Querymode Defines the mode how a query for data will be handled. Queries for exact matches and wildcard matches are distinguished. An exact match is containing no wildcard e.g. 'abcdef' while a wildcard match contains any combination of wildcards e.g. 'a?cd%f'. There are many places in the application to define the query mode, it is important to understand in which order the query mode definitions are evaluated. Please see here the order of evaluation (first line is also first evaluated):

Configuration parameter (this entry here) Querymode

Command line parameter: -q

DataView Defaults SYSTEM parameter: QUERYMODE

DataView Defaults USER parameter: QUERYMODE

To simplify the query mode definition it is strongly recommended to use the QUERYMODE parameter in the DataView defaults only.

SENSITIVE - Queries will distinguish upper and lowercase character. This will provide the best database performance.

INSENSITIVE - Queries will not distinguish between upper and lower case characters.

MIXED - Queries will use 'SENSITIVE' for exact matches and 'INSENSITIVE' for wildcard matches. This provides the best balance between performance and usability of a query

Y, Default:

MIXED'

A query for 'abc' match in

SENSITIVE: only 'abc'

INSENSITIVE: 'abc', 'Abc', 'ABC', 'aBc', ...

MIXED: for exact matches only 'abc', for wildcard matches 'abc', 'Abc', 'ABC', 'aBc', ...


13.1.4.4 Security

<Security>
  <Default KeyStoreFile="file://D:/oracle/plm61/init/wallet/private/server/"/>
  <ws_sso KeyStoreFile="file://D:/oracle/plm61/init/wallet/private/ws/"/>
  <abs_sso KeyStoreFile="file://D:/oracle/plm61/init/wallet/private/sso/"/>
</Security>
Attribute Description Values Optional Example
KeyStoreFile The location of the Oracle Wallet file used by the EDM Server. file://%ep_root%/init/wallet/private/<wallet-type>/ no file://%ep_root%/init/wallet/private/server/

13.1.4.5 IPC Node

<IPC AbsEciUrl="eci://www.example.com:19997" SecurityLevel="process" TicketLifeTime="600"        
       Node = "www.example.com">
   </IPC>
Attribute Description Values Optional Example
AbsEciUrl The URL where the business service can be reached on the Oracle WebLogic Server.

The port must match the "Port" entry in the ABS_<env>.ini file on the Oracle WebLogic Server.

eci://www.example.com:19997 - -
Protocol Also configurable in the command line.

If the configuration file or command line contains both entries and if the command line also contains the resource to be used, Agile e6 is started in ECI Server mode and can be contacted by ECI clients via the specified parameters (see ECI Manual).

<ECI Protocol ID> Yes 1
Node The host name of the EDM Server when running as an ECI server. Fully qualified host name Yes www.example.com
SecurityLevel This entry specifies the security level to be used for IPC connections.

The default value of connection should be used whenever possible, to ensure that no unauthorized access is possible.

Use the other values only if a legacy integration is not capable of passing credentials during an ECI connect.

An Agile e6 application using a value other than connection should be secured by firewalls, so that only the legacy system has remote access to the Agile e6 server.

One of:

unrestricted: no authorization required to establish the connection.

process: first IPC connection needs to authorize by passing credentials.

connection: each IPC connection needs to authorize by passing credentials. [default]

Yes process
TicketLifeTime The life time value of EDM tickets for multiple ECI connections. Expire value in seconds Yes 21600 (default)


Note:

In case of long processes, as e.g. batch processes, it is recommended to set the time value for the TicketLifeTime to "0", thus defining an indefinite timeout.

13.1.4.6 Modules Node

<Modules>
<Core>
           <Class Name="Classification" Library="epsrv_edb" Type="embedded" Startup="immediately"/>
       </Core>
       <Custom>
           <Sample Name="Sample Custom module" Library="sample"/>
       </Custom>
   </Modules>

The Modules element contains two child elements called Core and Custom. Each of these child elements may contain any number of module definitions, where the element name is used as Module ID.

The attributes of each element are as follows:

Attribute Description Values Optional Example
Name A short description of the module. This is displayed in the library list of Agile e6. A human readable name No Sample Module
Library The name of the library to be loaded, if possible without path and operating-system-specific suffix Library name No epsrv_sample
Entry The name of the entry function of the module.

This information is provided by the supplier of the respective module.

If the entry does not exist, it is derived from the module ID as follows:

<mod-id>_Entry

Function name Yes Sample_Entry
Startup Controls the automatic start-up of a module.

If the entry does not exist, the module is only loaded, initialized and started on demand.

One of

immediately: Starts the module immediately during server startup.

onDemand: Starts if a userexit requests the module [default]

disabled: Does not start the module.

Yes onDemand
Type Specifies the module type, standard is dynamic. One of:

Static

embedded: Only used for internal Agile e6 modules.

dynamic: Standard value for external modules. [default]

Yes dynamic

13.1.4.7 LogFileMgr/CpsVerify Node

<LogFileMgr>
<CpsVerify Mode="append" Prefix="CpsVerify">
       </CpsVerify>
   </LogFileMgr>
 
Attribute Description Values Optional Example
Mode Logfile mode. For CpsVerify the value is overwritten by user specific default "CPS_LOG_FIL_MOD". So adapt the default instead of changing value here. trunc = truncate log message file before writing log messages

append = append log messages to file

yes Mode="append"
Prefix Prefix for logfile. Not evaluated yet for CpsVerify, prefix is always set to value "CpsVerify". CpsVerify yes Prefix="CpsVerify"

13.1.4.8 PLMPresentationServices Node

<PLMPresentationServices Report_Service_URL="http://www.example.com:7103/AgilePlmWps/reporter/report"/>
<Windows DATAVIEW_TBSP="edb" DATAVIEW_IXSP="edb_idx" ... DATAVIEW_DUMP="<EP_ROOT>\axalant\dmp" ...>
Attribute Description Values Optional Example
Report_Service_URL Lightweight reporting URL, generated automatically. URL on the configured Oracle WebLogic Server. http://www.example.com:7103/AgilePlmWps/reporter/report


13.1.4.9 Environment Node

Environment>       
           <intel-ms-nt6.1/>
       </Windows>
       <Unix ... >
           <i686-linux-ol6/>
           <rs6000-ibm-aix7.1/>
           <sparc-sun-solaris11/>
           <ia64-hp-hpux11.31/>
       </Unix>
   </Environment>
 

Environment variables for the EDM Server process can be set here, or in the startup scripts defined above.

These values will overwrite all previously defined values from e.g. startup scripts.