This section describes dependencies and limitations related to using the Oracle resource adapter, including information about user types and cascade deletes.
The Oracle database permits the following types of users:
Local. Local users are fully managed by Oracle and require a password. Oracle manages these passwords as well. Therefore, the user name and password must fully comply with the standards set within the application.
External. External users must be authenticated by the operating system or a third-party application. Oracle relies on the login authentication to ensure that a specific operating system user has access to a specific database user.
Global. Global users must be authenticated by a directory service, such as LDAP or Active Directory. The user’s name must be specified as a full distinguished name (DN) or as a null string. If a null string is used, the directory service will map authenticated global users to the appropriate database features.
If you are managing external or global users, you should place the Oracle resource in a resource group that also includes the machine upon which it is installed or the directory service.
Add an entry to updatableAttributes section of System Configuration Object:
<Attribute name=’Delete’> <Object> <Attribute name=’all’> <List> <String>noCascade</String> </List> </Attribute> </Object> </Attribute>
Add a field to the deprovision form:
<Field name=’resourceAccounts.currentResourceAccounts [MyOracleResource].attributes.noCascade’> <Display class=’Checkbox’> <Property name=’title’ value=’Do NOT Cascade MyOracleResource Delete’/> <Property name=’alignment’ value=’left’/> </Display> <Disable> <isnull> <ref>resourceAccounts.currentResourceAccounts[MyOracleResource]</ref> </isnull> </Disable> </Field>
Add the noCascade account attribute to Oracle Resource schema.
If the user owns objects and the do not cascade option is selected, Oracle will throw an error. The user will not be deleted.
Add a noCascade field to the user form so that the attribute can be disabled. For example:
<Field name=’global.noCascade’> <Disable> <s>TRUE</s> </Disable> </Field>