Transfer schema or multiple schemas or even the database

hello.......steven :)
i managed to transfer a table from 9.2.07 database to 11g R2 and the NLS_LANG issue solved.
I want to try to move a schema or schemas or even the whole database.
How difficult is that???
thanks again
Edited by: airmax012 on 6 Οκτ 2011 4:06 πμ

The message about SIEBEL.EIM_ACCNT_CUT_TMP is from somewhere else with respect to the parameter files you posted (those only cover the IT schema). If you have unused columns, is there a corresponding unused column on the target? ASSUMETARGETDEFS means you are telling GoldenGate that the source and target tables are identical, so that means column for column they are the same. If you have unused columns, but source and target are the same, then you would use a combination of ASSUMETARGETDEFS and ALLOWUNUSEDCOLUMN.
If you use ALLOWUNUSEDCOLUMN, then:
When using this parameter, the same unused column
must exist on the target, or else a source definitions file for
the table must be specified to Replicat so that the correct
metadata mapping can be performed. By default, Extract
abends on unused columns.
Identical rules:
For source and target structures to be considered identical, they must contain identical
column names (including case, if applicable) and data types, and the columns must be in
the same order in each table. In addition, both tables must have the same column length
semantics for character columns (bytes versus characters).

Similar Messages

  • Single schema or multiple schemas

    Hello
    A few years ago I worked on a greenfield project where we were building a system to serve 20 or so different departments with 1200+ users. The approach the existing DBA had taken was to use a single schema for all objects and for all apps. The big advantage I found with this approach was for development, we could have one database and each developer could develop whatever they wanted in their own schema. Name resolution meant that they could override the main copy of whichever object they were working on just by having it in their schema. Unfortunately the project went nowhere and I left after 3 months so I never got to see what issues were raised with the system in production. So I'm wondering, has anyone else taken this approach and if so what would you say are the main things to be wary of? Especially things that aren't a problem when the objects are distributed between multiple schemas.
    Thank you in advance
    David

    user12065404 wrote:
    Hi Ed
    Thank you for your reply. I think I need to clarify what I meant a little.
    On a number of sites I've been to there have been multiple applications spread out over multiple schemas for the same business unit. To draw on the emp example it would be like having the EMP schema containing the emp table and the DEPT schema containing the dept table, with a single HR application (for a single buisness unit/department) selecting from both. If you scale this up to 000s of tables and 30 odd schemas, it's a bit of a nightmare from the perspective of code location and permissions because each department needs to look across schemas to get all of the data to do their job. Effectively tables and code had become segregated into separate schemas by business "function" and it means that the applicaitons are so intertwined with the different schemas that to have more than one business unit means you either need a completely separate database or you have to look at VPD.
    App         SCHEMA      Table
    HR          emp         emp
    dept        dept
    Invoicing   emp         emp
    invoicing   inv
    contracts   contract
    orders      ORDER
    Ordering    emp         emp
    contracts   contract
    orders      ORDER
    orders     orderitem
    ...The advantage I saw with a single schema for all the data for a single business unit is the one you have mentioned - i.e. you can very easily set up a new business unit that is totally separate from the other by having a new schema and point the same version of the same application at it. Or failing that, using VPD. And on top of that, security is simplified - no needing direct grants from one schema to the other and especially not requiring WITH GRANT OPTION in the case of a view that pulls data from various schemas and rights to select from the view have to be grated to a role.
    App         SCHEMA      Table
    HR          abc_ltd     emp
    abc_ltd     dept
    Invoicing   abc_ltd     emp
    abc_ltd     inv
    abc_ltd     contract
    abc_ltd     ORDER
    Ordering    abc_ltd     emp
    abc_ltd     contract
    abc_ltd     ORDER
    abc_ltd     orderitem
    ...The other big advantage I saw was from a development and testing perspective. You can have one testing database supporting lots of developers working on lots of different projects against the same core data set and code. The multiple schema setup I described above means that effectively you need to have one testing database per project - which becomes unmanageable when databases start growing to the TB range.
    David
    Edited by: user12065404 on 26-Mar-2010 08:30
    Saw a typo in my first exampleOK, now it is a lot more clear.
    What you have here is a problem of some data (employee) being enterprise data, and other data being application data.
    I take it your "invoiceing" app is used by the sales side of the business, and "ordering" is used by the purchasing side (my last assignment when I was an apps analyst was the purchasing/inventory control for an auto manufacturer).
    With what I know at this point, I'd have an HR schema, an INVOICING schema, and an ORDERING schema. (Well actually, I'd have SALES and PURCHASING, because INVOICEING and ORDERING are going to have to integrate with other stuff in those areas). Even though invoicing and ordering both have a CONTRACT table, I'd think the properties of a contract for one would be different than the other, so the table design itself would be different. How about tables SALES_CONTRACT and PURCHASING_CONTRACT. Same concept for ORDERS, and both sales and purchasing would need header and details .... SALES_ORDER_HEADER, SALES_ORDER_DETAIL, PURCH_ORDER_HEADER, PURCH_ORDER_DETAIL.
    These two apps need for employee data should be pulled directly from the HR emp table, with access limited to stored procedures that control what data is exposed. Or from materialized views. Never try to maintain the same data in two places at once. It will never maintain consistency.

  • Can multiple threads write to the database?

    I am a little confused from the statement in the documentation: "Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time."
    1. Can multiple threads write to the "Simple Data Store"?
    2. Considering the sample code below which writes to the DB using 5 threads - is there a possibility of data loss?
    3. If the code will cause data loss, will adding DB_INIT_LOCK and/or DB_INIT_TXN in DBENV->open make any difference?
    #include "stdafx.h"
    #include <stdio.h>
    #include <windows.h>
    #include <db.h>
    static DB *db = NULL;
    static DB_ENV *dbEnv = NULL;
    DWORD WINAPI th_write(LPVOID lpParam)
    DBT key, data;
    char key_buff[32], data_buff[32];
    DWORD i;
    printf("thread(%s) - start\n", lpParam);
    for (i = 0; i < 200; ++i)
    memset(&key, 0, sizeof(key));
    memset(&data, 0, sizeof(data));
    sprintf(key_buff, "K:%s", lpParam);
    sprintf(data_buff, "D:%s:%8d", lpParam, i);
    key.data = key_buff;
    key.size = strlen(key_buff);
    data.data = data_buff;
    data.size = strlen(data_buff);
    db->put(db, NULL, &key, &data, 0);
    Sleep(5);
    printf("thread(%s) - End\n", lpParam);
    return 0;
    int main()
    db_env_create(&dbEnv, 0);
    dbEnv->open(dbEnv, NULL, DB_CREATE | DB_INIT_MPOOL | DB_THREAD, 0);
    db_create(&db, dbEnv, 0);
    db->open(db, NULL, "test.db", NULL, DB_BTREE, DB_CREATE, 0);
    CreateThread(NULL, 0, th_write, "A", 0, 0);
    CreateThread(NULL, 0, th_write, "B", 0, 0);
    CreateThread(NULL, 0, th_write, "B", 0, 0);
    CreateThread(NULL, 0, th_write, "C", 0, 0);
    th_write("C");
    Sleep(2000);
    }

    Here some clarification about BDB Lock and Multi threads behavior
    Question 1. Can multiple threads write to the "Simple Data Store"?
    Answer 1.
    Please Refer to http://docs.oracle.com/cd/E17076_02/html/programmer_reference/intro_products.html
    A Data Store (DS) set up
    (so not using an environment or using one, but without any of the DB_INIT_LOCK, DB_INIT_TXN, DB_INIT_LOG environment regions related flags specified
    each corresponding to the appropriate subsystem, locking, transaction, logging)
    will not guard against data corruption due to accessing the same database page and overwriting the same records, corrupting the internal structure of the database etc.
    (note that in the case of the Btree, Hash and Recno access methods we lock at the database page level, only for the Queue access method we lock at record level)
    So,
    if You want to have multiple threads in the application writing concurrently or in parallel to the same database You need to use locking (and properly handle any potential deadlocks),
    otherwise You risk corrupting the data itself or the database (its internal structure).
    Of course , If You serialize at the application level the access to the database, so that no more one threads writes to the database at a time, there will be no need for locking.
    But obviously this is likely not the behavior You want.
    Hence, You need to use either a CDS (Concurrent Data Store) or TDS (Transactional Data Store) set up.
    See the table comparing the various set ups, here: http://docs.oracle.com/cd/E17076_02/html/programmer_reference/intro_products.html
    Berkeley DB Data Store
    The Berkeley DB Data Store product is an embeddable, high-performance data store. This product supports multiple concurrent threads of control, including multiple processes and multiple threads of control within a process. However, Berkeley DB Data Store does not support locking, and hence does not guarantee correct behavior if more than one thread of control is updating the database at a time. The Berkeley DB Data Store is intended for use in read-only applications or applications which can guarantee no more than one thread of control updates the database at a time.
    Berkeley DB Concurrent Data Store
    The Berkeley DB Concurrent Data Store product adds multiple-reader, single writer capabilities to the Berkeley DB Data Store product. This product provides built-in concurrency and locking feature. Berkeley DB Concurrent Data Store is intended for applications that need support for concurrent updates to a database that is largely used for reading.
    Berkeley DB Transactional Data Store
    The Berkeley DB Transactional Data Store product adds support for transactions and database recovery. Berkeley DB Transactional Data Store is intended for applications that require industrial-strength database services, including excellent performance under high-concurrency workloads of read and write operations, the ability to commit or roll back multiple changes to the database at a single instant, and the guarantee that in the event of a catastrophic system or hardware failure, all committed database changes are preserved.
    So, clearly DS is not a solution for this case, where multiple threads need to write simultaneously to the database.
    CDS (Concurrent Data Store) provides locking features, but only for multiple-reader/single-writer scenarios. You use CDS when you specify the DB_INIT_CDB flag when opening the BDB environment: http://docs.oracle.com/cd/E17076_02/html/api_reference/C/envopen.html#envopen_DB_INIT_CDB
    TDS (Transactional Data Store) provides locking features, adds complete ACID support for transactions and offers recoverability guarantees. You use TDS when you specify the DB_INIT_TXN and DB_INIT_LOG flags when opening the environment. To have locking support, you would need to also specify the DB_INIT_LOCK flag.
    Now, since the requirement is to have multiple writers (multi-threaded writes to the database),
    then TDS would be the way to go (CDS is useful only in single-writer scenarios, when there are no needs for recoverability).
    To Summarize
    The best way to have an understanding of what set up is needed, it is to answer the following questions:
    - What is the data access scenario? Is it multiple writer threads? Will the writers access the database simultaneously?
    - Are recoverability/data durability, atomicity of operations and data isolation important for the application? http://docs.oracle.com/cd/E17076_02/html/programmer_reference/transapp_why.html
    If the answers are yes, then TDS should be used, and the environment should be opened like this:
    dbEnv->open(dbEnv, ENV_HOME, DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_INIT_LOG | DB_RECOVER | DB_THREAD, 0);
    (where ENV_HOME is the filesystem directory where the BDB environment will be created)
    Question 2. Considering the sample code below which writes to the DB using 5 threads - is there a possibility of data loss?
    Answer 2.
    Definitely yes, You can see data loss and/or data corruption.
    You can check the behavior of your testcase in the following way
    1. Run your testcase
    2.After the program exits
    run db_verify to verify the database (db_verify -o test.db).
    You will likely see db_verify complaining, unless the thread scheduler on Windows weirdly starts each thread one after the other,
    IOW no two or ore threads write to the database at the same time -- kind of serializing the writes
    Question 3. If the code will cause data loss, will adding DB_INIT_LOCK and/or DB_INIT_TXN in DBENV->open make any difference?
    Answer 3.
    In Your case the TDS should be used, and the environment should be opened like this:
    dbEnv->open(dbEnv, ENV_HOME, DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_TXN | DB_INIT_LOG | DB_RECOVER | DB_THREAD, 0);
    (where ENV_HOME is the filesystem directory where the BDB environment will be created)
    doing this You have proper deadlock handling in place and proper transaction usage
    so
    You are protected against potential data corruption/data loss.
    see http://docs.oracle.com/cd/E17076_02/html/gsg_txn/C/BerkeleyDB-Core-C-Txn.pdf
    Multi-threaded and Multi-process Applications
    DB is designed to support multi-threaded and multi-process applications, but their usage
    means you must pay careful attention to issues of concurrency. Transactions help your
    application's concurrency by providing various levels of isolation for your threads of control. In
    addition, DB provides mechanisms that allow you to detect and respond to deadlocks.
    Isolation means that database modifications made by one transaction will not normally be
    seen by readers from another transaction until the first commits its changes. Different threads
    use different transaction handles, so this mechanism is normally used to provide isolation
    between database operations performed by different threads.
    Note that DB supports different isolation levels. For example, you can configure your
    application to see uncommitted reads, which means that one transaction can see data that
    has been modified but not yet committed by another transaction. Doing this might mean
    your transaction reads data "dirtied" by another transaction, but which subsequently might
    change before that other transaction commits its changes. On the other hand, lowering your
    isolation requirements means that your application can experience improved throughput due
    to reduced lock contention.
    For more information on concurrency, on managing isolation levels, and on deadlock
    detection, see Concurrency (page 32).

  • MDSYS Schema in the Database for spatial data

    Hi
    As MDSYS Schema is required in the oracle database to hold the spatial data, The client database server has no MDSYS schema installed.
    So, when i import the mvdemo.dmp file in the database it is erroring out since there is no spatial data, Please let me know how to get the MDSYS schema in the database.
    Thank You

    Hi thanks for your response, i found this out in the oracle site, DBA ran this script for creation of MDSYS..but there was no data in some of the tables which are needed for development.
    --- COMPATIBLE init.ora parameter is set to 9.0.0.0.0 or higher
    show parameter compat
    NAME TYPE VALUE
    compatible string 10.2.0.3.0
    If you create an Oracle database using the Database Configuration Assistant (DBCA), Spatial is installed by default and you do not need to perform the installation steps described in this section.
    Steps to create the MDSYS schema and objects
    1) Connect to the database instance specifying AS SYSDBA.
    2) Create the MDSYS user with a command in the following format:
    SQL> CREATE USER MDSYS IDENTIFIED BY <password>;
    3) Grant the required privileges to the MDSYS user by running the following procedure:
    SQL> @ORACLE_HOME/md/admin/mdprivs.sql
    4) Connect as MDSYS.
    5) Install Spatial by running the following procedure:
    SQL> @ORACLE_HOME/md/admin/catmd.sql
    SQL> ALTER USER MDSYS ACCOUNT LOCK;
    So this solution dint work out.......

  • Multiple APEX instances sharing the same Oracle Home?

    Can someone tell me if it is possible to have multiple APEX installations where the database instances are sharing the same Oracle Home? If so, how would this be set up?
    So, if I have development and test running on the same home, I want a separate APEX instance for each. We can do this when different Oracle homes are used (separate httpd running) but not for the same home.
    Thanks

    Thanks - We have tried putting 2 dad entries in file, but not sure how you connect. You only specify a port number, so how does it connect that to a db???

  • Can multiple APEX application use the same parsing schema?

    Hi,
    I have 4.2 APEX thru pl/sql Gatewat, 11gr2 DB and using theme 24.
    Due to the APEX limitation for version control I would be splitting 1 big ERP applications into 24 different APEX applications and each application would be considered as 1 unit for version control.
    I have about 800 tables and I would assume that all of these would need to be stored in 1 schema since a lot of these table are linked thru FK.
    Can I have multiple APEX APPS using the same parsing schema? or is there a better way to do this?
    Thanks in advance!

    Hi,
    Multiple applications can have same (one) parsing schema.
    You can test that on e.g. apex.oracle.com, where normally you have only one schema and you create multiple applications and all use that same schema.
    Regards,
    Jari
    My Blog: http://dbswh.webhop.net/htmldb/f?p=BLOG:HOME:0
    Twitter: http://www.twitter.com/jariolai
    Edited by: jarola on Jan 28, 2013 7:15 PM

  • How to permit multiple workspaces to access the same schema?

    Hello,
    When creating a new workspace (version 3.2), I am getting the following warnings:
    "Warning: The requested schema already exists. Warning: The requested schema is already assigned to one or more workspaces. Please ensure that giving multiple workspaces access to the same schema is permitted by the security policies at your site before approving this request."
    How do I "ensure that giving multiple workspaces access to the same schema is permitted"?
    What are the advantages/disadvantages of doing so?
    Thanks,
    Gabor

    The correct answer to it would have been: I use manual provisioning.I didn't ask a detailed enough question. What I am wondering is how you are set up to to workspace provisioning at your site. In apex_admin, if you navigate to Home>Manage Service>Instance Settings there is a radio group like:
    Provisioning Status:      
    0 Manual - An administrator manually creates each workspace
    0 Request - Link displayed on login page enabling users to request workspaces
    0 Email Verification - Workspace created after email address is verified by the user
    The help text for this is:
    Provisioning Status:      
    Determines how the process of provisioning (or creating) a workspace works for your development instance. Options include:
        * Manual - An Application Express administrator manually creates new workspaces and notifies the Workspace administrator of the login information.
        * Request - Users request workspaces directly in a self-service fashion. Selecting this option displays a link on the Login page enabling users to request a workspace. When a user requests a workspace, each request is submitted to a queue for approval.
        * Email Verification - Works similar to Request except each user receives an initial email containing a link. Clicking this link validates the user's email address before the request is processed.
    Note: To enable users to request a workspace using a link on the Login page, you must choose Request or Email Verification. If you select Manual, no link appears on the login page.How is yours set up?
    As to the first original question (How do I "ensure that giving multiple workspaces access to the same schema is permitted"?), I still do not know.Whether it is permitted or not is a decision made by the apex site administrator who approves/declines workspace requests. Whether it ought to be permitted is a different question and is really same as your second question which involves issues you said you are now starting to understand better. So I think we've covered your original questions. If not, please elaborate.
    As to the last subject (How did the hidden workspace get created and how do I get rid of id? What happens if I don't?), this happened at work, so I can only tell you more on Monday (luckily...). Until then, here is what I remember. The work space was created, which is proven by the fact that when I want to create a new workspace with the same name, I am getting an error, which says that a workspace with that name already exists. However, I cannot delete the workspace, since it show up nowhere.No hidden workspace got created. I'm pretty sure the request is just in the queue waiting to be approved/declined. In the meantime a workspace with the same name cannot be requested.
    By the way, how do you quote some text here? I just put a '>' in the first character position before the text to quote. You can also use the " rich text icon above the text pane.
    Scott

  • How to map multiple output values to the output schema in biztalk mapper?

    Hi,
    In my biztalk mapper, I am using a "database lookup" functoid which is linked to a "Value Extractor" functoid. A source schema field is linked to the database lookup functoid which is linked to a "Value Extractor" functoid
    which is linked to the destination schema field. After passing the required parameter values in the database lookup functoid (lookup value, conn string, table, column name), I know that the result set may get multiple rows which are transferred to the "value
    extractor" functoid.
    Now what I want is to create a record in destination schema for each row in the result set. My current mapping is as below:
    1) Source record > looping functoid > destination record
    2) Source record field > Database functoid > Value Extractor functoid > dest record field
    but this mapping is giving me only the first value in result set.
    Please help me in this so that my map creates a destination record for each value in the result set.
    e.g. if query [select * from employees where surname='Brown'] returns five records, then I would like five records in the destination schema.
    Thanks
    manibest

    Hi Muhammad Ehsan,
    Thank you for the useful suggestion. however, I have only one difficulty in building your suggested solution. in my query  (select
    * from employees where surname='Brown'), the value of surname is coming from the source schema field which could be different in each source schema record field.
    lets say that source schema instance has 3 records in it as below:
    <Records>
    <Record><Surname>Brown<Surname></Record>
    <Record><Surname>Atkinson<Surname></Record>
    <Record><Surname>White<Surname></Record>
    </Records>
    For each of above records the database query should run with the relevant surname value. if database has 5 records for "Brown", 3 records for "Atkinson" and 1 record for "White" then the destination schema should create (5+3+1) = 9 records in
    total.
    To create a destination canonical schema that works fine, I have to somehow pass this surname value from source schema as parameter so that it uses this value to poll the database and get records. Is there a way I can pass this surname value as parameter
    to the destination canonical schema? Thank you so much for the help.
    manibest

  • Browsing multiple schemas in SQL Developer

    Hello,
    I have been using Toad before and I just started using SQL Developer. In Toad we have the abillity to browse through multiple schemas by selecting the appropriate schema from the drop down list. However when I login via SQL Developer it seems I get to browse only the schema associated with my username even though I can run queries against tables that reside in other schemas. How do I browse through multiple schemas via SQL Developer? I am using SQL Developer v1.2.1.
    Regards.

    Hi,
    Look for "Other Users".
    K

  • JAXR.UDDI.027: Multiple Schemes matching name pattern

    What does that error mean?
    I'm trying to browse a UDDI repository using JAXR and I when I execute this line:
    ClassificationScheme scheme = bqm.findClassificationSchemeByName(null, "naics");
    I get the error identified in the subject.
    I think the problem is in the UDDI repository because when I execute the same code on http://uddi.ibm.com/testregistry/inquiryapi the error does not occur.
    My problem is, I don't even know what the error means in order to fix the repository. Can someone point me towards an explanation?

    Studying Monson-Haefel J2EE Webservices, I encountered the same issue multiple times with the IBM test UDDI. The message is accurate: there are multiple schemes with the exact same name in the IBM test UDDI. You can verify this with the following code:
               * ClassificationScheme uddi_types = queryMngr
               * .findClassificationSchemeByName(null, "uddi-org:types"); gives
               * Exception: JAXR.UDDI.027: Multiple Schemes matching name pattern
              Collection schemeCollection = queryClassificationSchemesByName(
                        queryMngr, "uddi-org:types");
              printSchemeCollection(schemeCollection);
              ClassificationScheme uddi_types = (ClassificationScheme) schemeCollection
                        .iterator().next();
         private static Collection queryClassificationSchemesByName(
                   BusinessQueryManager queryMngr, String schemeName)
                   throws JAXRException {
              Collection schemeCollection = new HashSet();
              schemeCollection.add(schemeName);
              BulkResponse bulkResponse = queryMngr.findClassificationSchemes(null,
                        schemeCollection, null, null);
              return bulkResponse.getCollection();
         private static void printSchemeCollection(Collection schemCollection)
                   throws JAXRException {
              Iterator schemaIterator = schemCollection.iterator();
              while (schemaIterator.hasNext()) {
                   ClassificationScheme scheme = (ClassificationScheme) schemaIterator
                             .next();
                   System.out.println(scheme.getName().getValue() + ", Key: "
                             + scheme.getKey().getId());
         }My latest result using these functions for the name uddi-org:types is
    uddi-org:types, Key: UUID:C1ACF26D-9672-4404-9D70-39B756E62AB4
    uddi-org:types, Key: UUID:3AE29440-DF6B-11D5-9094-0004AC49CC1E
    uddi-org:types, Key: UUID:1C091CC0-A439-11D8-83B1-000629DC0A53

  • How to use one application with multiple schema without copying application?

    Hi,
    Previously we are using oracle forms and by that we can manage by using a set of folders containing fmx and use different schema/database for different customers. so the source code comes from one individual file but used for different database users.
    is it possible to do this without copying application in apex?
    reason is because if applications are copied for each customer, and in a situation where a page has a bug, the developer must correct multiple pages across all the application. This would not be appropriate to manage.
    could this be done in apex? or is there any other approach?

    Hi,
    An application is tied to its parsing schema, so it is not possible to have one code base which you can then point to different schemas. I have seen some threads relating to dynamically setting the parsing schema, but I don't think it has worked to well, and would not be a supported configuration by Oracle.
    The normal way to do this is to have one schema and for each entity where it is logical you will have an extra key which is the customer id. I mention where it is logical, because not every entity needs its own data defined by customer. Some data will be common across all customers, such as lookup data and some entities will comprise child entities by which the data separation will be implied by the parent. You can then use Oracle's Virtual Private Database feature to implement a seperate view of the data through the application, based most likely on the customer who is logged on.
    Hope this helps.
    Regards
    Andre

  • Multiple Schemas under one user account with XE 10g

    Hi,
    I am using (learning) XE 10g. I would like to know if it is possible to have multiple schemas under one user account and have the schemas logically separated. As of right now, I have three schemas that I am working with, each one under a different user account. This is inconvenient, because I have to logout of one user account and login to another user account simply to be able to work with another schema.
    Thanks

    It isn't possible to have multiple schemas under one database user account. It is of course possible to grant rights to other database users, and or roles, in order to allow access to the tables/data from other accounts. In Oracle there is a one-one mapping between schema and user.
    Niall Litchfield
    http://www.orawin.info/

  • One application with Multiple schemas- common application frame work

    Hi All,
    I am trying setup a common application frame work in apex. Please help me.
    How to achieve this.
    Creation of one application attached to different schemas at run time. So that my application maintaince is going to be easy instated of creating copies of same application.
    More details:
    1. I have one application with 100 pages pointing to a schema dev_common in one workspace APP_COMMON. I have 50 schemas with same structure of dev_common schema with different set of data ( because of large amount of data).
    So I want to create one application attached to different schemas.
    2. And another thing is I have 100 users, the user can work on 1 or multiple schemas ( I mean same application with different schemas attached)
    Any help much appreciated.
    Thanks,

    Thank you for the reply.
    >> b) I think you have to give access rights for the dev_common and app_common to all users.
    Dev_common schema is a kind of placeholder. I have 50 schemas same as dev_common because of different business requirements but the front end is same for all 50 schemas. How can we create one application used for 50 schemas instead of creating 50 applications and 50 workspaces.
    Please help me.

  • Cachestore for distributed scheme not getting invoked to "load" the entries

    Hi,
    We have a distributed scheme with CacheStore as below,
    SERVER PART
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
    <caching-scheme-mapping>          
         <cache-mapping>
                   <cache-name>ReferenceData-Cache</cache-name>
                   <scheme-name>RefData_Distributed_Scheme</scheme-name>
         </cache-mapping>
         <!--
         FEW OTHER DISTRIBUTED CACHE
         -- >
    </caching-scheme-mapping>
    <caching-schemes>
    <!-- definition of other cache schemes including one proxy scheme -->
    <distributed-scheme>
         <scheme-name>RefData_Distributed_Scheme</scheme-name>
         <service-name>RefData_Distributed_Service</service-name>     
         <serializer>
         <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>                    
         <init-params>
              <init-param>
                   <param-type>string</param-type>
                   <param-value>TradeEngine-POF.xml</param-value>
              </init-param>
         </init-params>     
         </serializer>                         
         <backing-map-scheme>
         <read-write-backing-map-scheme>
         <internal-cache-scheme>
         <local-scheme>
         <expiry-delay>1m</expiry-delay>
         </local-scheme>
         </internal-cache-scheme>
         <cachestore-scheme>
         <class-scheme>
         <class-name>com.csfb.fid.gtb.referencedatacache.cachestore.RefDataCacheStore</class-name>     
         <init-params>
                        <init-param>
                             <param-type>string</param-type>
                             <param-value>{cache-name}</param-value>
                        </init-param>
                        </init-params>                    
         </class-scheme>
         </cachestore-scheme>
         <read-only>true</read-only>
         <refresh-ahead-factor>.5</refresh-ahead-factor>
         </read-write-backing-map-scheme>
         </backing-map-scheme>
         <backup-count>1</backup-count>
         <autostart system-property="tangosol.coherence.distributed-service.enabled">false</autostart>           
    </distributed-scheme>
    </caching-schemes>
    </cache-config>
    The above configuration is used on tcp extend proxy node with localstorage=false
    There is similar configuration on storage node,
    - with no proxy,
    - with same "ReferenceData-Cache" (autostart=true)
    - and localstorage=true.
    Following is my CacheStore implementation.
    NOTE: This Cachestore is only for loading the cache entry from cache store.i.e. from some excel file in my case, i.e. only load() and loadAll() methods.
    NO store() or storeAll().
    package com.csfb.fid.gtb.referencedatacache.cachestore;
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import com.creditsuisse.fid.gtb.common.FileLogger;
    import com.csfb.fid.gtb.referencedatacache.Currency;
    import com.csfb.fid.gtb.utils.refdada.DBDetails;
    import com.csfb.fid.gtb.utils.refdada.ReferenceDataReaderUtility;
    import com.tangosol.net.NamedCache;
    import com.tangosol.net.cache.CacheStore;
    public class RefDataCacheStore implements CacheStore
         private DBDetails dbDetails = null;
         private ReferenceDataReaderUtility utils = null;
    public RefDataCacheStore(String cacheName)
         System.out.println("RefDataCacheStore constructor..");
         //dbDetails = DBDetails.getInstance();
         utils = new ReferenceDataReaderUtility();
    public Object load(Object key)
         return utils.readCurrency(key);
    public void store(Object oKey, Object oValue)
    public void erase(Object oKey)
         public void eraseAll(Collection colKeys)
         public Map loadAll(Collection colKeys)
              System.out.println("RefDataCacheStore loadAll..");
              Map<String, Object> obejctMap = new HashMap<String, Object>();
              List<Object> list = utils.readAllCurrencies();
              Iterator<Object> listItr = list.iterator(colKeys);
              while(listItr.hasNext()){
                   Object obj = listItr.next();
                   if(obj != null){
                        String key = "CU-"+((Currency)obj).getId();
                        obejctMap.put(key, (Currency)obj);
              return obejctMap;
         public void storeAll(Map mapEntries)
    CLIENT PART
    I connect to this cache using extend client with follwing config file,
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
         <caching-scheme-mapping>
              <cache-mapping>
                        <cache-name>ReferenceData-Cache</cache-name>
                        <scheme-name>coherence-remote-scheme</scheme-name>
              </cache-mapping>     
         </caching-scheme-mapping>
         <caching-schemes>
              <remote-cache-scheme>
                   <scheme-name>coherence-remote-scheme</scheme-name>
                   <initiator-config>
                        <serializer>
                             <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>                         
                             <init-params>
                                  <init-param>
                                       <param-type>string</param-type>
                                       <param-value>TradeEngine-POF.xml</param-value>
                                  </init-param>
                             </init-params>                         
                        </serializer>
                        <tcp-initiator>
                             <remote-addresses>                              
                                  <socket-address>
                                       <address>169.39.30.182</address>
                                       <port>9001</port>
                                  </socket-address>
                             </remote-addresses>
                        <connect-timeout>10s</connect-timeout>
                        </tcp-initiator>
                        <outgoing-message-handler>
                             <request-timeout>3000s</request-timeout>
                        </outgoing-message-handler>                                   
                   </initiator-config>
              </remote-cache-scheme>
         </caching-schemes>
    </cache-config>
    PROBLEM
    From my test case (with extend client file as configuration), when i try to connect to get cache handle of this cache, as
    refDataCache = CacheFactory.getCache("ReferenceData-Cache");
    I get following error on server side,
    2010-05-12 18:28:25.229/1687.847 Oracle Coherence GE 3.5.3/465 <Error> (thread=DistributedCache, member=2): BackingMapManager com.tangosol.net.DefaultConfigurableCacheFactory$Manager: failed to instantiate a cache: ReferenceData-Cache
    2010-05-12 18:28:25.229/1687.847 Oracle Coherence GE 3.5.3/465 <Error> (thread=DistributedCache, member=2):
    java.lang.IllegalArgumentException: No scheme for cache: "ReferenceData-Cache"
         at com.tangosol.net.DefaultConfigurableCacheFactory.findSchemeMapping(DefaultConfigurableCacheFactory.java:507)
         at com.tangosol.net.DefaultConfigurableCacheFactory$Manager.instantiateBackingMap(DefaultConfigurableCacheFactory.java:3486)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.instantiateResourceMap(DistributedCache.CDB:22)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.setCacheName(DistributedCache.CDB:27)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ConfigListener.entryInserted(DistributedCache.CDB:15)
         at com.tangosol.util.MapEvent.dispatch(MapEvent.java:266)
         at com.tangosol.util.MapEvent.dispatch(MapEvent.java:226)
         at com.tangosol.util.MapListenerSupport.fireEvent(MapListenerSupport.java:556)
         at com.tangosol.util.ObservableHashMap.dispatchEvent(ObservableHashMap.java:229)
         at com.tangosol.util.ObservableHashMap$Entry.onAdd(ObservableHashMap.java:270)
         at com.tangosol.util.SafeHashMap.put(SafeHashMap.java:244)
         at com.tangosol.coherence.component.util.collections.WrapperMap.put(WrapperMap.CDB:1)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid$ServiceConfigMap.put(Grid.CDB:31)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$StorageIdRequest.onReceived(DistributedCache.CDB:45)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:136)
         at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
         at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
         at java.lang.Thread.run(Thread.java:619)
    However, with this error also i am able to do normal put operation and get operation against those put.
    But when i try to get the cache entry which doesnt exists in cache, like
    refDataCache.get("CU-1");
    I expected that call would go to RefDataCacheStore.load method. But in my case i dont see it happening.
    Also i debugged my jvms in debug mode and i put a class load breakpoint for RefDataCacheStore, but even that is not hit. I have RefDataCacheStore in my server classpath.
    Hope to see reply on this soon.
    Thanks
    Manish

    Hi Manish,
    <<previous advice deleted>>
    user13113666 wrote:
    Hi,
    I have my server picking up the correct configuration files for "ReferenceData-Cache". In my local jconsole i could see that the service named "RefData_Distributed_Service" is started under service mbean. Also i am able to perform a put and get on "ReferenceData-Cache", i could even see StorageManager mbean showing my inserted entries for "RefData_Distributed_Service".With the local jconsole, are you monitoring the server/proxy node, or the TCP*Extend cleint node?
    The client can have the service with the server still not having it.
    Could you please post the startup log for the storage node on the server...
    Best regards,
    Robert
    Edited by: robvarga on May 17, 2010 12:33 PM

  • Fatal Error: The schema version of the database is from a newer version of WSUS

    Hello,
    CM2012 R2 RTM on Server2012 R2 RTM with SQL2012 SP1
    installed SQL, WSUS and then CM.
    When finished adding WSUS, there was a post installation message but I skipped it and continued to CM installation, as suggested on some blogs. WSUS in CM seems to be a real mystery... and there are multiple workarounds and suggestions. 
    Now my CM is ready to GO. Configured discovery, boundaries. All components appear green OK. My hand shaked when I click on post Deployment message related to WSUS in server manager. So I clicked it. And received: Post Deployment Failed. There is
    a path to log file. The error:
    Fatal Error: The schema version of the database is from a newer version of WSUS
    than currently installed.  You must either patch your WSUS server to at least
    that version or drop the database. WSUS was installed with SQL DB.
    What do you suggest?
    Thanks.
    Please see full log:
    2013-12-01 06:58:24  Postinstall started
    2013-12-01 06:58:24  Detected role services: Api, Database, UI, Services
    2013-12-01 06:58:24  Start: LoadSettingsFromXml
    2013-12-01 06:58:24  Start: GetConfigValue with filename=UpdateServices-Services.xml item=ContentLocal
    2013-12-01 06:58:24  Value is true
    2013-12-01 06:58:24  End: GetConfigValue
    2013-12-01 06:58:24  Start: GetConfigValue with filename=UpdateServices-Services.xml item=ContentDirectory
    2013-12-01 06:58:24  Value is D:\sources\wsus
    2013-12-01 06:58:24  End: GetConfigValue
    2013-12-01 06:58:24  Content directory is D:\sources\wsus
    2013-12-01 06:58:24  Start: GetConfigValue with filename=UpdateServices-DB.xml item=InstanceName
    2013-12-01 06:58:24  Value is confman
    2013-12-01 06:58:24  End: GetConfigValue
    2013-12-01 06:58:24  SQL instance name is confman
    2013-12-01 06:58:24  End: LoadSettingsFromXml
    Post install is starting
    2013-12-01 06:58:24  Start: Run
    2013-12-01 06:58:24  Fetching WsusAdministratorsSid from registry store
    2013-12-01 06:58:24  Value is S-1-5-21-1033354796-2088831985-1429053453-1003
    2013-12-01 06:58:24  Fetching WsusReportersSid from registry store
    2013-12-01 06:58:24  Value is S-1-5-21-1033354796-2088831985-1429053453-1004
    2013-12-01 06:58:25  Configuring content directory...
    2013-12-01 06:58:25  Configuring groups...
    2013-12-01 06:58:26  Starting group configuration for WSUS Administrators...
    2013-12-01 06:58:26  Found group in regsitry, attempting to use it...
    2013-12-01 06:58:28  Writing group to registry...
    2013-12-01 06:58:28  Finished group creation
    2013-12-01 06:58:28  Starting group configuration for WSUS Reporters...
    2013-12-01 06:58:28  Found group in regsitry, attempting to use it...
    2013-12-01 06:58:28  Writing group to registry...
    2013-12-01 06:58:28  Finished group creation
    2013-12-01 06:58:28  Configuring permissions...
    2013-12-01 06:58:28  Fetching content directory...
    2013-12-01 06:58:28  Fetching ContentDir from registry store
    2013-12-01 06:58:28  Value is D:\sources\wsus
    2013-12-01 06:58:28  Fetching group SIDs...
    2013-12-01 06:58:28  Fetching WsusAdministratorsSid from registry store
    2013-12-01 06:58:28  Value is S-1-5-21-1033354796-2088831985-1429053453-1003
    2013-12-01 06:58:28  Fetching WsusReportersSid from registry store
    2013-12-01 06:58:28  Value is S-1-5-21-1033354796-2088831985-1429053453-1004
    2013-12-01 06:58:28  Creating group principals...
    2013-12-01 06:58:28  Granting directory permissions...
    2013-12-01 06:58:28  Granting permissions on content directory...
    2013-12-01 06:58:29  Granting registry permissions...
    2013-12-01 06:58:29  Granting registry permissions...
    2013-12-01 06:58:29  Granting registry permissions...
    2013-12-01 06:58:29  Configuring shares...
    2013-12-01 06:58:29  Configuring network shares...
    2013-12-01 06:58:29  Fetching content directory...
    2013-12-01 06:58:29  Fetching ContentDir from registry store
    2013-12-01 06:58:29  Value is D:\sources\wsus
    2013-12-01 06:58:29  Fetching WSUS admin SID...
    2013-12-01 06:58:29  Fetching WsusAdministratorsSid from registry store
    2013-12-01 06:58:29  Value is S-1-5-21-1033354796-2088831985-1429053453-1003
    2013-12-01 06:58:29  Content directory is local, creating content shares...
    2013-12-01 06:58:29  Creating share "UpdateServicesPackages" with path "D:\sources\wsus\UpdateServicesPackages" and description "A network share to be used by client systems for collecting all software packages (usually applications)
    published on this WSUS system."
    2013-12-01 06:58:29  Deleting existing share...
    2013-12-01 06:58:29  Creating share...
    2013-12-01 06:58:29  Share successfully created
    2013-12-01 06:58:29  Creating share "WsusContent" with path "D:\sources\wsus\WsusContent" and description "A network share to be used by Local Publishing to place published content on this WSUS system."
    2013-12-01 06:58:29  Deleting existing share...
    2013-12-01 06:58:29  Creating share...
    2013-12-01 06:58:29  Share successfully created
    2013-12-01 06:58:29  Creating share "WSUSTemp" with path "C:\Program Files\Update Services\LogFiles\WSUSTemp" and description "A network share used by Local Publishing from a Remote WSUS Console Instance."
    2013-12-01 06:58:29  Deleting existing share...
    2013-12-01 06:58:29  Creating share...
    2013-12-01 06:58:29  Share successfully created
    2013-12-01 06:58:29  Finished creating content shares
    2013-12-01 06:58:29  Stopping service WSUSService
    2013-12-01 06:58:29  Stopping service W3SVC
    2013-12-01 06:58:32  Configuring database...
    2013-12-01 06:58:32  Configuring the database...
    2013-12-01 06:58:32  Establishing DB connection...
    2013-12-01 06:58:32  Checking to see if database exists...
    2013-12-01 06:58:32  Database exists
    2013-12-01 06:58:32  Switching database to single user mode...
    2013-12-01 06:58:32  Loading install type query...
    2013-12-01 06:58:32  DECLARE @currentDBVersion       int
    DECLARE @scriptMajorVersion     int = (9600)
    DECLARE @scriptMinorVersion     int = (16384)
    DECLARE @databaseMajorVersion   int
    DECLARE @databaseMinorVersion   int
    DECLARE @databaseBuildNumber    nvarchar(10)
    IF NOT EXISTS(SELECT * FROM sys.databases WHERE name='SUSDB')
    BEGIN
        SELECT 1
    END
    ELSE
    BEGIN
        SET @currentDBVersion = (SELECT SchemaVersion FROM SUSDB.dbo.tbSchemaVersion WHERE ComponentName = 'CoreDB')
        SET @databaseBuildNumber = (SELECT BuildNumber FROM SUSDB.dbo.tbSchemaVersion WHERE ComponentName = 'CoreDB')
        DECLARE @delimiterPosition INT = CHARINDEX('.', @databaseBuildNumber)
        IF (@delimiterPosition = 0)
        BEGIN
            RAISERROR('Invalid schema version number', 16, 1) with nowait
            return
        END
        SET @databaseMajorVersion = SUBSTRING(@databaseBuildNumber, 1, @delimiterPosition - 1)
        SET @databaseMinorVersion = SUBSTRING(@databaseBuildNumber, (@delimiterPosition + 1), (10 - @delimiterPosition))
        IF @currentDBVersion < 926
        BEGIN
            SELECT 3
        END
        ELSE
        BEGIN
            IF (@scriptMajorVersion > @databaseMajorVersion OR
               (@scriptMajorVersion = @databaseMajorVersion AND @scriptMinorVersion > @databaseMinorVersion))
            BEGIN
                SELECT 2
            END
            ELSE IF (@scriptMajorVersion = @databaseMajorVersion AND
                     @scriptMinorVersion = @databaseMinorVersion)
            BEGIN
                SELECT 0
            END
            ELSE
            BEGIN
                SELECT 4
            END
        END
    END
    2013-12-01 06:58:33  Install type is: UnsupportedFuture
    2013-12-01 06:58:33  DB is a higher version than the config scripts
    2013-12-01 06:58:33  Swtching DB to multi-user mode......
    2013-12-01 06:58:33  Finished setting multi-user mode
    2013-12-01 06:58:33  Microsoft.UpdateServices.Administration.CommandException: The schema version of the database is from a newer version of WSUS
    than currently installed.  You must either patch your WSUS server to at least
    that version or drop the database.
       at Microsoft.UpdateServices.Administration.ConfigureDB.CheckForUnsupportedVersion(DBInstallType installType, Boolean dbExists)
       at Microsoft.UpdateServices.Administration.ConfigureDB.ConnectToDB()
       at Microsoft.UpdateServices.Administration.ConfigureDB.Configure()
       at Microsoft.UpdateServices.Administration.PostInstall.Run()
       at Microsoft.UpdateServices.Administration.PostInstall.Execute(String[] arguments)
    Fatal Error: The schema version of the database is from a newer version of WSUS
    than currently installed.  You must either patch your WSUS server to at least
    that version or drop the database.
    "When you hit a wrong note it's the next note that makes it good or bad". Miles Davis

    Gerry,
    1. I uninstalled WSUS, removed DB, restarted. And reinstall WSUS again. This time MS Management Console of WSUS could not be started. I did it after WSUS was added following your blog pix.
    I checked c:\program files\update services, there were couple of missing directories by comparison what was in case when I installed WSUS after SQL but before CM: Tools, Shema, and another A.. something. I saw this issue on NOOB. And people copied these
    directories from previous installation.
    How we can explain this behavior on RTM version?
    Then I uninstalled it again. And give another try... Here I found another interesting thing. Please compare your slide number 5 from your link and attached one. You can see that on Add Roles and Features Wizard page are missing items. Some
    of them were found in next screen of my installation (I am using RTM server) but one API and Power shell  cmdlets were not listed on final screen before start install. May be those are note important...
    I reinstall again... and the MS Management Console fails again. Exactly the same thing that I saw during 2 weeks of trying to make works. Don't see what I can screw up here.
    What about missing directories after reinstalling WSUS. Is that normal? And in IIS there is no WSUS.
    I don't see here any difficult thing, just simple wizard... But it not works. Second CM server.
    What I do wrong here to create a failure of MMC. There is any blog with examples of RTM Server 2012 and CM RTM. All stuff is 2012. So kind of guesses and no precise thing to do...
    Sorry for my cry :). The only solution is to call MS and pay $250 for SUCH a trivial thing that not works.
    Any help? Please see pics. Can you confirm that you have the same or more directories in Update Services
    Thanks.
    API and Power Shell Cmdlets feature missed if compare with yours slides.
    "When you hit a wrong note it's the next note that makes it good or bad". Miles Davis

Maybe you are looking for

  • Photo Booth not working after upgrading to 10.6.2

    After upgrading my 24" iMac to 10.6.2, Photo Booth does not work. The green light is ON but the Photo Booth window is just black. Built in isight is working with iChat. The same happened after i upgraded my MBA.

  • Delta load to ODS taking too much time

    Hi, I have one delta load running everyday to ODS .its getting data from R3 & its taking too 3-4 hours daily.due to this data is not getting updated in cube on time and there arises issue with data in Reports Please let me know what are possible solu

  • IMac G5 Maintenance

    Hi eveyone, I just got first computer, an iMac G5 about 3 months ago, and I was wondering if there is anything I should be doing to maintain my Mac. (Like a defragment, disc clean-up, etc etc) Thanks!

  • How to load data into html:select using Struts ?

    How to load data into <html:select> using Struts ? I can not load an array or collection (static or dynamic data) into drop down list control by <html:select /> Struts. please use: <html:select > <html:options /> </html:select > Please help me. pleas

  • Can not complete downloads or updates on any apps. Just says "waiting" for days now

    Can not download or update apps.  For days now it just says "waiting". Any suggestions?