Locking Schema Owner account in oracle

Hi
One of the oracle security policy recommendations is to lock the owning schema in the database. To overcome this issue I suggested to the developer that I can create a new access account with permissions to select ,insert,delete and update data on owning schema. But the developer is insisting that instead of creating that new account, should transfer the objects of the schema owner account to a new account and unlock the schema owner account this way he does not have to make changes to the application on his side...this did not make sense to me ,can some one please shed some light on this?

>
sorry , I meant that when we lock the schema owner ,connecting to the database with that account is denied. What I suggested is to create an access account with SUID priviliges on owning schema data. But the developer insists that I create a new account transfer the objects/data from schema owner to this new account and then unlock the schema owner account. This way he will not have to make changes on the application side,I was not entirely sure how it will benefit him by doing so
>
You still haven't stated what the actual issue is you are trying to address.
From the first post is seemed that your question was 'How can we implement the Oracle security recommendation to lock the application account without actually locking the application account'?
And your proposed solution is to create another account with exactly the same privileges as the schema owner and use that account instead.
That doesn't implement the recommendation. That is an attempt to circumvent the recommendation.
My advice is that if you don't want to actually implement Oracle's recommendation then don't implement it.
And if you do want to implement the recommendation then do so. But none of the options you are suggesting implement it they only circumvent it.
>
One of the oracle security policy recommendations is to lock the owning schema in the database
>
What is the citation for this statement? What reason was given for the recommendation?
One primary reason for using application users (rather than schema users) is to exert positive control over the functionality and data that the application has access to.
A schema owner has access to all objects owned by the schema. Applications typically don't need all of those privileges. A schema owner can create new objects and modify existing objects; applications seldom need to be able to do that.
Within a stored procedure a schema owner still has access to all of the schemas objects but other users/applications only have access granted directly to them and do not have access to objects granted only thru roles.
To properly implement the recommendation you need to create an application user and grant that user the roles and direct grants that are needed for the functionality and data that needs to be accessed. The result is two users: one has full access to the schema objects and the other has limited access. Application code should use the limited user credentials.
What you call the users is up to you. If you want to switch roles and make your current user the limited user and create a new user for the objects and move them all to the new schema go ahead.
But that is a lot of work and validation for you to have to do. The only change a developer should have to make to use a different user is to change the connection information. That should be very simple to do and if it is not it needs to be changed to make it simple.
Based only on the information you have provided it sounds like the developer is just lazy and wants you to have to do all of the work. So the developer needs to make their case as to why they can't just change connection settings and then management can make a decision about which method should be used.
Your work should be to create a new application account that specifically is NOT simply an account superuser but is only granted, either directly or via roles, the specific privileges that the application actually needs. My guess would be that no one actually knows or has documented what privileges are really needed so they just want them all.
The best contribution you could make for security is to resist the super user approach and actuallly push for documentation of the privileges needed and then implement those.
Management and auditors must ALWAYS be able to control and determine who is actually using their data.
I would suggest that you create a new user account account

Similar Messages

  • Deleting application locks shared services account on Oracle Server

    Whenever I need to delete an account from within Essbase, ( right click on application delete->application ) the final result is that the HSS account that shared services uses to connect to our oracle server gets locked.
    Unlocking it and stop/starting everything resolves the problem, but I would like to stop this from happening.
    All other aspects of logging into shared services, etc. admintration, provisioning, all work OK. Just the delete application.
    On Redhat Linux, Essbase 11.1.1.3

    The bottom line is that we don't certify running Forms using the features of a terminal server to serve up any part of those Forms. That doesn't mean it does not work, but its not certified or supported.
    Regards
    Grant Ronald
    Oracle Product Management

  • Schema owner object permission

    Does schema owner which is oracle user has all the object permissions for all the object under that schme eventhough all the objects are created on that shcmea with sys user?
    Please advise
    Thanks
    Tina

    I dont understand where exactly you are checking... i am able to check the objects created like that in my Tables list.

  • My Iphone Is Locked, When I Try Sync With Itunes ,The App Ask Me For The Owner Account which Is Erased Somebody Can Help Me?

    My Iphone Is Locked, When I Try Sync With Itunes ,The App Ask Me For The Owner Account which Is Erased Somebody Can Help Me?
    I Want To Sync My Music But I Cant, Can Somebody Help Me ? Thanks

    Look, Idk If Is Blocked Or Something But When I Restored The Phone I Mean Factory, First Says That The phone Need A Sim Card,then An Icloud Account  And Then This " This Phone Was Registered With An Apple Account,So I Know The Email and The Password, when i Try To Log In Its Says Password or EMail Incorrect so I Asked My Friend,Because I Didn't Buy it From An Apple Store Or Somethin Like That, So MY Friend Told Me That He Erased The Account or He desactivated I Need Help Seriously :s

  • The owner for $ORACLE_HOME would always be Oracle software owner account?

    Hi,
    On linux/windows environment, can we assume that the Oracle Services would always be run by Oracle software owner account?
    The owner for $ORACLE_HOME would always be Oracle software owner account?
    Thanks,
    Hozy

    While not necessarily true, I would accept it as an axiom, if only to save you from issues later when you try to relink any executables owned by the oracle owner.
    Cheers!
    Jay Caviness
    http://www.grumpy-dba.com

  • Montly changes of schema owner passwords

    Hi folks:
    Our companies policy is to change schema owner password every month. We have over 200 database and 20 unix servers. Our old process is to go to every server and run some script to change the schema owner password by using a input file containing all the scehma name in each database. Now the process is getting more complicated with DATAGUARD.
    I am thinking of storing all these info in a oracle table and have the password encrypted. So every month I can just run one script to change all the schema passwords. What do you think, how do you guys do it??

    user4579454 wrote:
    The reason DATAGUARD making it more complicated is because we have to change SYS password as well, thus we have to copy over the password file over from Primary to Secondary. We have locked all SYSTEM account in all databases already.Copying the pswd file should be pretty trivial to automate.
    As for the others, I'd guess you have a mix of oracle users that are actual humans connecting to the database with their credentials, and oracle users that exist simply to own an application schema. For the first group (the actual humans), I just set password control parameters in the default profile. when their password expires, they are prompted to create a new one when they connect.
    the handful of 'schema owning' accounts can be scripted, using a password generating utility to drive the process. For those accounts, does anyone have to actually know the passwords? Does anyone (including DBAs) ever really have a need to actually connect with those usernames? If not, then the process becomes even easier because you have no need to retain the passwords generated by the change script. And if the need to actually connect with one of those accounts exists on a sporadic basis, you could still script the periodic change, and manually change the password to a known value when needed.

  • SELECT on XML DB Table works for Schema owner, not for Schema user

    Hi,
    We are working on Oracle 10.2.0.3 under HP-UX.
    We get ORA-01031: Insufficient Privileges when trying to execute Query
    on Oracle XMLDB Table by Schema User
    Here are detailed steps:
    1) We have 2 users: CDROWNER (Schema Owner)
    CDRJAVA (Schema User)
    2) login as CDROWNER and execute following:
    3) Register 2 XSDs (Common is used by CorridorRate)
    Common.xsd:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- edited with XMLSpy v2008 sp1 (http://www.altova.com) by Kent Williamson (OOCL (USA) INC) -->
    <xsd:schema xmlns="http://com.oocl.schema.tnm.agreementbuilder" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:tnm="http://com.oocl.schema.tnm" xmlns:common="http://com.oocl.schema.common" xmlns:fwd="http://com.oocl.frm.common.date.dto/" xmlns:customer="http://com.oocl.schema.customer" xmlns:eqm="http://com.oocl.schema.eqm" targetNamespace="http://com.oocl.schema.tnm.agreementbuilder" elementFormDefault="qualified" attributeFormDefault="unqualified" xdb:storeVarrayAsTable="true">
         <xsd:complexType name="NamedCustomer_V1" xdb:SQLType="NAMED_CUSTOMER_T">
              <xsd:annotation>
                   <xsd:documentation>Named customer for the quote</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="SAP_IDS" type="SAPIDCollection_V1" minOccurs="0" xdb:SQLName="SAP_IDS">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
    </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="BookingConditions" type="xsd:string" minOccurs="0" xdb:SQLName="BOOKING_CONDITIONS"/>
                   <xsd:element name="BLConditions" type="xsd:int" xdb:SQLName="BL_CONDITIONS"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="Attachment_V1" xdb:SQLType="ATTACHMENT_T">
              <xsd:annotation>
                   <xsd:documentation>Quote attachment</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Url" type="xsd:string" minOccurs="0" xdb:SQLName="ATTACH_URL"/>
                   <xsd:element name="Text" type="xsd:string" minOccurs="0" xdb:SQLName="ATTACH_TEXT"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="SentOfferingRecord_V1" xdb:SQLType="SENT_OFFERING_RECORD_T">
              <xsd:annotation>
                   <xsd:documentation>Record of quote sending out to customer</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="TimeSent" type="xsd:string" minOccurs="0" xdb:SQLName="TIME_SENT"/>
                   <xsd:element name="UserName" type="xsd:string" minOccurs="0" xdb:SQLName="USER_NAME"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="QuoteFormatSettings_V1" xdb:SQLType="QUOTE_FMT_SETTINGS_T">
              <xsd:annotation>
                   <xsd:documentation>Quote format setting specification</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="TemplateName" type="xsd:string" minOccurs="0" xdb:SQLName="TEMPLATE_NAME">
                        <xsd:annotation>
                             <xsd:documentation>predefined format template</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="OptionalContentIDs" type="StringWrapper_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="OPTIONAL_CONTENTS" xdb:SQLCollType="OPTIONAL_CONTENT_V">
                        <xsd:annotation>
                             <xsd:documentation>optional contents</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="StandardRemarkIDs" type="IDWrapper_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="STANDARD_REMARKS" xdb:SQLCollType="STANDARD_REMARK_V">
                        <xsd:annotation>
                             <xsd:documentation>standard remarks specified by each region/office</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="StandardDisclaimerID" type="ID_LongNumeric_V1" minOccurs="0" xdb:SQLName="STANDARD_DISCLAIMER">
                        <xsd:annotation>
                             <xsd:documentation>standard disclaimer specified by each region/office</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="ShowSurcharges" type="ShowSurchargeType_V1" xdb:SQLName="SHOW_SURCHARGES">
                        <xsd:annotation>
                             <xsd:documentation>specifies how surcharges are shown in the offering document, can be show prepaid only, collect only or all</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:simpleType name="SurchargeCode_V1">
              <xsd:restriction base="xsd:string"/>
         </xsd:simpleType>
         <xsd:simpleType name="ShowSurchargeType_V1">
              <xsd:annotation>
                   <xsd:documentation>Indicator for quote to show prepaid, collect or all surcharges</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="Prepaid"/>
                   <xsd:enumeration value="Collect"/>
                   <xsd:enumeration value="All"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:complexType name="StandardRemarkAndDisclaimer_V1" xdb:SQLType="STD_REMARK_AND_DISCLAIMER_T">
              <xsd:annotation>
                   <xsd:documentation>Region specific standard remark and disclaimer</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Id" type="xsd:string" minOccurs="0" xdb:SQLName="STD_REMARK_ID"/>
                   <xsd:element name="Region" type="xsd:string" minOccurs="0" xdb:SQLName="STD_REMARK_REGION"/>
                   <xsd:element name="IsRemark" type="xsd:boolean" xdb:SQLName="IS_REMARK"/>
              </xsd:sequence>
         </xsd:complexType>
         <!-- END Jianming Original XSD -->
         <!-- -->
         <!-- All Simple/Complex Types defined below have been copied from External XSD Files -->
         <!-- -->
         <!-- Complex Wrapper types are needed since 10.2 Oracle XMLDB does not support indexing unbounded simple types -->
         <xsd:complexType name="GeoIDCollection_V1" xdb:SQLType="GEO_ID_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="IDWrappers" type="IDWrapper_V1" maxOccurs="unbounded" xdb:SQLName="GEO_ID_WRAPPERS" xdb:SQLCollType="GEO_ID_WRAPPER_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="IDWrapper_V1" xdb:SQLType="ID_WRAPPER_T">
              <xsd:sequence>
                   <xsd:element name="Value" type="ID_LongNumeric_V1" xdb:SQLName="ID_VAL"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="OfficeCodeCollection_V1" xdb:SQLType="OFFICE_CODE_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="StringWrappers" type="StringWrapper_V1" maxOccurs="unbounded" xdb:SQLName="STRING_WRAPPERS" xdb:SQLCollType="OFFICE_CODE_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="SAPIDCollection_V1" xdb:SQLType="SAP_ID_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="StringWrappers" type="StringWrapper_V1" maxOccurs="unbounded" xdb:SQLName="STRING_WRAPPERS" xdb:SQLCollType="SAP_ID_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="ServiceLoopCodeCollection_V1" xdb:SQLType="SERVICE_LOOP_CODE_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="StringWrappers" type="StringWrapper_V1" maxOccurs="unbounded" xdb:SQLName="STRING_WRAPPERS" xdb:SQLCollType="SERVICE_LOOP_CODE_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="IncludedHSCodeCollection_V1" xdb:SQLType="INCLUDED_HS_CODE_COLLECTION_T">
              <xsd:sequence>
                   <xsd:element name="StringWrappers" type="StringWrapper_V1" maxOccurs="unbounded" xdb:SQLName="STRING_WRAPPERS" xdb:SQLCollType="INCLUDED_HS_CODE_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="StringWrapper_V1" xdb:SQLType="STRING_WRAPPER_T">
              <xsd:sequence>
                   <xsd:element name="Value" xdb:SQLName="STR_VAL">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:maxLength value="256"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from tnm.agreementbuilder:GuidelineRateReference_V1.xsd -->
         <xsd:complexType name="GuidelineRateReference_V1">
              <xsd:annotation>
                   <xsd:documentation>Represents a guideline rate containing an ocean rate and up to 4 inland/port arbitrary add-on rates</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="OutboundInlandRate1ID" type="ID_LongNumeric_V1" minOccurs="0">
                        <xsd:annotation>
                             <xsd:documentation>The first outbound inland rate. If present, the location of this rate is always the point of receipt. Otherwise the point of receipt is (one of) the Trunk origin(s). The over location must match with either OB2 Location or Trunk Origin (if OB2 is not present)</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="OutboundInlandRate2ID" type="ID_LongNumeric_V1" minOccurs="0">
                        <xsd:annotation>
                             <xsd:documentation>An optional outbound inland rate. If present, the location must match with the over location of OB1 and the over location of this rate must match with the origin of the Trunk.</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="BaseRateID" type="ID_LongNumeric_V1">
                        <xsd:annotation>
                             <xsd:documentation>The BaseRate = trunk / ocean rate.</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="InboundInlandRate1ID" type="ID_LongNumeric_V1" minOccurs="0">
                        <xsd:annotation>
                             <xsd:documentation>The inbound rate connecting to the destination of the trunk. If there is only one inbound rate (IB2 is not present), then this rate will have the final destination. </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="InboundInlandRate2ID" type="ID_LongNumeric_V1" minOccurs="0">
                        <xsd:annotation>
                             <xsd:documentation>A second inbound rate which connects to the first inbound rate to arrive at a final destination.</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from tnm:AgreementID_V1.xsd -->
         <xsd:simpleType name="AgreementID_V1">
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="20"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from tnm:AgreementStatus_V1.xsd -->
         <xsd:simpleType name="AgreementStatus_V1">
              <xsd:annotation>
                   <xsd:documentation>Agreement Status, like filed, approve, terminated, amend</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="20"/>
                   <xsd:enumeration value="File"/>
                   <xsd:enumeration value="Filed"/>
                   <xsd:enumeration value="Approve"/>
                   <xsd:enumeration value="Terminated"/>
                   <xsd:enumeration value="New"/>
                   <xsd:enumeration value="Incomplete"/>
                   <xsd:enumeration value="Amend"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from tnm:AgreementType_V1.xsd -->
         <xsd:simpleType name="AgreementType_V1">
              <xsd:annotation>
                   <xsd:documentation>Agreement type, like CSO, SC, AB</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="3"/>
                   <xsd:enumeration value="CSO">
                        <xsd:annotation>
                             <xsd:documentation>Customized Service Offering</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="RA">
                        <xsd:annotation>
                             <xsd:documentation>Rate Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="SVC">
                        <xsd:annotation>
                             <xsd:documentation>Service Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="SUR">
                        <xsd:annotation>
                             <xsd:documentation>Surcharge Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="SC">
                        <xsd:annotation>
                             <xsd:documentation>Service Contract</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="TSO">
                        <xsd:annotation>
                             <xsd:documentation>Territorial Customized Service Offering</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="TSA">
                        <xsd:annotation>
                             <xsd:documentation>Territorial Service Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="AB">
                        <xsd:annotation>
                             <xsd:documentation>Agreement Builder</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from tnm:TradeTerm_V1.xsd -->
         <xsd:simpleType name="TradeTerm_V1">
              <xsd:annotation>
                   <xsd:documentation>Trade term</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="10"/>
                   <xsd:enumeration value="FOB"/>
                   <xsd:enumeration value="CIF"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- MODIFIED ABDateTime_V1 to be a simpleType of xsd:dateTime for DB storage -->
         <xsd:simpleType name="ABDateTime_V1">
              <xsd:restriction base="xsd:dateTime"/>
         </xsd:simpleType>
         <!-- Below copied from common:PersonName_V1.xsd -->
         <xsd:complexType name="PersonName_V1" xdb:SQLType="PERSON_NAME_T">
              <xsd:sequence>
                   <xsd:element name="FirstName" minOccurs="0" xdb:SQLName="FIRST_NAME">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string"/>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="LastName" minOccurs="0" xdb:SQLName="LAST_NAME">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string"/>
                        </xsd:simpleType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from common:EmailAddress_V1.xsd -->
         <xsd:complexType name="EmailAddress_V1" xdb:SQLType="EMAIL_ADDRESS_T">
              <xsd:sequence>
                   <xsd:annotation>
                        <xsd:documentation>
                        A common Type for EmailAddress.
                        </xsd:documentation>
                   </xsd:annotation>
                   <xsd:element name="EmailID" type="xsd:string" xdb:SQLName="EMAIL_ID"/>
                   <xsd:element name="EmailType" type="EmailType_V1" default="Unspecified" xdb:SQLName="EMAIL_TYPE"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:simpleType name="EmailType_V1">
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="Home"/>
                   <xsd:enumeration value="Work"/>
                   <xsd:enumeration value="Unspecified"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from common:PhoneNumberType_V1.xsd.xsd -->
         <xsd:simpleType name="PhoneNumberType_V1">
              <xsd:annotation>
                   <xsd:documentation xml:lang="en">
                        Type refers to the contact number type associated to the contact number.
                        May include: Business Phone/Fax, Home Phone/Fax, Mobile Phone, Pager, Telex or Unspecified.                         
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="BusinessPhone"/>
                   <xsd:enumeration value="HomePhone"/>
                   <xsd:enumeration value="BusinessFax"/>
                   <xsd:enumeration value="HomeFax"/>
                   <xsd:enumeration value="MobilePhone"/>
                   <xsd:enumeration value="Pager"/>
                   <xsd:enumeration value="Telex"/>
                   <xsd:enumeration value="Unspecified"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from common:PhoneNumber_V1.xsd -->
         <xsd:complexType name="PhoneNumber_V1" xdb:SQLType="PHONE_NUMBER_T">
              <xsd:annotation>
                   <xsd:documentation xml:lang="en">
                        PhoneNumber is a common type that defines generic structure of a phone number object.
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="CountryCode" type="xsd:string" minOccurs="0" xdb:SQLName="COUNTRY_CODE">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  CountryCode holds on the country code value.
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="AreaCode" type="xsd:string" minOccurs="0" xdb:SQLName="AREA_CODE">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  AreaCode holds on the area code value.
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Number" type="xsd:string" xdb:SQLName="PHONE_NUMBER">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  Number holds on the number value.
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Extension" type="xsd:string" minOccurs="0" xdb:SQLName="PHONE_EXTN">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  Extension holds on the phone number extension, if applicable
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Type" type="PhoneNumberType_V1" default="Unspecified" xdb:SQLName="PHONE_NUM_TYPE">
                        <xsd:annotation>
                             <xsd:documentation xml:lang="en">
                                  Type refers to the contact number type associated to the contact number.
                                  May include: Business Phone/Fax, Home Phone/Fax, Mobile Phone, Pager, Telex or Unspecified                         
                                  Default value is Unspecified.
                             </xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from common:ContactInformation_V1.xsd -->
         <xsd:complexType name="ContactInformation_V1" xdb:SQLType="CONTACT_INFORMATION_T">
              <xsd:sequence>
                   <xsd:element name="Name" type="PersonName_V1" minOccurs="0" xdb:SQLName="CONTACT_NAME"/>
                   <xsd:element name="EmailAddresses" type="EmailAddress_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="EMAIL_ADDRESSES" xdb:SQLCollType="EMAIL_ADDRESS_V"/>
                   <xsd:element name="PhoneNumbers" type="PhoneNumber_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="PHONE_NUMBERS" xdb:SQLCollType="PHONE_NUMBER_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from common:CardinalDirection_V1.xsd -->
         <xsd:simpleType name="CardinalDirectionName_V1">
              <xsd:annotation>
                   <xsd:documentation>A list of voyage name direction.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="North"/>
                   <xsd:enumeration value="South"/>
                   <xsd:enumeration value="East"/>
                   <xsd:enumeration value="West"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from common:CommonRestrictions_V1.xsd -->
         <xsd:simpleType name="ID_LongNumeric_V1">
              <xsd:annotation>
                   <xsd:documentation>Represents Identifier using long as the restriction - with max - 15 digits</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:long"/>
         </xsd:simpleType>
         <!-- Below copied from common:ServiceLoopCode_V1.xsd -->
         <xsd:simpleType name="ServiceLoopCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A simple type that holds on to the service loop code.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="4"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from common:Currency_V1.xsd -->
         <xsd:simpleType name="CurrencyCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A 3 digit currency code string (like USD)</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:length value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from tnm:TariffCode_V1.xsd -->
         <xsd:simpleType name="TariffCode_V1">
              <xsd:annotation>
                   <xsd:documentation>tariff code that uniquely identify a tariff</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:length value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="Global_UUID_V1">
              <xsd:annotation>
                   <xsd:documentation>This is to represent the largest UUID format in the domain. Max. length is 36.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="36"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="UUID_V1">
              <xsd:annotation>
                   <xsd:documentation>A system generated uuid in string format. Max. length is 20.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="Global_UUID_V1">
                   <xsd:maxLength value="20"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="CustomerContactRoleType_V1">
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="20"/>
                   <xsd:enumeration value="Accounting"/>
                   <xsd:enumeration value="Booking"/>
                   <xsd:enumeration value="Booking_CS"/>
                   <xsd:enumeration value="Documentation"/>
                   <xsd:enumeration value="General"/>
                   <xsd:enumeration value="Operations"/>
                   <xsd:enumeration value="Pricing"/>
                   <xsd:enumeration value="Sales"/>
                   <xsd:enumeration value="Sales_SMM"/>
                   <xsd:enumeration value="Warehouse"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="TradeCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A simple type that holds on to the trade code.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="ShipmentBoundCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A list of shipment bound code.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:enumeration value="IB"/>
                   <xsd:enumeration value="OB"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:complexType name="CustomerContactSpecification_V1" xdb:SQLType="CUST_CONTACT_SPEC_T">
              <xsd:sequence>
                   <xsd:element name="ContactSpecUUID" type="UUID_V1" xdb:SQLName="CONTACT_SPEC_UUID"/>
                   <xsd:element name="ContactUUID" type="UUID_V1" xdb:SQLName="CONTACT_UUID"/>
                   <xsd:element name="Role" type="CustomerContactRoleType_V1" xdb:SQLName="CONTACT_ROLE"/>
                   <xsd:element name="SAP_ID" type="SAP_ID_V1" minOccurs="0" xdb:SQLName="CUST_SAP_ID"/>
                   <xsd:element name="TradeCode" type="TradeCode_V1" minOccurs="0" xdb:SQLName="TRADE_CODE"/>
                   <xsd:element name="TradeLaneCode" type="TradeLaneCode_V1" minOccurs="0" xdb:SQLName="TRADE_LANE_CODE"/>
                   <xsd:element name="ServiceLoopCode" type="ServiceLoopCode_V1" minOccurs="0" xdb:SQLName="SERVICE_LOOP_CODE"/>
                   <xsd:element name="ShipmentBoundCode" type="ShipmentBoundCode_V1" minOccurs="0" xdb:SQLName="SHIPMENT_BOUND_CODE"/>
                   <xsd:element name="CommodityGroupCode" type="AlphaCode_V1" minOccurs="0" xdb:SQLName="COMMODITY_GROUP_CODE"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="CustomerContact_V1" xdb:SQLType="CUSTOMER_CONTACT_T">
              <xsd:annotation>
                   <xsd:documentation xml:lang="en">
                   This defines a contact for a Customer. A customer contact is someone to whom an OOCL sales representative communicates regarding business transactions between OOCL and the Customer.
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="ContactUUID" type="UUID_V1" xdb:SQLName="CONTACT_UUID"/>
                   <xsd:element name="ContactInformation" type="ContactInformation_V1" xdb:SQLName="CONTACT_INFORMATION"/>
                   <xsd:element name="SAP_ID" type="SAP_ID_V1" minOccurs="0" xdb:SQLName="SAP_ID"/>
                   <xsd:element name="Title" minOccurs="0" xdb:SQLName="TITLE">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:maxLength value="35"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="JobTitle" minOccurs="0" xdb:SQLName="JOB_TITLE">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:maxLength value="35"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="Department" minOccurs="0" xdb:SQLName="DEPARTMENT">
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:maxLength value="35"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="Specifications" type="CustomerContactSpecification_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="CUST_CONTACT_SPECS" xdb:SQLCollType="CUST_CONTACT_SPEC_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <!-- Below copied from tnm:TradeLaneCode_V1.xsd -->
         <xsd:simpleType name="TradeLaneCode_V1">
              <xsd:annotation>
                   <xsd:documentation>A simple type that holds on to the trade lane code.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="CompanyName_V1">
              <xsd:annotation>
                   <xsd:documentation>Name of a Company
    This is used to denote the information about an organization which may not be a Customer</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="105"/>
                   <xsd:minLength value="1"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from CorridorBaseRate_V1.xsd -->
         <xsd:complexType name="CorridorBaseRate_V1" xdb:SQLType="CORRIDOR_BASE_RATE_T">
              <xsd:annotation>
                   <xsd:documentation>Corridor base rate specifications</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="SizeType" type="xsd:string" minOccurs="0" xdb:SQLName="SIZE_TYPE">
                        <xsd:annotation>
                             <xsd:documentation>container sise and type that the rate is applicable</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Amount" type="xsd:decimal" minOccurs="0" xdb:SQLName="BASE_RATE_AMOUNT">
                        <xsd:annotation>
                             <xsd:documentation>charge amount</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Currency" type="CurrencyCode_V1" minOccurs="0" xdb:SQLName="BASE_RATE_CURRENCY">
                        <xsd:annotation>
                             <xsd:documentation>charge currency code</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="OfferType" minOccurs="0" xdb:SQLName="OFFER_TYPE">
                        <xsd:annotation>
                             <xsd:documentation>offer type: either OOCL offered or customer requested</xsd:documentation>
                        </xsd:annotation>
                        <xsd:simpleType>
                             <xsd:restriction base="xsd:string">
                                  <xsd:length value="4"/>
                             </xsd:restriction>
                        </xsd:simpleType>
                   </xsd:element>
                   <xsd:element name="IsSOC" type="xsd:boolean" minOccurs="0" xdb:SQLName="IS_SOC">
                        <xsd:annotation>
                             <xsd:documentation>indicator for shipper owned container</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="EffectiveFrom" type="ABDateTime_V1" minOccurs="0" xdb:SQLName="EFFECTIVE_FROM" xdb:SQLType="TIMESTAMP">
                        <xsd:annotation>
                             <xsd:documentation>effectime start time of the rate</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="EffectiveTo" type="ABDateTime_V1" minOccurs="0" xdb:SQLName="EFFECTIVE_TO" xdb:SQLType="TIMESTAMP">
                        <xsd:annotation>
                             <xsd:documentation>effectime end time of the rate</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="TransitTime" type="xsd:string" minOccurs="0" xdb:SQLName="TRANSIT_TIME">
                        <xsd:annotation>
                             <xsd:documentation>transit time of shipment that the rate offered</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:simpleType name="SAP_ID_V1">
              <xsd:annotation>
                   <xsd:documentation xml:lang="en">
                   SAP ID is the unique identifier for a given Customer in reference to SAP Application.
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="10"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:complexType name="ABShippingParty_V1" xdb:SQLType="AB_SHIPPING_PARTY_T">
              <xsd:annotation>
                   <xsd:documentation>Customer's roles in a shipment, like shipper, consignee, etc</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="CustomerHolder" type="CustomerHolder_V1" xdb:SQLName="CUSTOMER_HOLDER"/>
                   <xsd:element name="ShippingRoleGroupID" type="ID_Integer_V1" minOccurs="0" xdb:SQLName="SHIPPING_ROLE_GROUP_ID"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="CustomerHolder_V1" xdb:SQLType="CUSTOMER_HOLDER_T">
              <xsd:annotation>
                   <xsd:documentation>A place holder where a new customer was created or modified in agreement builder</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="SAP_ID" type="SAP_ID_V1" minOccurs="0" xdb:SQLName="SAP_ID">
                        <xsd:annotation>
                             <xsd:documentation>Customer SapID if it is an existing customer</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Name" type="CompanyName_V1" minOccurs="0" xdb:SQLName="COMPANY_NAME">
                        <xsd:annotation>
                             <xsd:documentation>New customer name that is created during agreement builder creation(customer does not exist in NewCPF)</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="ModifiedContacts" type="CustomerContact_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="MODIFIED_CONTACTS" xdb:SQLCollType="MODIFIED_CONTACT_V"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="ShippingPartyRoleGroup_V1" xdb:SQLType="SHIPPING_PARTY_ROLE_GROUP_T">
              <xsd:annotation>
                   <xsd:documentation>All customer's shipping role in an agreement</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="GroupID" type="ID_Integer_V1" minOccurs="0" xdb:SQLName="GROUP_ID"/>
                   <xsd:element name="IsShipper" type="xsd:boolean" xdb:SQLName="IS_SHIPPER"/>
                   <xsd:element name="IsConsignee" type="xsd:boolean" xdb:SQLName="IS_CONSIGNEE"/>
                   <xsd:element name="IsForwarder" type="xsd:boolean" xdb:SQLName="IS_FORWARDER"/>
                   <xsd:element name="IsControlParty" type="xsd:boolean" xdb:SQLName="IS_CONTROL_PARTY"/>
                   <xsd:element name="IsSignatureParty" type="xsd:boolean" xdb:SQLName="IS_SIGNATURE_PARTY"/>
                   <xsd:element name="IsNotifyParty" type="xsd:boolean" xdb:SQLName="IS_NOTIFY_PARTY"/>
                   <xsd:element name="IsAssociate" type="xsd:boolean" xdb:SQLName="IS_ASSOCIATE"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:simpleType name="AlphaCode_V1">
              <xsd:annotation>
                   <xsd:documentation>Code of a CommodityReportGroup. The Business Community refers to this 3 digit code as the AlphaCode
                   </xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="3"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="CargoNatureCode_V1">
              <xsd:annotation>
                   <xsd:documentation>The classification code of cargo for special stowage arrangement</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="2"/>
                   <xsd:enumeration value="AW">
                        <xsd:annotation>
                             <xsd:documentation>Awkward</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="DG">
                        <xsd:annotation>
                             <xsd:documentation>Dangerous</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="GC">
                        <xsd:annotation>
                             <xsd:documentation>GeneralCargo</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
                   <xsd:enumeration value="RF">
                        <xsd:annotation>
                             <xsd:documentation>Reefer</xsd:documentation>
                        </xsd:annotation>
                   </xsd:enumeration>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:simpleType name="ID_Integer_V1">
              <xsd:annotation>
                   <xsd:documentation>Represents Identifier using Integer as the restriction.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:int"/>
         </xsd:simpleType>
         <xsd:complexType name="CorridorVolume_V1" xdb:SQLType="CORRIDOR_VOLUME_T">
              <xsd:annotation>
                   <xsd:documentation>Corridor volumns associated with corridor base rate</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="ID" type="xsd:int" xdb:SQLName="IDNUM">
                        <xsd:annotation>
                             <xsd:documentation>A numeric identifier which identifies a CorridorVolume only in the context of a Quote/Agreement</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="SizeType" type="xsd:string" minOccurs="0" xdb:SQLName="SIZE_TYPE">
                        <xsd:annotation>
                             <xsd:documentation>container sise and type that the rate is applicable</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Volume" type="ShipmentVolume_V1" minOccurs="0" xdb:SQLName="VOLUME">
                        <xsd:annotation>
                             <xsd:documentation>corridor rate volume specification</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="VolumePatterns" type="VolumePattern_V1" minOccurs="0" maxOccurs="unbounded" xdb:SQLName="VOLUME_PATTERNS" xdb:SQLCollType="VOLUME_PATTERN_V">
                        <xsd:annotation>
                             <xsd:documentation>detailed volume sepecification</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Basis" type="xsd:string" minOccurs="0" xdb:SQLName="BASIS"/>
                   <xsd:element name="IsConditionOfRate" type="xsd:boolean" xdb:SQLName="IS_CONDITION_OF_RATE">
                        <xsd:annotation>
                             <xsd:documentation>indicate if the volume sepecification is a condition of the corridor rate</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="IsShared" type="xsd:boolean" xdb:SQLName="IS_SHARED">
                        <xsd:annotation>
                             <xsd:documentation>Indicates if the volume group is shared by more than one corridor rate. When true, sizetype should be null</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="IsForEntireAgreement" type="xsd:boolean" xdb:SQLName="IS_FOR_AGREEMENT"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="VolumePattern_V1" xdb:SQLType="VOLUME_PATTERN_T">
              <xsd:annotation>
                   <xsd:documentation>Agreement volume pattern</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Volume" type="ShipmentVolume_V1" minOccurs="0" xdb:SQLName="VOLUME">
                        <xsd:annotation>
                             <xsd:documentation>volume amount</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="Period" type="xsd:string" minOccurs="0" xdb:SQLName="PERIOD">
                        <xsd:annotation>
                             <xsd:documentation>time period for the volume</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="ShipmentVolume_V1" xdb:SQLType="SHIPMENT_VOLUME_T">
              <xsd:annotation>
                   <xsd:documentation>A measurement for shipment volume</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Unit" type="xsd:string" minOccurs="0" xdb:SQLName="UNIT"/>
                   <xsd:element name="Value" type="xsd:decimal" minOccurs="0" xdb:SQLName="VALUE"/>
              </xsd:sequence>
         </xsd:complexType>
         <!-- END Simple/Complex Types copied from External XSD Files -->
    </xsd:schema>
    CorridorRate.xsd
    <?xml version="1.0" encoding="utf-8"?>
    <!-- edited with XMLSpy v2007 rel. 3 (http://www.altova.com) by Auroprem Kandaswami (OOCL (USA) INC) -->
    <xsd:schema xmlns="http://com.oocl.schema.tnm.agreementbuilder" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:tnm="http://com.oocl.schema.tnm" xmlns:common="http://com.oocl.schema.common" xmlns:fwd="http://com.oocl.frm.common.date.dto/" xmlns:customer="http://com.oocl.schema.customer" xmlns:eqm="http://com.oocl.schema.eqm" targetNamespace="http://com.oocl.schema.tnm.agreementbuilder" elementFormDefault="qualified" attributeFormDefault="unqualified" xdb:storeVarrayAsTable="true">
         <xsd:include schemaLocation="AB_Common_V1_XMLDB.xsd"/>
         <xsd:element name="CorridorRate" type="CorridorRate_V1" nillable="true" xdb:SQLName="CORRIDOR_RATE"/>
         <!-- Below copied from common:DeliveryMode_V1.xsd -->
         <xsd:simpleType name="DeliveryMode_V1">
              <xsd:annotation>
                   <xsd:documentation>2 char string representing the delivery mode associated with the rate. YY for example is a Container Yard to Container Yard move, whereas DD is a door to door move.</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="2"/>
                   <xsd:minLength value="2"/>
                   <xsd:enumeration value="YY"/>
                   <xsd:enumeration value="YD"/>
                   <xsd:enumeration value="DY"/>
                   <xsd:enumeration value="DD"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from PaymentTerm_V1.xsd -->
         <xsd:simpleType name="PaymentTerm_V1">
              <xsd:annotation>
                   <xsd:documentation>Payment term, either prepaid or collect</xsd:documentation>
              </xsd:annotation>
              <xsd:restriction base="xsd:string">
                   <xsd:maxLength value="10"/>
                   <xsd:enumeration value="Prepaid"/>
                   <xsd:enumeration value="Collect"/>
              </xsd:restriction>
         </xsd:simpleType>
         <!-- Below copied from CorridorMetric_V1.xsd -->
         <xsd:complexType name="CorridorMetric_V1" xdb:SQLType="CORRIDOR_METRIC_T">
              <xsd:annotation>
                   <xsd:documentation>Corridor metrics associated with corridor base rate</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="SizeType" type="xsd:string" minOccurs="0" xdb:SQLName="SIZE_TYPE">
                        <xsd:annotation>
                             <xsd:documentation>container sise and type that the rate is applicable</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="VolumeSRG" type="xsd:string" minOccurs="0" xdb:SQLName="VOLUME_SRG">
                        <xsd:annotation>
                             <xsd:documentation>guideline volume</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="AgreementSRG" type="xsd:string" minOccurs="0" xdb:SQLName="AGREEMENT_SRG">
                        <xsd:annotation>
                             <xsd:documentation>ageeement volume</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="ContributionNRPO" type="xsd:string" minOccurs="0" xdb:SQLName="CONTRIBUTION_NRPO">
                        <xsd:annotation>
                             <xsd:documentation>contribution matrix NRPO</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="ContributionRPO" type="xsd:string" minOccurs="0" xdb:SQLName="CONTRIBUTION_RPO">
                        <xsd:annotation>
                             <xsd:documentation>contribution matrix RPO</xsd:documentation>
                        </xsd:annotation>
                   </xsd:element>
                   <xsd:element name="AverageRate" type="xsd:string" minOccurs="0" xdb:SQLName="AVERAGE_RATE">

    Thanks so much for your response - Prefixing the call to the table within the package, with the schema owner does indeed solve the problem. Since this is a Production issue, i have implemented this fix in my customer's database.
    However, I would still like this issue permanently resolved. The next time we send out updated package code, this will happen again (unless we then fix it again). I'd still like info from anyone on what exactly must be done to allow the call within the package to work without specifically pre-fixing the table's schema owner. It shouldn't be needed... The DB link is connecting via the same schema on database B that owns the table in question.
    pre-fixing the schema owner is something we don't do in our sql statements, and this has worked fine for many of our cusomer's environments. We're only seeing this issue on one environment.

  • To access PD Repository, why do we have to connect to the schema owner?

    Hi
    we use Oracle for PD repository.  In order to connect to the repository, we create odbc connection to the repository schema owner.  The question is, can we create a application schema user and provide read/write privileges to the repository and then create odbc connection to this application schema instead of repository schema?
    thanks

    Hi Krishna,
    We create odbc connection to the repository schema owner.  The question is, can we create a application schema user and provide read/write privileges to the repository and then create odbc connection to this application schema instead of repository schema? Yes
    I suggest that you use the proxy rather than a direct connection. Search this topic in this forum.
    If you decide to keep your idea here's how :
    REPOSITORY_SCHEMA (OWNER SCHEMA):
    GRANT SELECT, INSERT, UPDATE, DELETE ON EACH <PD TABLES> TO <APPLICATION_SCHEMA>
    (PD tables usually begin by PM%, actually PD does not use VIEW, SEQUENCE objects)
    On Application Schema : Create as many synonyms as there's table to go to the schema owner
    Example : CREATE SYNONYM PMTEMP FOR <OWNER_SCHEMA.PMTEMP>
    Ask to your Oracle DBA. It can do, he know how do.
    Warning : When you do an update of PD you will have to check if the privileges are gone,if SAP has added new tables, etc.
    I do not think it's a good idea to follow this path
    Note : Your evaluation of my answer would be appreciated. Please mark the answer as "Helpful” or “Correct” if this is the case. Also If you consider that I have answered mark the discussion as “Answered,” so that other members can find the answer more easily. Before posting a new question members search SCN to see if it’s already been asked / answered. That’s the fastest way to get information.

  • Schema owner for ECC 5.0 IDES

    Hi,
    When I am trying to start ECC 5.0, the work processes are dying below is the error.
    OS: Windows, DB: Oracle.
    Now I'm connected to ORACLE
    C  *** ERROR => ORA-1403 when accessing table SAPUSER
    [dbsloci.c    10114]
    C  Disconnecting from connection 0 ...
    C  Closing user session (con_hdl=0,svchp=0493EFF4,usrhp=07FC1E64)
    C  Now I'm disconnected from ORACLE
    C  Try to connect with default password
    C  Connecting as SAPR3/<pwd>@CC5 on connection 0 ...
    C  Starting user session (con_hdl=0,svchp=0493EFF4,srvhp=07FB9234,usrhp=07FC1E64)
    C  *** ERROR => OCI-call 'OCISessionBegin' failed: rc = 1017
    [dboci.c      3721]
    C  *** ERROR => CONNECT failed with sql error '1017'
    [dbsloci.c    9750]
    B  ***LOG BY2=> sql error 1017   performing CON [dbsh#1 @ 1200] [dbsh    1200 ]
    B  ***LOG BY0=> ORA-01017: invalid username/password; logon denied [dbsh#1 @ 1200] [dbsh    1200 ]
    B  ***LOG BY2=> sql error 1017   performing CON [dblink#1 @ 419] [dblink  0419 ]
    B  ***LOG BY0=> ORA-01017: invalid username/password; logon denied [dblink#1 @ 419] [dblink  0419 ]
    M  ***LOG R19=> tskh_init, db_connect ( DB-Connect 000256) [thxxhead.c   1270]
    M  in_ThErrHandle: 1
    M  *** ERROR => tskh_init: db_connect (step 1, th_errno 13, action 3, level 1) [thxxhead.c   9377]
    Based on these errors I have looked at Notes: 400241, 50088.
    The problem is, even though schema owner is listed as SAPSID, why is SAPR3 being used to connect to Oracle.
    I have tried creating the users using note 50088, but to no avail.
    I have tried creating the users with schema owner as SAPSID. Above is the error message that I get.
    When trying to create the users with owner as SAPR3, I get the below error,
    ERROR at line 1:
    ORA-00959: tablespace 'PSAPUSER1D' does not exist
    ORA-06512: at line 114
    Regards,
    Vishi

    Hi,
    I have tried suggestions from you all of you, Thank you.
    However the problem still persists. I am quite unable to figure out, why it is showing SAPR3 in wp trace.
    Below are the error details from dev_w0 log, trans.log
    dev_w0:
    Logon as OPS$-user to get SAPR3's password
    C  Connecting as /@CC5 on connection 0 ...
    C  Attaching to DB Server CC5 (con_hdl=0,svchp=0493EFF4,svrhp=07FB9234)
    C  Starting user session (con_hdl=0,svchp=0493EFF4,srvhp=07FB9234,usrhp=07FC1E64)
    C  Now I'm connected to ORACLE
    C  *** ERROR => ORA-1403 when accessing table SAPUSER
    [dbsloci.c    10114]
    C  Disconnecting from connection 0 ...
    C  Closing user session (con_hdl=0,svchp=0493EFF4,usrhp=07FC1E64)
    C  Now I'm disconnected from ORACLE
    C  Try to connect with default password
    C  Connecting as SAPR3/<pwd>@CC5 on connection 0 ...
    C  Starting user session (con_hdl=0,svchp=0493EFF4,srvhp=07FB9234,usrhp=07FC1E64)
    C  *** ERROR => OCI-call 'OCISessionBegin' failed: rc = 1017
    [dboci.c      3721]
    C  *** ERROR => CONNECT failed with sql error '1017'
    [dbsloci.c    9750]
    B  ***LOG BY2=> sql error 1017   performing CON [dbsh#1 @ 1200] [dbsh    1200 ]
    B  ***LOG BY0=> ORA-01017: invalid username/password; logon denied [dbsh#1 @ 1200] [dbsh    1200 ]
    B  ***LOG BY2=> sql error 1017   performing CON [dblink#1 @ 419] [dblink  0419 ]
    B  ***LOG BY0=> ORA-01017: invalid username/password; logon denied [dblink#1 @ 419] [dblink  0419 ]
    M  ***LOG R19=> tskh_init, db_connect ( DB-Connect 000256) [thxxhead.c   1270]
    M  in_ThErrHandle: 1
    Trans.log"
    4 ETW000  [dev trc     ,00000]  Thu Nov 24 23:48:32 2011                           80178  0.132260
    4 ETW000  [dev trc     ,00000]  Assigning server context 02C0982C to service context 02C08C24
    4 ETW000                                                                              57  0.132317
    4 ETW000  [dev trc     ,00000]  Allocating user session handle                        47  0.132364
    4 ETW000  [dev trc     ,00000]  Starting user session (con_hdl=0,svchp=02C08C24,srvhp=02C0982C,usrhp=02C123F4)
    4 ETW000                                                                             165  0.132529
    4 ETW000  [dboci.c     ,00000]  *** ERROR => OCI-call 'OCISessionBegin' failed: rc = 1017
    4 ETW000                                                                            6620  0.139149
    4 ETW000  [dbsloci.    ,00000]  *** ERROR => CONNECT failed with sql error '1017'
    4 ETW000                                                                              31  0.139180
    4 ETW000  [dev trc     ,00000]  Try to connect with default password                  73  0.139253
    4 ETW000  [dev trc     ,00000]  Connecting as SAPCC5/<pwd>@CC5 on connection 0 ...
    4 ETW000                                                                              27  0.139280
    4 ETW000  [dev trc     ,00000]  Assigning username to user session 02C123F4           19  0.139299
    4 ETW000  [dev trc     ,00000]  Assigning password to user session 02C123F4           28  0.139327
    4 ETW000  [dev trc     ,00000]  Starting user session (con_hdl=0,svchp=02C08C24,srvhp=02C0982C,usrhp=02C123F4)
    4 ETW000                                                                              31  0.139358
    4 ETW000  [dboci.c     ,00000]  *** ERROR => OCI-call 'OCISessionBegin' failed: rc = 1017
    4 ETW000                                                                            7326  0.146684
    4 ETW000  [dbsloci.    ,00000]  *** ERROR => CONNECT failed with sql error '1017'
    4 ETW000                                                                              31  0.146715
    4 ETW000  [dblink      ,00419]  ***LOG BY2=>sql error 1017   performing CON [dblink#1 @ 419]
    4 ETW000                                                                             141  0.146856
    4 ETW000  [dblink      ,00419]  ***LOG BY0=>ORA-01017: invalid username/password; logon denied [dblink#1 @ 419]
    4 ETW000                                                                              27  0.146883
    2EETW169 no connect possible: "DBMS = ORACLE                           --- dbs_ora_tnsname = 'CC5'"
    Should I go back looking at Note: 400241.
    Regards,
    Vishnu

  • Schema owner with DDL privileges only

    Hi,
    Oracle 11.2.0.2
    What is the easiest way of creating a schema owner that can own all the schema objects (tables, viws, procedures etc) WITHOUT being able to see the data in tables. In short can do DDL without being able to DQ or DML.
    Thanks

    905989 wrote:
    Hi,
    Oracle 11.2.0.2
    What is the easiest way of creating a schema owner that can own all the schema objects (tables, viws, procedures etc) WITHOUT being able to see the data in tables. In short can do DDL without being able to DQ or DML.
    Thanks
    do not do as below
    GRANT CREATE SESSION TO SCHEMA_OWNER;
    If SCHEMA_OWNER can not log into the DB, then they can not do DML or SELECT.

  • How to lock the AD Account through OIM

    Hi.
    I am provisioning AD through OIM 11g using the AD Connector. I have done the create user, modified user provisioning through OIM in AD successfully without any issue.
    I would like to lock the OIM account and also lock the respective target accounts when OIM account is locked.
    I have done the following task to lock the account in OIM and also in AD through OIM. They are
    Process Definition Task
    I have created the Change Account Status task in process definition.
    This task will populate the OIM Account lock status value to the AD Account is Locked out field in the ADUSER form using the OIM API. The same API is working for all First Name, Last Name etc modification without any issue.
    Lookup Definition
    I have added the following entry in the Lookup.USR_PROCESS_TRIGGERS Lookup Definition
    Code Key : USR_LOCKED and Decode : Change Account Status
    OIM Admin Console
    I have logged into the OIM admin Console as a Administrator and I have search the user and click the Lock Account button. The OIM Account is locked , but target resource account was not locked and also Change Account Status task was not triggered by OIM.
    Do i need to do any special configuration for account lock for the target resource.
    Help is greatly appreciated.

    In your System Configuration variables, find the value for "XLUserResource.ProvisionMode". Make sure this is set to Java and not DB.
    >
    This property determines whether provisioning of the Xellerate User resource to the user's organization occurs in the database layer through stored procedure, or in the Java layer via Event Handlers.
    Note: See Oracle Fusion Middleware Developer's Guide for Oracle Identity Manager for information about Event Handlers.
    This property has the following allowed values:
    DB: Provisioning of the Xellerate User resource to the user's organization occurs in the database layer through stored procedure. This in turn does not trigger any further process. Therefore, custom tasks associated with the Xellerate User provisioning process that is associated with the Xellerate User resource does take place.
    Java: Provisioning of the Xellerate User resource to the user's organization occurs in the database layer via Event Handlers. Custom tasks associated with the Xellerate User provisioning process that is associated with the Xellerate User resource takes place. This is applicable to the upgrade scenario, where you have your own tasks associated with provisioning processes in earlier releases of Oracle Identity Manager, and you want them to run even after 11g upgrade. In such scenario, set the value of this property value to JAVA.
    >
    -Kevin

  • Grant permission to all objects of a schema to apps user(Oracle 10g)

    Dear Fiiends,
    I would like to grant permission on all objects of a particular schema to apps user(Oracle 10g).How do I do it?
    (ex)grant all on <schemaname>.<objectname> to apps with grant option.
    This is the permission i want to give but i can't do it for all objects one by one so how do i do it in a single command.
    Regards,
    Arun

    You can't do it in a single command. You have to give object-by-object privileges (you could grant something like SELECT ANY TABLE, but that applies to every schema in the database and is generally a rather bad idea). You can, however, use a bit of dynamic SQL to do the job, i.e.
    FOR x IN (SELECT * FROM user_tables)
    LOOP
      EXECUTE IMMEDIATE 'GRANT ALL ON schema_name.' || x.table_name || ' TO apps WITH GRANT OPTION';
    END LOOP;You can do the same with other object types, hit DBA_TABLES rather than USER_TABLES if you don't want to run this as the object owner, etc.
    Justin

  • How to restrict a schema owner from granting privileges to other users.

    How can we restrict a schema owner from granting privileges to other users on his objects (e.g. tables). Lets say we have user called XYZ and he has tables in his schema TAB1, TAB2 an TAB3. How can we restrict user XYZ from granting privileges on TAB1, TAB2 and TAB3 to other users in the database. Is it possible in Oracle 10g R2? Any indirect or direct way to achieve this? Please help on this.
    Thanks,
    Manohar

    Whenever someone is trying to prevent an object owner from doing something, that's generally a sign of a deeper problem. In a production database, the object owner shouldn't generally have CREATE SESSION privileges, so the user shouldn't be able to log in, which would prevent the user from issuing any grants.
    As a general rule, you cannot stop an object owner from granting privileges on the objects it owns. You can work around this by creating a database-level DDL trigger that throws an exception if the user issuing the statement is XYZ and the DDL is a GRANT. But long term, you probably want to get to the root of the problem.
    Justin
    Edited by: Justin Cave on Nov 6, 2008 9:52 PM
    Enrique beat me to it.

  • Database restore with same SID and different schema owner

    Dear all,
    I have quality system on HP-UX oracle platform which has been upgraded from 4.6C to ECC 5.0
    and schema owner for the database is still SAPR3
    I have installed new Test system with version ECC 5.0 with same SID and now i need to refresh its database with Data from QAS system ... owner at Test system is SAPC11 which is new installation ECC 5.0 and where SID is C11.
    I need to know once i restore data what steps i need to carry out at Test system
    i.e like change ENV settings from SAPC11 to SAPR3.
    Please note SID is same on both hosts. and owner is different SAPR3 and SAPC11
    Regards,
    RR

    Dear all ,
    Thanks for your views . but i have already installed ECC 5.0 on
    target machine with schema owner as default SAPC11 (sid)
    Is there any other way out ... instead of doing reinstallation with schema owner SAPR3 / instead of doing Export-Import system copy method which again is as good as reinstallation.
    I would like to have your views on following ,
    when i will restore database from source to taget
    al tables in target machine will be having owner as SAPR3 ( which came from source ) ...but my DB owner at Target machine is SAPC11 ( as far as ENV and all profiles are concerned ) .... cant i use SAPR3 user which got restored with backup of source to target to start my instance at Target machine... may be by changing ENV settings.
    I really appreciate and thank you in adavance for sharing your views.
    Regards,
    RR

  • My iphone is locked with icloud account how to resolve it

    my iphone is locked with icloud account how to resolve

    Hey sumedhfrommapusa,
    Thanks for the question. I understand that your iPhone is locked with iCloud Activation Lock. The following resources may provide a solution:
    iCloud: Find My iPhone Activation Lock in iOS 7
    http://support.apple.com/kb/HT5818
    iCloud: Activation Lock
    http://support.apple.com/kb/PH13695
    Find My iPhone Activation Lock: Removing a device from a previous owner’s account
    http://support.apple.com/kb/TS4515
    Thanks,
    Matt M.

Maybe you are looking for

  • IPhoto and Aperture won't open

    Dear all, Since a couple of days I've got a huge problem with iPhoto. Last weak it worked without any issues, but when I installed iDVD to help a friend to create a dvd..I guess iPhoto somehow crashed. I've tried to reinstall iPhoto but I constantly

  • Error in saving file. this is an usual error.

    "error in saving file. this is an unusual error. perhaps some computer maintenace is required" This notice keeps coming up whenever i try and save an audio file, which i have generated with "final vinyl". I have no idea what to do next. If anyone has

  • Logical standby real time apply problem

    Hi all, The real time apply for logical standby on my Oracle 10.2 DB is not working SELECT SEQUENCE#, FIRST_TIME, APPLIED FROM DBA_LOGSTDBY_LOG ORDER BY SEQUENCE#; SEQUENCE# FIRST_TI APPLIED 2113 07/10/09 NO 2115 07/10/09 NO 2116 07/10/09 NO There is

  • Will a SATA Drive work in my PM G5?

    I want to add a second HD to my G5 Power Mac Dual 2.3.. The User's Guide says to install a Serial ATA drive. I see a 400 gig Seagate SATA Hard drive on sale at Best Buy.. Is SATA the same as an ATA? Will it work? Thanks

  • Another seperateframe workaround?

    I'm working with seperateframe=true. I need the close the first browser window when the other window closes. I've seen the close html page but we have a lot of forms and some are modal, others are not, some are both. So trying to figure out when to c