C Extending Repository Creation Utility to Configure Custom Application Repositories
RCU provides an XML-based framework for component owners to plug in your schema creation and deletion scripts into RCU. The following topics provide some details of the configuration XML files and script-writing guidelines that are used to integrate your components with RCU:
- RCU Integration Options
RCU provides several options for integrating component scripts. - RCU Configuration Files
RCU provides several configuration file types for component integration. - RCU Script Writing Guidelines
Use these guidelines when writing RCU scripts.
RCU Integration Options
RCU provides several options for integrating component scripts.
RCU JDBC Engine Compliant SQL*Plus Scripts is the recommended option for integrating component scripts. Components that have a dependency on SQL*Plus scripts cannot be loaded with RCU when running from the installed Oracle home.
- RCU JDBC Engine Compliant SQL*Plus Scripts
The RCU JDBC Engine emulates a set of SQL*Plus features over JDBC. This set is broad enough to cover the requirements of schema creation. - Pure JDBC Scripts
This option is recommended for non-Oracle databases (for Oracle databases, RCU JDBC Engine Compliant SQL*Plus scripts should be used). - SQL*Plus Scripts
This option is mainly for the consumption of legacy components that need to be loaded from RCU. - External Processes
This option is provided only for those components that have their own configuration tool for schema creation, like OPCA (Oracle Portal 10g). - Java Code Using JavaAction
This option is provided to components that have Java code, which can accept a JDBC connection and execute SQL statements.
RCU JDBC Engine Compliant SQL*Plus Scripts
The RCU JDBC Engine emulates a set of SQL*Plus features over JDBC. This set is broad enough to cover the requirements of schema creation.
Your component teams can integrate existing SQL*Plus scripts with a few minor changes.
The RCU JDBC Engine parses the SQL*Plus script to get individual statements and then runs each statement over JDBC. Command-line arguments to scripts and substitution using DEFINE variables are supported. Script can be nested, for example, one script can call other scripts. Component teams can specify a list of expected errors and fatal errors to RCU through configuration files and RCU would interpret these when running the scripts.
These scripts are easy to maintain and use as they can be run in SQL*Plus in a development environment. However, Oracle recommends that you also use the RCU JDBCEngine tool in your development environment to ensure that these scripts run properly when integrated with RCU.
Parent topic: RCU Integration Options
Pure JDBC Scripts
This option is recommended for non-Oracle databases (for Oracle databases, RCU JDBC Engine Compliant SQL*Plus scripts should be used).
Contents of the script file should be a valid PL/SQL block, which can be called with Connection.prepareCall()
or Connection.createStatement()
. Standard JDBC Bind variables with '?' convention are supported.
Some disadvantages of this option are:
-
No nested scripts, which can mean a larger number of scripts.
-
May require significant rework for component teams to rewrite the scripts in this format.
-
Difficult to maintain as every DDL statement has to be wrapped with in EXECUTE IMMEDIATE.
-
Cannot be run by using SQL*Plus in a development environment.
-
Less useful error support since the whole block would fail in case of any errors.
Below is an example:
<Action TYPE="JDBC" PERCENT_PROGRESS="20"> <ValidIf DBTYPE="ORACLE" /> <Command TYPE="INLINE">DROP USER %SCHEMA_USER% CASCADE</Command> </Action>
And a second example:
<Action TYPE="Java" PERCENT_PROGRESS="100"> <Command TYPE="METHOD"> oracle.ias.version.SchemaVersionUtil:utilSetComponentValid </Command> <Parameters> <Parameter TYPE="String">MDS</Parameter> </Parameters> </Action>
Parent topic: RCU Integration Options
SQL*Plus Scripts
This option is mainly for the consumption of legacy components that need to be loaded from RCU.
Example:
<Action TYPE="SQLPlus" PERCENT_PROGRESS="100"> <Command TYPE="SCRIPT">%SCRIPT_HOME%/oid/scripts/seedldap.sql</Command> <IgnorableErrors> <Error Type="ORA-01918">user name does not exist</Error> </IgnorableErrors> </Action>
And a second example:
<Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="20"> <ValidIf DBTYPE="ORACLE" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/mds/sql/mds_user.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%SCHEMA_PASSWORD%</Parameter> <Parameter TYPE="CmdLine">%DEFAULT_TABLESPACE%</Parameter> <Parameter TYPE="CmdLine">%TEMPORARY_TABLESPACE%</Parameter> </Parameters> </Action>
Parent topic: RCU Integration Options
External Processes
This option is provided only for those components that have their own configuration tool for schema creation, like OPCA (Oracle Portal 10g).
This is not a recommended option for any new component, as this option cannot make use of the RCU error handling framework.
Example:
<Action TYPE="HostCmd"> <Command TYPE="SCRIPT">%RCU_HOME%/rcu/integration/cdb/config/bin/configure</Command> <Parameters> <Parameter TYPE="ProcessInput">%JDBC_CONNECT_STRING%</Parameter> <Parameter TYPE="ProcessInput">%DBADMIN_USER%</Parameter> <Parameter TYPE="ProcessInput">%DBADMIN_PASSWORD%</Parameter> <Parameter TYPE="ProcessInput">%PREFIX_NAME%</Parameter> <Parameter TYPE="ProcessInput">%SCHEMA_USER%</Parameter> <Parameter TYPE="ProcessInput">%SCHEMA_PASSWORD%</Parameter> <Parameter TYPE="ProcessInput">%DEFAULT_TABLESPACE%</Parameter> <Parameter TYPE="ProcessInput">%TEMPORARY_TABLESPACE%</Parameter> </Parameters> </Action>
Parent topic: RCU Integration Options
Java Code Using JavaAction
This option is provided to components that have Java code, which can accept a JDBC connection and execute SQL statements.
This is generally used when huge amounts of data has to be seeded or Large Objects (LOBs) need to be created.
Example:
<Action TYPE="Java"> <Command TYPE="METHOD"> oracle.ias.version.SchemaVersionUtil:utilCreateRegistryEntry </Command> <Parameters> <Parameter TYPE="Connection"></Parameter> <Parameter TYPE="String">%SCHEMA_USER%</Parameter> </Parameters> </Action>
A second example:
<Action TYPE="Java"> <Command TYPE="METHOD">oracle.webdb.config.PortalConfigAssistant:main</Command> <Parameters> <Parameter TYPE="StringArray">-mode PORTAL -s %SCHEMA_USER% -p %DBADMIN_PASSWORD% -c %DB_HOSTNAME%:%DB_PORTNUMBER%:%DB_SERVICE% -silent -verbose -owa -u %DEFAULT_TABLESPACE% -t %TEMPORARY_TABLESPACE% -d %SCHEMA_USER%_DOC -l %SCHEMA_USER%_LOG -in %SCHEMA_USER%_IDX -demo -report -voh %RCU_HOME% -log %RCU_LOG_LOCATION% -oh %SQLPLUS_HOME% -mrc %PREFIX_NAME% -rcu </Parameter> </Parameters> </Action>
Parent topic: RCU Integration Options
RCU Configuration Files
RCU provides several configuration file types for component integration.
The following are the configuration files defined by RCU:
- XML DTDs Defined by RCU
These are the XML DTDs defined by RCU; they are located in theORACLE_HOME/oracle_common/rcu/config
directory. - Component Repository Configuration File
A Component Repository Configuration File (component.xml
) lists the prerequisites and the list of scripts or actions that need to be performed to load or drop a schema. - Soft-Prerequisite Support
If a particular<DBPrerequisiteSet>
or<DBPrerequisite>
is not mandatory, then you can use the soft-prerequisite option by setting theSOFT
attribute toTRUE
in theComponentInfo.xml
file - Default Tablespaces Configuration File
The default tablespaces configuration file (Storage.xml
) lists the components, for which, tablespaces are created out-of-the-box. This file is located in theORACLE_HOME/oracle_common/rcu/config
directory on UNIX operating systems.
XML DTDs Defined by RCU
These are the XML DTDs defined by RCU; they are located in the ORACLE_HOME/oracle_common/rcu/config
directory.
Following are the configuration files:
- Component Descriptor Configuration File
The Component Descriptor configuration file is calledComponentInfo.dtd
and is located in theORACLE_HOME/oracle_common/rcu/config
directory on UNIX operating systems or in theORACLE_HOME\oracle_common\rcu\config
directory on Windows operating systems. - Repository Configuration File
The Repository configuration file is calledRepositoryConfig.dtd
and is located in theORACLE_HOME/oracle_common/rcu/config
directory on UNIX operating systems directory or in theORACLE_HOME\oracle_common\rcu\config
directory on Windows operating systems. - Primary List of Supported Components
RCU maintains a primary list of supported components, which contains entries for each supported component. Every time a new component is added, the primary list of supported components is updated with the reference of the XML integration file, which is provided by component owner. - Storage Attributes Configuration File
RCU maintains the list of tablespaces or datafiles and their attributes that needs to be created. This way the tablespaces and datafiles attributes can be modified externally.
Parent topic: RCU Configuration Files
Component Descriptor Configuration File
The Component Descriptor configuration file is called ComponentInfo.dtd
and is located in the ORACLE_HOME/oracle_common/rcu/config
directory on UNIX operating systems or in the ORACLE_HOME\oracle_common\rcu\config
directory on Windows operating systems.
Each component owner would provides a configuration file that adheres to the following DTD, which lists the prerequisites and actions:
<?xml version="1.0" encoding="UTF-8" ?> <!ENTITY % commonDTD SYSTEM "RCUCommon.dtd"> %commonDTD; <!ELEMENT ComponentInfo (Display?, PrefixSettings?, Component*, ComponentConfigFiles?, PrerequisiteDescriptor*, ExecutionDescriptor*, FatalErrors?, IgnorableErrors?)> <!ATTLIST ComponentInfo VERSION CDATA #IMPLIED TYPE CDATA #IMPLIED RESOURCE_BUNDLE_PACKAGE CDATA #IMPLIED> <!ELEMENT PrefixSettings (DetectQuery*)> <!ATTLIST PrefixSettings USE_SCHEMA_PREFIX (TRUE|FALSE) "TRUE" USE_TABLESPACE_PREFIX (TRUE|FALSE) "TRUE"> <!ELEMENT ComponentConfigFiles (ConfigFile*)> <!ATTLIST ConfigFile ID CDATA #REQUIRED> <!ELEMENT ConfigFile (#PCDATA)> <!ELEMENT Component (ValidIfSet?, ValidIf?, Display,Consolidate*,SchemaBase*, RepositoryConfigFile?, DetectQuery*, SchemaVersion?, SchemaUser?, AdditionalSchemaUser*, Dependents?, DatabaseName?, Tablespaces?, CustomVariables?)> <!ATTLIST Component ID CDATA #REQUIRED PROGRESS_UNITS CDATA #IMPLIED IS_GROUPING_COMPONENT (TRUE|FALSE) "FALSE" DEFAULT_SELECTED (TRUE|FALSE) "FALSE" CHILD_OF CDATA #IMPLIED MANDATORY_SELECTED (TRUE|FALSE) "FALSE"> <!ELEMENT Display (#PCDATA)> <!ATTLIST Display NLS_ID CDATA #IMPLIED> <!ELEMENT Consolidate EMPTY> <!ATTLIST Consolidate VALID (TRUE|FALSE) "FALSE" DYNAMIC_OBJECTS (TRUE|FALSE) "FALSE"> <!ELEMENT SchemaBase (#PCDATA) > <!ATTLIST SchemaBase PARENT (TRUE|FALSE) "FALSE" TBS_OVERRIDE (TRUE|FALSE) "FALSE" TBS_OVERRIDE_USE_CUSTOM (TRUE|FALSE) "FALSE" COMPONENT_DROP (TRUE|FALSE) "FALSE"> <!ELEMENT RepositoryConfigFile (#PCDATA)> <!ELEMENT DetectQuery (#PCDATA)> <!ATTLIST DetectQuery OPERATION (CREATE|DROP|DATALOAD) 'CREATE' TYPE (ORACLE|SQLSERVER|IBMDB2|EBR|MYSQL|JAVADB) 'ORACLE'> <!ELEMENT SchemaVersion (#PCDATA)> <!ELEMENT SchemaUser (#PCDATA)> <!ATTLIST SchemaUser USER_EDITABLE (TRUE|FALSE) "TRUE" PREFIXABLE (TRUE|FALSE) "TRUE" IS_CREATED (TRUE|FALSE) "TRUE" MAX_LENGTH CDATA "30"> <!ELEMENT AdditionalSchemaUser (#PCDATA)> <!ATTLIST AdditionalSchemaUser STARTS_WITH_SCHEMA_USER (TRUE|FALSE) "TRUE" COMPONENT_ID CDATA #IMPLIED> <!ELEMENT Dependents (Dependent*)> <!ELEMENT Dependent (#PCDATA)> <!ATTLIST Dependent COMPONENT_ID CDATA #REQUIRED ALT_COMPONENT_ID CDATA #IMPLIED> <!ELEMENT DatabaseName (#PCDATA)> <!ELEMENT Tablespaces (Tablespace*)> <!ATTLIST Tablespace TYPE (DEFAULT_TABLESPACE|TEMPORARY_TABLESPACE|ADDITIONAL_TABLESPACE1|ADDITIONAL_TABLESPACE2|ADDITIONAL_TABLESPACE3| ADDITIONAL_TABLESPACE4|ADDITIONAL_TABLESPACE5|ADDITIONAL_TABLESPACE6|ADDITIONAL_TABLESPACE7|ADDITIONAL_TABLESPACE8|ADDITIONAL_TABLESPACE9| ADDITIONAL_TABLESPACE10|ADDITIONAL_TABLESPACE11|ADDITIONAL_TABLESPACE12|ADDITIONAL_TABLESPACE13|ADDITIONAL_TABLESPACE14|ADDITIONAL_TABLESPACE15| ADDITIONAL_TABLESPACE16|ADDITIONAL_TABLESPACE17|ADDITIONAL_TABLESPACE18|ADDITIONAL_TABLESPACE19|ADDITIONAL_TABLESPACE20|ADDITIONAL_TABLESPACE21| ADDITIONAL_TABLESPACE22|ADDITIONAL_TABLESPACE23|ADDITIONAL_TABLESPACE24|ADDITIONAL_TABLESPACE25|ADDITIONAL_TABLESPACE26|ADDITIONAL_TABLESPACE27| ADDITIONAL_TABLESPACE28|ADDITIONAL_TABLESPACE29|ADDITIONAL_TABLESPACE30|ADDITIONAL_TABLESPACE31) "DEFAULT_TABLESPACE"> <!ELEMENT Tablespace (Prompt, TablespaceName)> <!ELEMENT Prompt (#PCDATA)> <!ATTLIST Prompt NLS_ID CDATA #IMPLIED> <!ELEMENT TablespaceName (#PCDATA)> <!ELEMENT CustomVariables (Variable*, ValidationDescriptor*)> <!ATTLIST Variable TYPE (STRING|NUMBER|PASSWORD|EXISTING_PASSWORD|FILE|LIST) "STRING" MAX_LENGTH CDATA "30" MIN_LENGTH CDATA "0" MAX_VALUE CDATA #IMPLIED MIN_VALUE CDATA #IMPLIED OPERATION (CREATE|DROP|SYSTEM_LOAD|DATA_LOAD|BOTH) "BOTH" DEFAULT_VALUE CDATA "" PROMPT_ON_DEFAULT_VALUE (YES|NO) "YES" VALUES CDATA ""> <!ELEMENT Variable (Name,Display)> <!ELEMENT ValidationDescriptor (Action*)> <!ATTLIST ValidationDescriptor OPERATION (CREATE|DROP|SYSTEM_LOAD|DATA_LOAD|BOTH) "BOTH"> <!ELEMENT Name (#PCDATA)>
Parent topic: XML DTDs Defined by RCU
Repository Configuration File
The Repository configuration file is called RepositoryConfig.dtd
and is located in the ORACLE_HOME/oracle_common/rcu/config
directory on UNIX operating systems directory or in the ORACLE_HOME\oracle_common\rcu\config
directory on Windows operating systems.
<?xml version="1.0" encoding="UTF-8" ?> <!ENTITY % commonDTD SYSTEM "RCUCommon.dtd"> %commonDTD; <!ELEMENT RepositoryConfig (PrerequisiteDescriptor*, ExecutionDescriptor, DeleteDescriptor?)> <!ATTLIST RepositoryConfig COMP_ID CDATA #REQUIRED> <!ELEMENT DeleteDescriptor (Action*)>
Parent topic: XML DTDs Defined by RCU
Primary List of Supported Components
RCU maintains a primary list of supported components, which contains entries for each supported component. Every time a new component is added, the primary list of supported components is updated with the reference of the XML integration file, which is provided by component owner.
This configuration file is called RCUCommon.dtd
and is located in the ORACLE_HOME/oracle_common/rcu/config
directory on UNIX operating systems or in the ORACLE_HOME\oracle_common\rcu\config
directory on Windows operating systems:
<?xml version="1.0" encoding="UTF-8" ?> <!ELEMENT PrerequisiteDescriptor (DBPrerequisiteSet*, DBPrerequisite*)> <!ATTLIST PrerequisiteDescriptor TYPE (CREATE|DROP|REGISTER|DEREGISTER|SYSTEMLOAD|DATALOAD) 'CREATE'> <!ELEMENT DBPrerequisiteSet (ValidIfSet?, ValidIf?, PrereqSetErrorMsg?, DBPrerequisite*)> <!ATTLIST DBPrerequisiteSet OPERATOR (OR|AND) "OR" SOFT (TRUE|FALSE) "FALSE"> <!ELEMENT DBPrerequisite (ValidIfSet?, ValidIf?, PrereqIdentifier, PrereqValue, PrereqErrorMsg?)> <!ATTLIST DBPrerequisite PREREQ_TYPE (InitParameter|DBOption|Java|DBComponent|DBVersion|DBObject|CustomSQL|TablespaceFreeMB) "CustomSQL" DATA_TYPE (STRING|NUMBER|VERSION) "STRING" COMPARE_OPERATOR (EQ|GT|LT|NE|GE|LE|COMPARE_VERSION) "EQ" SOFT (TRUE|FALSE) "FALSE"> <!ELEMENT PrereqIdentifier (#PCDATA)> <!ELEMENT PrereqValue (#PCDATA)> <!ELEMENT PrereqSetErrorMsg (#PCDATA)> <!ATTLIST PrereqSetErrorMsg NLS_ID CDATA #IMPLIED> <!ELEMENT PrereqErrorMsg (#PCDATA)> <!ATTLIST PrereqErrorMsg NLS_ID CDATA #IMPLIED> <!ATTLIST PrereqValue UNIT (KB|MB|NoUnit) 'NoUnit'> <!ELEMENT ExecutionDescriptor (Action*)> <!ATTLIST ExecutionDescriptor TYPE (Load|PreLoad|PostLoad|DataLoad|PostDataLoad) "Load"> <!ELEMENT Action (ValidIfSet?, ValidIf?, Command, Parameters?, FatalErrors?, IgnorableErrors?)> <!ATTLIST Action TYPE (JDBCSqlScript|JDBC|SQLPlus|HostCmd|Java) "JDBCSqlScript" DB_VERSION CDATA #IMPLIED PERCENT_PROGRESS CDATA #IMPLIED CONNECT_AS_OWNER (TRUE|FALSE) "FALSE" CONNECT_AS_REGISTRYOWNER (TRUE|FALSE) "FALSE" RESET_SESSION (TRUE|FALSE) "FALSE"> <!ELEMENT Command (#PCDATA)> <!ATTLIST Command TYPE (SCRIPT|INLINE|METHOD) "SCRIPT"> <!ELEMENT Parameters (Parameter*)> <!ELEMENT Parameter (#PCDATA)> <!ATTLIST Parameter TYPE (BindVar|CmdLine|ProcessInput|EnvVar|Connection|int|String|StringArray|boolean) "CmdLine"> <!ELEMENT FatalErrors (Error*)> <!ELEMENT IgnorableErrors (Error*)> <!ELEMENT Error (#PCDATA)> <!ATTLIST Error Type CDATA #REQUIRED> <!ELEMENT ValidIfSet (ValidIf*)> <!ATTLIST ValidIfSet DBTYPE CDATA #IMPLIED DBVERSION CDATA #IMPLIED OSNAME CDATA #IMPLIED OPERATION_TYPE CDATA "ALL" OPERATOR (OR|AND) "OR"> <!ELEMENT ValidIf (CustomQueryFilter?)> <!ATTLIST ValidIf DBTYPE CDATA #IMPLIED DBVERSION CDATA #IMPLIED OSNAME CDATA #IMPLIED OPERATION_TYPE CDATA "ALL"> <!ELEMENT CustomQueryFilter (#PCDATA)> <!ATTLIST CustomQueryFilter DATA_TYPE (STRING|NUMBER) "STRING" COMPARE_OPERATOR (EQ|GT|LT|NE|GE|LE|COMPARE_VERSION) "EQ" VALUE CDATA #REQUIRED >
Parent topic: XML DTDs Defined by RCU
Storage Attributes Configuration File
RCU maintains the list of tablespaces or datafiles and their attributes that needs to be created. This way the tablespaces and datafiles attributes can be modified externally.
The Storage Attributes configuration file is called Storage.dtd
and is located in the ORACLE_HOME/oracle_common/rcu/config
directory on UNIX operating systems) or in the ORACLE_HOME\oracle_common\rcu\config
directory on Windows operating systems.
<?xml version="1.0" encoding="UTF-8" ?> <!ELEMENT StorageAttributes ( ComponentStorageFiles?, TablespaceAttributes*)> <!ELEMENT ComponentStorageFiles (StorageFile*)> <!ATTLIST StorageFile ID CDATA #REQUIRED> <!ELEMENT StorageFile (#PCDATA)> <!ELEMENT TablespaceAttributes (ValidIfSet?, ValidIf?,Type?,DefaultTemp?,BlockSize?,ExtentSize?,PageSize?,AutoResize?,IncreaseSize?,MaxSize?,Bigfile?,AutoSegmentSpaceManagement?, DatafilesList)> <!ATTLIST TablespaceAttributes NAME CDATA #REQUIRED OMF (TRUE|FALSE) "FALSE"> <!ELEMENT ValidIfSet (ValidIf*)> <!ATTLIST ValidIfSet DBTYPE CDATA #IMPLIED DBVERSION CDATA #IMPLIED OSNAME CDATA #IMPLIED OPERATOR (OR|AND) "OR"> <!ELEMENT ValidIf (CustomQueryFilter?)> <!ATTLIST ValidIf DBTYPE CDATA #IMPLIED DBVERSION CDATA #IMPLIED OSNAME CDATA #IMPLIED > <!ELEMENT Type (#PCDATA)> <!ELEMENT DefaultTemp (#PCDATA)> <!ELEMENT BlockSize (#PCDATA)> <!ELEMENT ExtentSize (#PCDATA)> <!ELEMENT PageSize (#PCDATA)> <!ATTLIST PageSize UNIT (KB|NoUnit) 'KB'> <!ELEMENT AutoResize (#PCDATA)> <!ELEMENT IncreaseSize (#PCDATA)> <!ATTLIST IncreaseSize UNIT (KB|MB|GB) 'MB'> <!ELEMENT MaxSize (#PCDATA)> <!ATTLIST MaxSize UNIT (KB|MB|GB) 'MB'> <!ELEMENT Bigfile (#PCDATA)> <!ELEMENT AutoSegmentSpaceManagement (#PCDATA)> <!ELEMENT DatafilesList (DatafileAttributes+)> <!ELEMENT DatafileAttributes (Size, Reuse?, AutoExtend?, Increment?, Maxsize?)> <!ATTLIST DatafileAttributes ID CDATA #REQUIRED> <!ELEMENT Size (#PCDATA)> <!ATTLIST Size UNIT (KB|MB|GB) 'MB'> <!ELEMENT Reuse (#PCDATA)> <!ELEMENT AutoExtend (#PCDATA)> <!ELEMENT Increment (#PCDATA)> <!ATTLIST Increment UNIT (KB|MB|GB) 'KB'> <!ELEMENT Maxsize (#PCDATA)> <!ATTLIST Maxsize UNIT (KB|MB|GB) 'MB'>
Table C-1 RCU XML Configuration File Details
Element | Attribute | Description | Supported Values |
---|---|---|---|
TablespaceAttributes |
Name |
Indicates the name of the tablespace |
— |
Type |
— |
Indicates the type of the tablespace, default or temporary |
|
Bigfile |
— |
Indicates whether the tablespace is a bigfile tablespace based on the value |
|
DatafilesList |
— |
Groups the datafile information |
— |
DatafileAttributes: Size |
ID For example, <DatafileAttributes ID="%DATAFILE_LOCATION%/mds.dbf"> <Size UNIT="MB"> 100 </Size> |
Indicates the size of tablespace |
Integer value |
DatafileAttributes: Reuse |
— |
Allows to reuse an existing file |
|
DatafileAttributes: AutoExtend |
— |
Allows to enable or disable the automatic extension of a new datafile or tempfile based on value |
|
DatafileAttributes: Increment |
— |
Indicates the size of the next extent to be allocated to the object in bytes |
Integer value |
DatafileAttributes: Maxsize |
— |
Indicates maximum size of segments |
Value is -1, if maxsize is unlimited, else specify required value |
— |
UNIT |
Indicates the unit of the tablespace size |
KB/MB/GB Default value is MB. |
AutoSegmentSpaceManagement |
Indicates dictionary managed tablespace or local managed tablespace based on value |
'True' indicates dictionary managed tablespace and 'False' indicates local managed tablespace. |
For more information about database tablespaces, see DBA_TABLESPACES in Oracle® Database Reference guide.
Parent topic: XML DTDs Defined by RCU
Component Repository Configuration File
A Component Repository Configuration File
(component.xml
) lists the prerequisites and the list of scripts or
actions that need to be performed to load or drop a schema.
This file is provided and maintained by component owners.
Each component.xml
file can be found in the
ORACLE_HOME/oracle_common/common/sql/component/component.xml
directory on UNIX operating systems.
Component owners can use a set of predefined RCU parameters, which are substituted at runtime by RCU based on user input. Here is the list of predefined parameters:
Table C-2 Predefined RCU Parameters
RCU Parameter | Description |
---|---|
|
Location of the Oracle home directory. |
|
Location where scripts are located. It may be same as
|
|
Database schema name (owner) entered by the user in RCU. |
|
Database schema password entered by the user in RCU. |
|
Additional schema users as defined in the
|
|
Password for the additional schema users. |
|
Default tablespace assigned to the component by the user. |
|
Temporary tablespace assigned to the component by the user. |
|
Additional tablespace assigned to the component by the user. Up to three additional tablespaces are supported. |
|
Default permanent tablespace in the database (for example,
|
|
Default temporary tablespace in the database (for example,
|
|
Default location where the tablespace/datafile will be created. |
|
JDBC connect string. |
|
User-specified prefix for schema and tablespace names. |
|
Already-connected |
|
Database admin user that is provided on the Database Connection Details. |
|
Database admin user password that is provided on the Database Connection Details. |
|
Database admin user role that is provided on the Database Connection Details. |
|
Database hostname that is provided on the Database Connection Details. |
|
Database service name. |
|
Database port number that is provided on the Database Connection Details. |
|
Directory where RCU is installed. |
|
|
|
Location of the directory where RCU log files are created. |
|
Database name (for SQLServer database). |
Below is a sample Component Repository Configuration file for OPSS
(opss.xml
), which lists the series of prerequisites and actions:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE RepositoryConfig SYSTEM "RepositoryConfig.dtd"> <RepositoryConfig COMP_ID="OPSS"> <!-- Prerequisites for OPSS --> <PrerequisiteDescriptor> <!-- ORACLE Prerequisites --> <DBPrerequisite PREREQ_TYPE="TablespaceFreeMB" DATA_TYPE="NUMBER" COMPARE_OPERATOR="GT"> <ValidIf DBTYPE="ORACLE" /> <PrereqIdentifier>%DEFAULT_TABLESPACE%</PrereqIdentifier> <PrereqValue>50</PrereqValue> </DBPrerequisite> <DBPrerequisite PREREQ_TYPE="TablespaceFreeMB" DATA_TYPE="NUMBER" COMPARE_OPERATOR="GT"> <ValidIf DBTYPE="ORACLE" /> <PrereqIdentifier>%TEMPORARY_TABLESPACE%</PrereqIdentifier> <PrereqValue>50</PrereqValue> </DBPrerequisite> <!-- ORACLE EBR Prerequisites --> <DBPrerequisite PREREQ_TYPE="TablespaceFreeMB" DATA_TYPE="NUMBER" COMPARE_OPERATOR="GT"> <ValidIf DBTYPE="EBR" /> <PrereqIdentifier>%DEFAULT_TABLESPACE%</PrereqIdentifier> <PrereqValue>50</PrereqValue> </DBPrerequisite> <DBPrerequisite PREREQ_TYPE="TablespaceFreeMB" DATA_TYPE="NUMBER" COMPARE_OPERATOR="GT"> <ValidIf DBTYPE="EBR" /> <PrereqIdentifier>%TEMPORARY_TABLESPACE%</PrereqIdentifier> <PrereqValue>50</PrereqValue> </DBPrerequisite> <!-- SQLServer Prerequisites --> <!-- DB2 Prerequisites --> </PrerequisiteDescriptor> <PrerequisiteDescriptor TYPE="DROP"> <!-- ORACLE Prerequisites --> <DBPrerequisite PREREQ_TYPE="CustomSQL" DATA_TYPE="NUMBER" COMPARE_OPERATOR="EQ"> <ValidIf DBTYPE="ORACLE" /> <PrereqIdentifier> select count(*) from v$session where username='%SCHEMA_USER%' </PrereqIdentifier> <PrereqValue>0</PrereqValue> <PrereqErrorMsg> The schema owner %SCHEMA_USER% is connected to the database. Please disconnect and try again. </PrereqErrorMsg> </DBPrerequisite> <!-- ORACLE EBR Prerequisites --> <DBPrerequisite PREREQ_TYPE="CustomSQL" DATA_TYPE="NUMBER" COMPARE_OPERATOR="EQ"> <ValidIf DBTYPE="EBR" /> <PrereqIdentifier>select count(*) from v$session where username='%SCHEMA_USER%'</PrereqIdentifier> <PrereqValue>0</PrereqValue> <PrereqErrorMsg NLS_ID="WC_USER_CONNECTED">The schema owner %SCHEMA_USER% is connected to the database. Please disconnect and try again.</PrereqErrorMsg> </DBPrerequisite> <!-- SQLServer Prerequisites --> <!-- DB2 Prerequisites --> </PrerequisiteDescriptor> <!-- Creating the OPSS Schema and Setting it to valid in the Registry --> <ExecutionDescriptor> <Action TYPE="Java" PERCENT_PROGRESS="20"> <Command TYPE="METHOD">oracle.ias.version.SchemaVersionUtil:utilCreateRegistryEntry</Command> <Parameters> <Parameter TYPE="Connection"></Parameter> <Parameter TYPE="String">OPSS</Parameter> <Parameter TYPE="String">Oracle Platform Security Services</Parameter> <Parameter TYPE="String">%PREFIX_NAME%</Parameter> <Parameter TYPE="String">OPSS</Parameter> <Parameter TYPE="String">OPSS</Parameter> <Parameter TYPE="String">%SCHEMA_USER%</Parameter> <Parameter TYPE="String">12.1.2.0.0</Parameter> <Parameter TYPE="String">LOADING</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="40"> <ValidIf DBTYPE="ORACLE" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/opss_user.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%SCHEMA_PASSWORD%</Parameter> <Parameter TYPE="CmdLine">%DEFAULT_TABLESPACE%</Parameter> <Parameter TYPE="CmdLine">%TEMPORARY_TABLESPACE%</Parameter> </Parameters> <IgnorableErrors> <Error Type="ORA-01918">user name does not exist</Error> </IgnorableErrors> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="20"> <ValidIf DBTYPE="EBR" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/oracleEbr/opss_user.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%SCHEMA_PASSWORD%</Parameter> <Parameter TYPE="CmdLine">%DEFAULT_TABLESPACE%</Parameter> <Parameter TYPE="CmdLine">%TEMPORARY_TABLESPACE%</Parameter> <Parameter TYPE="CmdLine">%EDITION_NAME%</Parameter> </Parameters> <IgnorableErrors> <Error Type="ORA-01918">user name does not exist</Error> </IgnorableErrors> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="40"> <ValidIf DBTYPE="SQLSERVER" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/sqlserver/opss_user.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%SCHEMA_PASSWORD%</Parameter> <Parameter TYPE="CmdLine">%DATABASE_NAME%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="40"> <ValidIf DBTYPE="IBMDB2"/> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/db2/opss_user.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%DEFAULT_TABLESPACE%</Parameter> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="60"> <ValidIf DBTYPE="ORACLE" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/opss_tables.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> </Parameters> <IgnorableErrors> <Error Type="ORA-00942">table or view does not exist</Error> </IgnorableErrors> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="60"> <ValidIf DBTYPE="EBR" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/oracleEbr/opss_tables.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%EDITION_NAME%</Parameter> </Parameters> <IgnorableErrors> <Error Type="ORA-00942">table or view does not exist</Error> </IgnorableErrors> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="60"> <ValidIf DBTYPE="SQLSERVER" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/sqlserver/opss_tables.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%DATABASE_NAME%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="60"> <ValidIf DBTYPE="IBMDB2" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/db2/opss_tables.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%DEFAULT_TABLESPACE%</Parameter> <Parameter TYPE="CmdLine">%TEMPORARY_TABLESPACE%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="70"> <ValidIf DBTYPE="ORACLE" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/opss_version.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="70"> <ValidIf DBTYPE="EBR" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/oracleEbr/opss_version.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%EDITION_NAME%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="70"> <ValidIf DBTYPE="SQLSERVER" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/sqlserver/opss_version.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%DATABASE_NAME%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="70"> <ValidIf DBTYPE="IBMDB2" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/db2/opss_version.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="80"> <ValidIf DBTYPE="ORACLE" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/opss_gencatalog.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="80"> <ValidIf DBTYPE="SQLSERVER" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/sqlserver/opss_gencatalog.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%DATABASE_NAME%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="80"> <ValidIf DBTYPE="IBMDB2" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/db2/opss_gencatalog.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="80"> <ValidIf DBTYPE="EBR" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/oracleEbr/opss_gencatalog.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> <Parameter TYPE="CmdLine">%EDITION_NAME%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" CONNECT_AS_OWNER="TRUE" PERCENT_PROGRESS="100"> <ValidIf DBTYPE="ORACLE" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/upgd_mgmt_schema.sql</Command> </Action> <Action TYPE="Java"> <Command TYPE="METHOD">oracle.ias.version.SchemaVersionUtil:utilSetComponentValid</Command> <Parameters> <Parameter TYPE="String">OPSS</Parameter> </Parameters> </Action> </ExecutionDescriptor> <!-- Deleting the OPSS Schema and removing it from the Registry --> <DeleteDescriptor> <Action TYPE="JDBC" PERCENT_PROGRESS="50"> <ValidIf DBTYPE="ORACLE" /> <Command TYPE="INLINE">DROP USER %SCHEMA_USER% CASCADE</Command> </Action> <Action TYPE="JDBC" PERCENT_PROGRESS="50"> <ValidIf DBTYPE="EBR" /> <Command TYPE="INLINE">DROP USER %SCHEMA_USER% CASCADE</Command> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="20"> <ValidIf DBTYPE="SQLSERVER" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/sqlserver/opss_drop_table.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%DATABASE_NAME%</Parameter> </Parameters> </Action> <Action TYPE="JDBCSqlScript" PERCENT_PROGRESS="50"> <ValidIf DBTYPE="SQLSERVER" /> <Command TYPE="SCRIPT">%SCRIPT_HOME%/opss/scripts/sqlserver/opss_drop_user.sql</Command> <Parameters> <Parameter TYPE="CmdLine">%DATABASE_NAME%</Parameter> <Parameter TYPE="CmdLine">%SCHEMA_USER%</Parameter> </Parameters> </Action> <Action TYPE="Java" PERCENT_PROGRESS="50"> <ValidIf DBTYPE="IBMDB2" /> <Command TYPE="METHOD">oracle.sysman.assistants.common.dbutil.jdbc.DB2DropUtil:dropCompRepos</Command> <Parameters> <Parameter TYPE="Connection"></Parameter> <Parameter TYPE="String">%SCHEMA_USER%</Parameter> </Parameters> </Action> <Action TYPE="Java" PERCENT_PROGRESS="100"> <Command TYPE="METHOD">oracle.ias.version.SchemaVersionUtil:utilDropRegistryEntry</Command> <Parameters> <Parameter TYPE="Connection"></Parameter> <Parameter TYPE="String">OPSS</Parameter> <Parameter TYPE="String">%PREFIX_NAME%</Parameter> <Parameter TYPE="String">OPSS</Parameter> </Parameters> </Action> </DeleteDescriptor> </RepositoryConfig>
Parent topic: RCU Configuration Files
Soft-Prerequisite Support
If a particular <DBPrerequisiteSet>
or <DBPrerequisite>
is not mandatory, then you can use the soft-prerequisite option by setting the SOFT
attribute to TRUE
in the ComponentInfo.xml
file
When a soft-prerequisite is not met, a pop-up dialog window with an error or warning message appears; the user has the option to ignore the message or abort the operation. You can define a soft-prerequisite at the <DBPrerequisiteSet>
level, the <DBPrerequisite>
level, or both; if both are defined, then <DBPrerequisiteSet>
takes higher precedence.
Below is an example of setting a soft-prerequisite at the <DBPrerequisite>
level:
<DBPrerequisiteSet> ... <DBPrerequisite PREREQ_TYPE="CustomSQL" DATA_TYPE="STRING" COMPARE_OPERATOR="EQ" SOFT="TRUE"> <PrereqIdentifier>select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET'</PrereqIdentifier> <PrereqValue>AL32UTF8</PrereqValue> <PrereqErrorMsg> The database you are connecting is with non-AL32UTF8 character set. Oracle strongly recommends using AL32UTF8 as the database character set. </PrereqErrorMsg> </DBPrerequisite> ... <DBPrerequisiteSet>
Parent topic: RCU Configuration Files
Default Tablespaces Configuration File
The default tablespaces configuration file (Storage.xml
)
lists the components, for which, tablespaces are created out-of-the-box. This file is located in
the ORACLE_HOME/oracle_common/rcu/config
directory on UNIX operating
systems.
The actual tablespace configuration file for each component is located in the
ORACLE_HOME/oracle_common/rcu/integrationcomponent/component_Storage.xml
directory on UNIX operating systems . Each component has its own tablespaces configuration
file.
Below is a sample opss_Storage.xml
file:
<?xml version="1.0" encoding="UTF-8" ?> <!-- OPSS START --> <TablespaceAttributes NAME="IAS_OPSS"> <Type>Permanent</Type> <DefaultTemp>False</DefaultTemp> <Bigfile>False</Bigfile> <DatafilesList> <DatafileAttributes ID="%DATAFILE_LOCATION%/ias_opss.dbf"> <Size UNIT="MB">60</Size> <Reuse>True</Reuse> <AutoExtend>True</AutoExtend> </DatafileAttributes> </DatafilesList> </TablespaceAttributes> <!-- OPSS END -->
For RCU XML Configuration File Details, refer Table C-1 in Storage Attributes Configuration File
Parent topic: RCU Configuration Files
RCU Script Writing Guidelines
Use these guidelines when writing RCU scripts.
Schema user names and passwords should not be hard coded. They should be coded as substitutable variables.
-
If schema user needs to be created, it should be created first by using the parameters passed by RCU.
-
Tablespace and temporary tablespace references should not be hard coded; they should be coded as variables.
-
Do not use CONNECT; instead, use ALTER SESSION SET CURRENT_SCHEMA = <SCHEMA_OWNER> after you create the schema user.
-
The set of ignorable and fatal ORA errors (if any) should be listed in the RCU XML component configuration file.
-
Avoid any shutdown or startup that would bounce the database instance.
-
SCHEMA_VERSION_REGISTRY should be updated before and after loading schema. This can be done by using JavaAction as shown in Java Code Using JavaAction or within the component scripts by using the SCHEMA_VERSION PL/SQL package.
-
Block comments that contain line comments (/* -- comment */) are not supported.
The following are the guidelines for RCU for various scripts:
- Guidelines for RCU JDBC Engine Compliant SQL*Plus Scripts
Use these guidelines for writing the RCU JDBC Engine SQL*Plus scripts. - Guidelines for Pure JDBC Scripts
Use these guidelines for writing Pure JDBC scripts for RCU. - Guidelines for SQL*Plus Scripts
Use these guidelines for writing SQL*Plus scripts for RCU. - Guidelines for SQL Server-Based Scripts
Use these guidelines for writing SQL Server-based scripts for RCU.
Guidelines for RCU JDBC Engine Compliant SQL*Plus Scripts
Use these guidelines for writing the RCU JDBC Engine SQL*Plus scripts.
-
All statements must be terminated with appropriate terminating chars. CREATE PACKAGE, TYPE needs to be terminated with a ; (semicolon) with / (forward slash) on the next line. All other statements (Create TABLE, VIEW, and so on.) need to be terminated by either ; (semicolon) or / (froward slash).
-
EXECUTE calls should be replaced with BEGIN/END blocks.
-
DEFINE statements should be in one line, no comments in the same line and no ; (semicolon) at the end.
-
SET, SHOW, SPOOL, WHENEVER, BREAK, EXIT statements are ignored.
-
HOST command is not supported yet.
-
VARIABLE and COL(UMN) are not supported.
Dynamically calling another SQL Script within a PL/SQL block using the following technique is not supported:
VARIABLE initfile VARCHAR2(32) COLUMN :initfile NEW_VALUE init_file NOPRINT; BEGIN IF (some condition) THEN :initfile := 'initcdc.sql'; ELSE :initfile := 'nothing.sql'; END IF; END; / SELECT :initfile FROM DUAL; @@&init_file
The work around is to have a separate Action with a ValidIf tag to specify the condition.
Parent topic: RCU Script Writing Guidelines
Guidelines for Pure JDBC Scripts
Use these guidelines for writing Pure JDBC scripts for RCU.
-
Should not contain any SQL*Plus directives (like SET, WHENEVER, and so on.).
-
All DEFINES should be changed to PL/SQL variable declarations.
-
All SQL statements should be wrapped in EXECUTE IMMEDIATE.
-
PL/SQL style comments are allowed, but SQL*Plus style (REM) comments are not allowed.
-
DROP statements that preceds CREATE statements do not work. DROP should only be done after checking for the existence of the object. Ideally, all DROP statements should put into different PL/SQL script and RCU can call this script before calling a CREATE script, if that is desired.
-
Contents of the script file should be a valid PL/SQL block, which can be called within
Connection.prepareCall()
.
Parent topic: RCU Script Writing Guidelines
Guidelines for SQL*Plus Scripts
Use these guidelines for writing SQL*Plus scripts for RCU.
-
Should not have any exit statements or WHENEVER ERROR EXIT directives. This would cause RCU SQL*Plus session to exit unexpectedly and may impact other component scripts to be executed later.
-
Scripts should not have any spool commands. RCU would generate a spool log for each component.
Parent topic: RCU Script Writing Guidelines
Guidelines for SQL Server-Based Scripts
Use these guidelines for writing SQL Server-based scripts for RCU.
-
Support is a subset of what is supported in t-sql scripts that can be executed by
sqlcmd
. -
ValidIf tags should be added around all database-specific Actions and Prerequisites. For example:
<DBPrerequisite PREREQ_TYPE="TablespaceFreeMB" DATA_TYPE="NUMBER" COMPARE_OPERATOR="GT"> <ValidIf DBTYPE="ORACLE" /> <PrereqIdentifier>%DEFAULT_TABLESPACE%</PrereqIdentifier> <PrereqValue>50</PrereqValue> </DBPrerequisite>
-
RCU supports recursive variable definitions such as:
setvar var1 value1 setvar var2 $(var1)
-
There should be a go statement to end blocks of statements. All statements that precedes the go statement are executed as a single statement over JDBC.
-
The JDBC connection is created in the auto-commit on mode.
-
Currently, the begin transaction and commit transaction statements are not supported.
-
Variables passed to scripts through the XML file are passed as follows:
Script.sql –v v1=value1 v2=value2
This is only for scripts called by using the XML files. If a script calls another script, you can use any other variable name.
Parent topic: RCU Script Writing Guidelines