OPS$, Schema Owner and dbs_ora_schema env variable.

HI All.
Have a situation where we've copied a system from one location to another using an online backup. The database is up and running (open) and lookin good.
However, when I goto start SAP, I get a ORA-1403 and ORA-1017 error on startup. As best as I can tell, the OPS$ mechanism created for the base system (before the online restore) is using SAPSID as the owner. However, the schema owner from the database we used for the recovery is SAPR3.
Now when the system goes to logon, OPS$ is looking to fetch SAPSID as the schema owner, but the effective schema owner is SAPR3. Rerunning the oradbusr. sql script as per note 361641 does not change anything.
<b>Issue is related to the environment variable "dbs_ora_schema" - it is currently set to SAPSID, but I need to change it to SAPR3. Can someone offer the proper syntax to change this value in AIX 5.3?</b>
Thanks,
Tim
Thanks!!
Message was edited by:
        Tim Hild

Hello Tim,
What i apprehend is that the SAP<SCHEMA-ID> or the password for the same has changed. When u have copied the db of another SID the SAP<SCHEMA-ID> will be according to the earlier SID so it may required to be renamed as per the new SID and so also the naming services might have changed for which the listner  may not work properly. Try to rename the SAP<SCHEMA-ID>  and reset the password via  brtools. The SQL wont work in case of changing the password of SAP<SCHEMA-ID> . First do it from SQL then reset the password again using Brtools.
Comparing tns.ora and listnr.ora files of both the systems will give u a fair idea on the prob.
In the sap server run BRTOLS from cmd prompt then proceed as follows
Brtools----->Choose Additional Functions--->Choose Change Password of DB user
Enter choice 2(Database User/Password)
In user prompt give sapc11 and in password prompt put the password u had changed earlier ie abc123.
Then enter c (for continue) u will be prompted for the new password
When u put the new password it wont be displayed in the prompt just type
Complete the entire guided process.
Hope this resolves your prob.
Regards.

Similar Messages

  • 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

  • Determine Schema Owner

    I have a user I'm trying to remove, but it's the owner of some objects. I'm assuming it's the schema owner and thus I'll need to assign the schema to a different user, but I'm not sure how to query the schema owners. Thanks in advance!

    select * from dba_obejects where owner=<username>; yu will get the objects it ownes, you can take export and import into new user.. then drop old one.
    --Girish                                                                                                                                                                                                                                                                                                                                       

  • 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

  • Do I need to set  system env variables for weblogic and SOA server installation?

    Hi All,
       I already have two weblogic application servers on my machine(that were installed by others).
    I observed some environment variables were also set in System variables(ORACLE_HOME,WEB_SERVER_HOME etc) section in Env variables section(Start Menu---> Computer --> properties ---).But why do we need to have system environment variables wherein we already have those variables in files like setDomainEnv.bat or/and setSOADoaminEnv.bat for each server.
    And one more thing system variables will be applicable for all servers(the whole machine) right.It may spoil the installation of new servers and present servers as variables should be unique to each server.
        I want to install weblogic and SOA server installation.
    So Can I remove the existing system variables(as they will applicable for every server) and install weblogic and SOA server installation without setting up the environment variables?
    Especially I have multiple Weblogic servers,In that case how it would be to have environment variables(JAVA_HOME,WL_HOME,ORACLE_HOME etc)?
    Please guide me on this to installl SOA suite .
    Thanks in advance

    Hi All,
       I already have two weblogic application servers on my machine(that were installed by others).
    I observed some environment variables were also set in System variables(ORACLE_HOME,WEB_SERVER_HOME etc) section in Env variables section(Start Menu---> Computer --> properties ---).But why do we need to have system environment variables wherein we already have those variables in files like setDomainEnv.bat or/and setSOADoaminEnv.bat for each server.
    And one more thing system variables will be applicable for all servers(the whole machine) right.It may spoil the installation of new servers and present servers as variables should be unique to each server.
        I want to install weblogic and SOA server installation.
    So Can I remove the existing system variables(as they will applicable for every server) and install weblogic and SOA server installation without setting up the environment variables?
    Especially I have multiple Weblogic servers,In that case how it would be to have environment variables(JAVA_HOME,WL_HOME,ORACLE_HOME etc)?
    Please guide me on this to installl SOA suite .
    Thanks in advance

  • Owner of schema SYS_REPL and table RS_REPLICATION_COMPONENTS

    Hello Tobias,
    in your SLT guides is stated that the schema SYS_REPL gets created during the first use of SLT.
    You recommend to use the user SYSTEM or another user with similar privileges for the initial creation.
    Since i'm about to implement a proper auth.concept I just came over the database owner concept.
    Which means, if i use a non-technical user to create the schema SYS_REPL the schema belongs to that user and
    will be deleted as soon as the user is deleted from the DB.
    I'm wondering why the Schema SYS_REPL and table RS_REPLICATION_COMPONENTS aren't created as
    repository object, which is owned by _SYS_REPO after activation and could be transported in a delivery unit?
    Why is this way not used by SAP?
    Thanks for your feedback
    Johannes

    As regards the Numbers in Type column , i have posted this to Db forum....:
    Number in column Type in view Dba_ddl_locks...
    I'll be glad if you provide me with an answer.....
    Thanks......
    Sim

  • Upgrade failed at SQLSCREXE_ALI_ORG Shadow schema owner cannot logon

    I am upgrade BW3.5 to BI 7.00.
    I have finished PREPARE and running Uograde now. It failed at Shadow System Installation at phase SQLSCREXE_ALI_ORG. The phase is running a SQL script creating synonyms using tp.
    It produce a log TPSQLSTD.OUT as follows:
    (The phase SQLSCREXE_GRA_ORG is just above the failed phase using the same logic to executing script)
    BLOCKED SIGNALS: ''
    SAPup> Starting subprocess 7896 at 20080730211406
    ENV <0xffbffbf2>: PATH=/oracle/BWS/102_64/bin:/usr/java/bin:/export/home/bwsadm:/usr/sap/BWS/SYS/exe/run:/usr/bin:.:/usr/ccs/bin:/usr/ucb
    ENV <0x9039a4>: DIR_LIBRARY=/oracle/BWS/sapdata/put/exe
    ENV <0x903da4>: LD_LIBRARY_PATH=/oracle/BWS/sapdata/put/exe:/usr/j2se/jre/lib/sparc/client:/usr/j2se/jre/lib/sparc:/usr/j2se/jre/../lib/sparc:
    /usr/sap/BWS/SYS/exe/run
    ENV <0xffbffde5>: dbms_type=ORA
    ENV <0xffbffdf3>: dbs_ora_tnsname=BWS
    ENV <0x8fd6bc>: dbs_ora_schema=SAPBWD
    ENV <0xffbffe1d>: ORACLE_PSRV=BWS
    ENV <0xffbffe2d>: ORACLE_SID=BWS
    ENV <0xffbffe47>: ORACLE_HOME=/oracle/BWS/102_64
    ENV <0xffbffe66>: ORACLE_BASE=/oracle
    ENV <0xffbffe7a>: ORA_NLS33=/oracle/client/92x_64/ocommon/nls/admin/data
    ENV <0xffbffeb1>: ORA_NLS10=/oracle/BWS/102_64/nls/data
    ENV <0xffbffed7>: NLS_LANG=AMERICAN_AMERICA.WE8DEC
    ENV <0x8fd2bc>: auth_shadow_upgrade=1
    EXECUTING /oracle/BWS/sapdata/put/exe/tp (tp) pf=/oracle/BWS/sapdata/put/bin/EXDBNEW.TPP execdbscript BWS -x ALORDC.XQL
    This is /oracle/BWS/sapdata/put/exe/tp version 372.04.08 (release 700)
    ERROR: Connect to BWS failed (20080730211407, probably wrong environment).
    Warning: Parameter INTERRUPT is no longer used.
    Warning: Parameter DAYLIGHT_SHUTDOWN is no longer used.
    Warning: Parameter WITH_TACOB is no longer used.
    Warning: Parameter IMPDP_BY_EVENT is no longer used.
    Warning: Parameter INTERRUPT is no longer used.
    Warning: Parameter DAYLIGHT_SHUTDOWN is no longer used.
    Warning: Parameter WITH_TACOB is no longer used.
    Warning: Parameter IMPDP_BY_EVENT is no longer used.
    Warning: Parameter DBCONFPATH is no longer used.
    TRACE-INFO: 1:  [dev trc     ,00000]  Wed Jul 30 21:14:06 2008                                    85192  0.085192
    TRACE-INFO: 2:  [dev trc     ,00000]  load shared library (/oracle/BWS/sapdata/put/exe/dboraslib.so), hdl 0
    TRACE-INFO: 3:                                                                                36  0.085228
    TRACE-INFO: 4:  [dev trc     ,00000]  Oracle Client Version: '10.2.0.2.0'                          3011  0.088239
    TRACE-INFO: 5:  [dev trc     ,00000]  -->oci_initialize (con_hdl=0)                                  49  0.088288
    TRACE-INFO: 6:  [dev trc     ,00000]  Client NLS settings: AMERICAN_AMERICA.WE8DEC                15639  0.103927
    TRACE-INFO: 7:  [dev trc     ,00000]  Logon as OPS$-user to get SAPBWDSHD's password                 83  0.258141
    TRACE-INFO: 8:  [dev trc     ,00000]  Connecting as /@BWS on connection 0 (nls_hdl 0) ... (dbsl 700 250407)
    TRACE-INFO: 9:                                                                                44  0.258185
    TRACE-INFO: 10:  [dev trc     ,00000]  Nls CharacterSet                 NationalCharSet              C      EnvHp      ErrHp ErrHpBatch
    TRACE-INFO: 11:                                                                                50  0.258235
    TRACE-INFO: 12:  [dev trc     ,00000]    0 WE8DEC                                                    1  101497e98  10149f918  1014a32b0
    TRACE-INFO: 13:                                                                                28  0.258263
    TRACE-INFO: 14:  [dev trc     ,00000]  Allocating service context handle for con_hdl=0               183  0.258446
    TRACE-INFO: 15:  [dev trc     ,00000]  Allocating server context handle                               35  0.258481
    TRACE-INFO: 16:  [dev trc     ,00000]  Attaching to DB Server BWS (con_hdl=0,svchp=1014a31e0,srvhp=1014a5580)
    TRACE-INFO: 17:                                                                                265  0.258746
    TRACE-INFO: 18:  [dev trc     ,00000]  Assigning server context 1014a5580 to service context 1014a31e0
    TRACE-INFO: 19:                                                                                154629  0.413375
    TRACE-INFO: 20:  [dev trc     ,00000]  Allocating user session handle                                153  0.413528
    TRACE-INFO: 21:  [dev trc     ,00000]  Starting user session (con_hdl=0,svchp=1014a31e0,srvhp=1014a5580,usrhp=1014a0130)
    TRACE-INFO: 22:                                                                                53  0.413581
    TRACE-INFO: 23:  [dev trc     ,00000]  Assigning user session 1014a0130 to service context 1014a31e0
    TRACE-INFO: 24:                                                                                38363  0.451944
    TRACE-INFO: 25:  [dev trc     ,00000]         BEGIN DBMS_APPLICATION_INFO.SET_MODULE (:A0, :A1); END;                                        
    TRACE-INFO: 26:                                                                                208  0.452152
    TRACE-INFO: 27:  [dev trc     ,00000]         BEGIN DBMS_APPLICATION_INFO.SET_CLIENT_INFO (:A0); END;                                        
    TRACE-INFO: 28:                                                                                427  0.452579
    TRACE-INFO: 29:  [dev trc     ,00000]  Now '/@BWS' is connected (con_hdl 0, nls_hdl 0).             3592  0.456171
    TRACE-INFO: 30:  [dev trc     ,00000]         ALTER SESSION SET NLS_SORT = BINARY                                                                               
    TRACE-INFO: 31:                                                                                51  0.456222
    TRACE-INFO: 32:  [dev trc     ,00000]         SELECT USERID, PASSWD FROM SAPUSER WHERE USERID IN (:A0, :A1)                                  
    TRACE-INFO: 33:                                                                                1010  0.457232
    TRACE-INFO: 34:  [dbsloci.    ,00000]  *** ERROR => ORA-1403 when accessing table SAPUSER           1832  0.459064
    TRACE-INFO: 35:  [dev trc     ,00000]     set_ocica() -> OCI or SQL return code 1403                  69  0.459133
    TRACE-INFO: 36:  [dev trc     ,00000]  Disconnecting from connection 0 ...                           116  0.459249
    TRACE-INFO: 37:  [dev trc     ,00000]  Rolling back transaction ...                                   98  0.459347
    TRACE-INFO: 38:  [dev trc     ,00000]  Closing user session (con_hdl=0,svchp=1014a31e0,usrhp=1014a0130)
    TRACE-INFO: 39:                                                                                482  0.459829
    TRACE-INFO: 40:  [dev trc     ,00000]  Now I'm disconnected from ORACLE                             3043  0.462872
    TRACE-INFO: 41:  [dev trc     ,00000]  Try to connect with default password                           21  0.462893
    TRACE-INFO: 42:  [dev trc     ,00000]  Connecting as SAPBWDSHD/<pwd>@BWS on connection 0 (nls_hdl 0) ... (dbsl 700 250407)
    TRACE-INFO: 43:                                                                                26  0.462919
    TRACE-INFO: 44:  [dev trc     ,00000]  Nls CharacterSet                 NationalCharSet              C      EnvHp      ErrHp ErrHpBatch
    TRACE-INFO: 45:                                                                                26  0.462945
    TRACE-INFO: 46:  [dev trc     ,00000]    0 WE8DEC                                                    1  101497e98  10149f918  1014a32b0
    TRACE-INFO: 47:                                                                                26  0.462971
    TRACE-INFO: 48:  [dev trc     ,00000]  Assigning username to user session 1014a0130                   19  0.462990
    TRACE-INFO: 49:  [dev trc     ,00000]  Assigning password to user session 1014a0130                   28  0.463018
    TRACE-INFO: 50:  [dev trc     ,00000]  Starting user session (con_hdl=0,svchp=1014a31e0,srvhp=1014a5580,usrhp=1014a0130)
    TRACE-INFO: 51:                                                                                27  0.463045
    TRACE-INFO: 52:  [dboci.c     ,00000]  *** ERROR => OCI-call 'OCISessionBegin' failed with rc=1017
    TRACE-INFO: 53:                                                                                55819  0.518864
    TRACE-INFO: 54:  [dbsloci.    ,00000]  *** ERROR => CONNECT failed with sql error '1017'              28  0.518892
    TRACE-INFO: 55:  [dev trc     ,00000]     set_ocica() -> OCI or SQL return code 1017                  19  0.518911
    TRACE-INFO: 56:  [dblink      ,00431]  ***LOG BY2=>sql error 1017   performing CON [dblink#5 @ 431]
    TRACE-INFO: 57:                                                                                246  0.519157
    TRACE-INFO: 58:  [dblink      ,00431]  ***LOG BY0=>ORA-01017: invalid username/password; logon denied [dblink#5 @ 431]
    TRACE-INFO: 59:                                                                                26  0.519183
    tp returncode summary:
    TOOLS: Highest return code of single steps was: 0
    ERRORS: Highest tp internal error was: 0232
    tp finished with return code: 232
    meaning:
      connect failed
    Process with ID 3514 terminated with status 232
    Thanks so much
    Feng Qi

    Check that the schema of your database (ex: select owner from dba_tables where table_name='T000';) really
    match the dbs_ora_schema environment variable (you might change dbs_ora_schema=SAPBWD to the real schema of your DB).
    then check
    su - <sid>adm
    R3trans -d
    it should return code 0

  • DBS_ORA_SCHEMA environment variable?

    Hi Gurus,
    I am doing a refresh from Production (P01) to Development (D01). I am having problem to start SAP in D01. I have run the OPS$ script but still unsuccessful. Based on note 534765, it advice to change environment dbs_ora_schema to SAP<SID>.
    Below are my system details :
    Production : SID (P01), dbs_ora_schema = SAPR3
    Development : SID (D01), dbs_ora_schema = SAPSR3
    Should I update dbs_ora_schema for D01 similar to P01 or should I update it to SAPP01.
    Anyone have ideas on this?
    Thanks,
    Intan Azir

    Perform the following check via sqlplus in D01:
    select username from dba_users;
    If your refresh was done as described you should see the schema owner SAPR3 from P01.
    In that case you need to adapt your environment variables in order to use the correct schema user.
    Kind regards,

  • 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.

  • New files and folders on a Linux client mounting a Windows 2012 Server for NFS share do not inherit Owner and Group when SetGID bit set

    Problem statement
    When I mount a Windows NFS service file share using UUUA and set the Owner and Group, and set the SetGID bit on the parent folder in a hierarchy. New Files and folders inside and underneath the parent folder do not inherit the Owner and Group permissions
    of the parent.
    I am given to understand from this Microsoft KnowledgeBase article (http://support.microsoft.com/kb/951716/en-gb) the problem is due to the Windows implmentation of NFS Services not supporting the Solaris SystemV or BSD grpid "Semantics"
    However the article says the same functionality can acheived by using ACE Inheritance in conjunction with changing the Registry setting for "KeepInheritance" to enable Inheritance propagation of the Permissions by the Windows NFS Services.
    1. The Precise location of the "KeepInheritance" DWORD key appears to have "moved" in  Windows Server 2012 from a Services path to a Software path, is this documented somewhere? And after enabling it, (or creating it in the previous
    location) the feature seems non-functional. Is there a method to file a Bug with Microsoft for this Feature?
    2. All of the references on demonstrating how to set an ACE to achieve the same result "currently" either lead to broken links on Microsoft technical websites, or are not explicit they are vague or circumreferential. There are no plain Examples.
    Can an Example be provided?
    3. Is UUUA compatible with the method of setting ACE to acheive this result, or must the Linux client mount be "Mapped" using an Authentication source. And could that be with the new Flat File passwd and group files in c:\windows\system32\drivers\etc
    and is there an Example available.
    Scenario:
    Windows Server 2012 Standard
    File Server (Role)
    +- Server for NFS (Role) << -- installed
    General --
    Folder path: F:\Shares\raid-6-array
    Remote path: fs4:/raid-6-array
    Protocol: NFS
    Authentication --
    No server authentication
    +- No server authentication (AUTH_SYS)
    ++- Enable unmapped user access
    +++- Allow unmapped user access by UID/GID
    Share Permissions --
    Name: linux_nfs_client.host.edu
    Permissions: Read/Write
    Root Access: Allowed
    Encoding: ANSI
    NTFS Permissions --
    Type: Allow
    Principal: BUILTIN\Administrators
    Access: Full Control
    Applies to: This folder only
    Type: Allow
    Principal: NT AUTHORITY\SYSTEM
    Access: Full Control
    Applies to: This folder only
    -- John Willis, Facebook: John-Willis, Skype: john.willis7416

    I'm making some "major" progress on this problem.
    1. Apparently the "semantics" issue to honor SGID or grpid in NFS on the server side or the client side has been debated for some time. It also existed as of 2009 between Solaris nfs server and Linux nfs clients. The Linux community defaulted to declaring
    it a "Server" side issue to avoid "Race" conditions between simultaneous access users and the local file system daemons. The client would have to "check" for the SGID and reformulate its CREATE request to specify the Secondary group it would have to "notice"
    by which time it could have changed on the server. SUN declined to fix it.. even though there were reports it did not behave the same between nfs3 vs nfs4 daemons.. which might be because nfs4 servers have local ACL or ACE entries to process.. and a new local/nfs
    "inheritance" scheme to worry about honoring.. that could place it in conflict with remote access.. and push the responsibility "outwards" to the nfs client.. introducing a race condition, necessitating "locking" semantics.
    This article covers that discovery and no resolution - http://thr3ads.net/zfs-discuss/2009/10/569334-CR6894234-improved-sgid-directory-compatibility-with-non-Solaris-NFS-clients
    2. A much Older Microsoft Knowledge Based article had explicit examples of using Windows ACEs and Inheritance to "mitigate" the issue.. basically the nfs client "cannot" update an ACE to make it "Inheritable" [-but-] a Windows side Admin or Windows User
    [-can-] update or promote an existing ACE to "Inheritable"
    Here are the pertinent statements -
    "In Windows Services for UNIX 2.3, you can use the KeepInheritance registry value to set inheritable ACEs and to make sure that these ACEs apply to newly created files and folders on NFS shares."
    "Note About the Permissions That Are Set by NFS Clients
    The KeepInheritance option only applies ACEs that have inheritance enabled. Any permissions that are set by an NFS client will
    only apply to that file or folder, so the resulting ACEs created by an NFS client will
    not have inheritance set."
    "So
    If you want a folder's permissions to be inherited to new subfolders and files, you must set its permissions from the Windows NFS server because the permissions that are set by NFS clients only apply to the folder itself."
    http://support.microsoft.com/default.aspx?scid=kb;en-us;321049
    3. I have set up a Windows 2008r2 NFS server and mounted it with a Redhat Enteprise Linux 5 release 10 x86_64 server [Oct 31, 2013] and so far this does appear to be the case.
    4. In order to mount and then switch user to a non-root user to create subdirectories and files, I had to mount the NFS share (after enabling Anonymous AUTH_SYS mapping) this is not a good thing, but it was because I have been using UUUA - Unmapped Unix
    User Access Mapping, which makes no attempt to "map" a Unix UID/GID set by the NFS client to a Windows User account.
    To verify the Inheritance of additional ACEs on new subdirectories and files created by a non-root Unix user, on the Windows NFS server I used the right click properties, security tab context menu, then Advanced to list all the ACEs and looked at the far
    Column reflecting if it applied to [This folder only, or This folder and Subdirectories, or This folder and subdirectories and files]
    5. All new Subdirectories and files createdby the non-root user had a [Non-Inheritance] ACE created for them.
    6. I turned a [Non-Inheritance] ACE into an [Inheritance] ACE by selecting it then clicking [Edit] and using the Drop down to select [This folder, subdirs and files] then I went back to the NFS client and created more subdirs and files. Then back to the
    Windows NFS server and checked the new subdirs and folders and they did Inherit the Windows NFS server ACE! - However the UID/GID of the subdirs and folders remained unchanged, they did not reflect the new "Effective" ownership or group membership.
    7. I "believe" because I was using UUUA and working "behind" the UID/GID presentation layer for the NFS client, it did not update that presentation layer. It might do that "if" I were using a Mapping mechanism and mapped UID/GID to Windows User SIDs and
    Group SIDs. Windows 2008r2 no longer has a "simple" Mapping server, it does not accept flat text files and requires a Schema extension to Active Directory just to MAP a windows account to a UID/GID.. a lot of overhead. Windows Server 2012 accepts flat text
    files like /etc/passwd and /etc/group to perform this function and is next on my list of things to see if that will update the UID/GID based on the Windows ACE entries. Since the Local ACE take precedence "over" Inherited ACEs there could be a problem. The
    Inheritance appears to be intended [only] to retain Administrative rights over user created subdirs and files by adding an additional ACE at the time of creation.
    8. I did verify from the NFS client side in Linux that "Even though" the UID/GID seem to reflect the local non-root user should not have the ability to traverse or create new files, the "phantom" NFS Server ACEs are in place and do permit the function..
    reconciling the "view" with "reality" appears problematic, unless the User Mapping will update "effective" rights and ownership in the "view"
    -- John Willis, Facebook: John-Willis, Skype: john.willis7416

  • Get CGI env variables in a database procedure using new APEX Listener

    I already posted this question in the Apex Listener forum and still no replies after one week. The original post is here:
    Get CGI environment from APEX Listener within database procedure
    So please forgive me for posting in this forum as well, but there is a lot more activity here.
    I'd like to know how I can get the CGI environment from the APEX Listener. For example, if I want to write a procedure that inserts into a table the originating IP Address of the client making the web request, how do I get it?
    I am familiar with the Oracle Http Server and mod_plsql, and I know how to call OWA_UTIL.GET_CGI_ENV to get this sort of information. How do I do it using the APEX Listener?
    In particular, how do I do this when calling a custom procedure (not in an Apex workspace)? When I try it now, I get an error from owa_util. The cgi env seems to be empty or not initiated (owa.num_cgi_vars is null or zero).
    Specific set-up:
    I have a web server running the latest JDK, Glassfish, and 1.1.4 Apex Listener. It connects to another server running the latest 11.2 database. Apex is installed and running, but I am not really developing a traditional Apex application in a workspace. I mainly use it like you would use mod_plsql. In other words, I have custom pl/sql packages that are called directly via URL. The requests are forwarded by the listener to the database, and the DB executes the procedure and returns output using htp.p to send text back to the browser. And it works just fine for this purpose. But if I want to call GET_CGI_ENV to get information like the IP Address, web browser making the request, etc. I can't seem to get it with the OWA packages.
    Can anyone shed some light on this? If Apex Listener is not designed to do this, is there some kind of workaround I can use to forward this sort of information to the database for each request?

    I have not tried owa_util.print_cgi_env from SQL Workshop yet, as I have not created an APEX workspace. I have had no need for a workspace because of the way I am using APEX as a method for calling custom packages and stored procedures. In other words, I am using APEX strictly for the mod_plsql functionality. I just use it to forward requests to the database to execute pl/sql code, but I don't develop anything in APEX. My application is a web service with no screens and no direct user interface, which is why I did not need to create APEX forms. The front end is a mobile app that makes calls to the web service.
    But I have tried calling owa_util.print_cgi_env in one of my stored procedures and it returns no data, even when calling it from the web front-end.
    So I am beginning to believe that if the OWA toolkit works with APEX, then it must only be enabled when invoked within a workspace. Stand-alone procedures can be called via APEX, but apparently doing so does not initiate the CGI env variables. This set-up used to work under the OHS with mod_plsql. The embedded pl/sql gateway also works this way.
    Is there a procedure call that APEX is making to set the environment before each SQL Workshop request?
    My security model currently blocks access to all packages and procedures except for my custom packages. I am using the APEX Listener configuration to allow only the packages listed by name in a white list. But I thought I allowed all access when I first tried calling the OWA packages. I'll have to try that again.

  • 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.

  • How to create a report to show BA, Report Names, Owner and shares

    Hello,
    Does anyone have any sql that will show the Business Area, Report Name, Owner and who it is shared with?
    I can get the three last items with no problem; the difficulty is including the BA Name.
    This is for Discoverer v 4.
    Many thanks
    Rachael

    Hi,
    Thanks a lot. I am really new to the Discoverer Arena. We are currently using EUL5. Can you please direct me to the correct product to be installed and how will I actually get all the related worksheets for a specific workbook. Currently I have access to EUL5 tables. Is it what you are referring to? However using the EUL5 schema tables I cannot get the related worksheets of a particular workbook.
    Would be really helpful if you could tell me in detail to solve this? I am somewhat confused heaps of Oracle products. Any other takers welcome
    Thanks
    Thomas

  • 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

  • ALDSP 3.0 -- schema owner for stored procedure or SQL Statement

    Using ALDSP, I have a need to create a physical service based on a stored procedure or a SQL statement. I am wondering what will happen when I move to another deployment environment where the schema owner changes. In our QA and Prod environments, we have a different schema owner for all tables in the application (the DBAs believe this prevents unwanted updates to a prod environment). DSP elegantly supports this for normal table- and view-based physical services by mapping schemas through the DSP console after deployment. Will I get the same type of mapping capability for stored procedures and SQL statements? I noticed that I can add a SQL-based function to a physical service...is there a way to pass in the physical table name from that data service to the procedure or SQL statement?
    Thanks,
    Jeff

    Schema name substitution should work for stored procedures just like it does for tables. If it doesn't - report a bug.
    You don't get any help for sql-statement based data services - dsp doesn't parse the sql provided. One thing you could do is use the default schema (following the user of your connection pool), and not specify the schema in your sql-statement.

Maybe you are looking for