Multiple databases in one Environment

I am tryiing to figure out the best way to implement my JE environment. My use case requires that I be able to use UNIX tools like 'cp' to move JE databases from place of generation (development) to place of consumption (production). Moreover, each JE database stores very different data and has different refresh cycles (ex., one of them may be refreshed every week, another may be refreshed once a month, etc.)
My dilemma is:
1)- Should I use one env w/multiple databases, or,
2)- A separate env for each database?
With (1), I can't see a way of selectively updating one of the databases and copying over the changed JE log files to production servers (for read-only access at runtime). Every time I want to update one database, I'm thinking I'll have to pull down all JE log files, update the DB and push out all JE log files to production servers.
(2) seems to go against the guidelines I've seen in this forum, viz., one env per process is more efficient.
Thoughts/experiences/comments are welcome.
Thanks

Hi,
What Charles suggested is the best approach if you need to avoid the performance issues with having multiple environments in a single process (you mention that you've read about them elsewhere on the forum). Please also be aware that we're working to solve those problems in an upcoming release. So if you prefer, you can implement your application using multiple environments now, and expect that the performance issues will be resolved later. This might make sense if your deployment will be small at first, and performance will not be a big issue right away.
Mark

Similar Messages

  • Multiple databases in one file: a small snafu

    Hello everyone,
    Opening multiple databases in a single file is an administrative convenience. It is well explained in the manual (see db/docs/ref/am/opensub.html). Normally, there is little difference between databases in their own physical files or grouped together in a single physical file. There is one small sentence in the manual that says the following:
    (begin fragment)
    However, since multiple databases in a file exist in a single physical file, opening two databases in the same file simultaneously requires locking be enabled unless all of the handles are read-only. As the locks for the two databases can only conflict during page allocation, this additional locking is unlikely to affect performance.
    (end fragment).
    I didn't pay attention to it, except the "unlikely to affect performance" part which told me that I wasn't to worry about it. The sun was shining. Life was good.
    And I was wrong. It was one of those "epic bug quests" I had to embark on, only to realise that it may not be a BDB bug, but my carelessnes. Nevertheless, I'm left with an uneasy feeling which I would like to explain here.
    Consider BDB configured as a concurrent data store.
    There are 2 threads. The first thread has the following pseudocode:
    cursor1 = db1->cursor(...)
    while(cursor1->c_get(... DB_NEXT...))
    // 1
    cursor2 = db2->cursor(...)
    while(cursor2->c_get(... DB_NEXT...))
    The second thread does only the following:
    db3->put(...)
    db1, db2 and db3 are all distinct databases. All cursors are read-only (the cursor implicitly used in db3->put is of course a write cursor).
    While the first thread is running, the second thread executes db3->put(...) at "//1".
    Question: what happens?
    Answer 1: if db1, db2 and db3 reside in different physical files, nothing special happens. Everything proceeds as it should.
    Answer 2: if db1, db2 and db3 reside in the same physical file, both threads block "sometimes".
    The "sometimes" used here means "when the put operation in thread 2 needs to allocate a new page".
    Reading the BDB source code is extraordinarily difficult (which says more about my limitations than about the clarity of the code) but here is what happens, as far as I could determine:
    (thread 1) cursor1 needs and acquires a read lock on db1
    (thread 2) db3->put needs a write lock on db2 to allocate a new page. Since db2 is in the same physical file as db1 and thread 1 already has a read lock, thread 2 waits until the read lock is released. Thread 2 blocks.
    (thread 1) cursor 2 needs a read lock on db3. For some reason, BDB detects that the another thread is waiting for a write lock on the physical file, and thread 1 blocks.
    Both threads block waiting on each other to complete.
    I suppose the system is the way it is to avoid starvation, but there you have it: be careful when you're lumping together multiple databases in one file!
    Anyone who can clarify or confirm this is welcome.
    Vincent

    I had experienced a similar problem. I run multiple process. Each one of them starts a transaction that does db->put and db->pget to its own database (which also has a secondary index). When each database is in a separate physical file there is no problem but when I put all databases in a single file the processes start to dead-lock.
    The following combination of options solved the deadlocking problem:
    - use serializable isolation level instead of snapshot, i.e. do not pass DB_TXN_SNAPSHOT to txn_begin
    - do not pass the DB_NO_WAIT option to txn_begin
    - use Btree instead of a Hash
    Hope that helps.

  • Multiple databases in one single RAC cluster

    Hi, I would like to know if one can have multiple databases running on a single RAC cluster, we have several databases in our shop and would like to consolidate all of them into a single 3-4 node RAC cluster running databases with 10.2 and 11.1 versions.
    I am newbie to RAC and would like to get some clarification if anyone has done this, google search comes up with few hits on this topic, so obviously this is not doable.
    In our case we have one database supporting critical applications and few other not so critical but are used very extensively between 9-5, so what is the use of RAC if I cannot consolidate all my databases into one cluster, or if I need a separate cluster for each of these critical databases?
    I have been all the Oracle docs that keep repeating one database multiple instances and one instance-one machine-one node, they don't even advise running multiple instances on a single node?.
    I appreciate any insight.
    Thanks.

    ora-sql-dba wrote:
    Can you give more details on how you would setup multiple databases running different versions on a single RAC cluster, I am yet to find any documentation that supports or even elaborates on this topic.You can configure a cluster with 12 nodes. Then, using dbca, configure a dev instance for nodes 1 and 2, a prod1 instance for nodes 3 to 6 and a prod2 instance for nodes 7 to 12.
    You also can configure each of these instances for all 12 nodes. And use it on all 12 nodes.
    Or, after configuring it for all 12 nodes, you can start the dev instance on nodes 1 and 2, prod1 on 3 - 6 and prod2 on the remaining nodes. If dev needs more power, you can for example shutdown prod2 on node 12 and start another dev instance there.
    My issue is with the 2nd option - running more than one instance on the same node or server. Why? Each instance has a basic resource footprint ito shared memory needed, system processes required (like db writer, log writer, sys monitor) etc. It does not make sense to pay for that same footprint more than once on a server. Each time you do, you need to reduce the amount of resources that can be used by each instance.
    So instead of using (for example) 60% of that server's memory as the SGA for a single instance, if you use 2 instances on that server you now have to reduce the SGA of each to 30% of system memory. Effectively crippling those instances by 50% - they will now have smaller buffer caches, require more physical I/O and be more limited in what they can do.
    So unless you have very sound technical reasons for running more than one instance on a server (RAC or non-RAC), do not.

  • Multiple Databases in one Business Area?

    Can I put multiple databases into the same Business Area?
    The crux of the problem is as follows: I am migrating data from one database to another. There will be a period of dual running, whilst the products are migrated.
    I want to be able to write reports that compare the data between the two databases, and show me the discrepancies.
    Oh one of the databases is not Oracle, so using a db link is not an option.
    null

    Can I put multiple databases into the same Business Area?
    The crux of the problem is as follows: I am migrating data from one database to another. There will be a period of dual running, whilst the products are migrated.
    I want to be able to write reports that compare the data between the two databases, and show me the discrepancies.
    Oh one of the databases is not Oracle, so using a db link is not an option.
    null

  • Need help to create a login for maintenance of a single database in a multiple databases, single instance environment

    Hi,
    We are in the process of consolidating several databases on a single instance of SQL Server 2012.
    Databases are developed by outside vendors; they have to be able to install and support their databases but they shouldn't be able to do any thing with the other databases.
    When I tried to migrate the first database, the vendor told me that on the former server he used the sa account in some batch.
    On a previous thread
    https://social.technet.microsoft.com/Forums/sqlserver/en-US/dc1f802f-d8de-4e2b-87e5-ccb289593fb7/security-for-multiple-applications-on-a-single-sql-server-2012-instance?forum=sqlsecurity
    it was suggested to me that I create a login for each vendor and that this login should map a user in their respective databases.
    To test, I simulated the process in a test database:
    1 - I create the login and I scripted the command:
    USE [master]
    GO
    /* For security reasons the login is created disabled and with a random password. */
    /****** Object:  Login [M02_Test]    Script Date: 2014-12-02 16:23:58 ******/
    CREATE LOGIN [M02_Test] WITH PASSWORD=N'ÈS^y¡¶=Å€"+y¤j|úªhÖféÎЕœEu
    c', DEFAULT_DATABASE=[M02], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    GO
    ALTER LOGIN [M02_Test] DISABLE
    GO
    2 - I create the user and scripted it
    USE [M02]
    GO
    /****** Object:  User [M02_Test]    Script Date: 2014-12-02 16:29:41 ******/
    CREATE USER [M02_Test] FOR LOGIN [M02_Test] WITH DEFAULT_SCHEMA=[dbo]
    GO
    Questions:
    What should we do with te scrambled password: is it saved as it was entered and should it be kept somewhere in a safe place?
    Would that do the job for the vendor who used sa before?
    Thanks for your advice

    I'm not sure why you would save the script. Why not create the login, in one way or another give the vendor the password. Keep the login disabled until needed.
    I don't recall exactly what we said last time, but it occurs to me that the application setup things on server level. Jobs is the prime thing that comes to mind, but there could be other things.
    Now, here is an important observation. As long as the vendor's application was alone on the server, that was OK, and it was OK to give the vendor sysadmin rights. In this situation this is less OK, and as we said, you should only give the vendor db_owner
    in the database.
    But the vendor will need to tell you what they do on server-level. They should know this - unless they sell their app as a "alone-on-a-server application". (And there are indeed such applications out there, even from Microsoft.) But there is a
    risk that they will bill you extra if you make their installation more difficult.
    Maybe you will have to give some vendors sysadmin for the installation, but in such case, you should ask them why they need it. If they don't, give them db_owner, and they will have to find out their hard way. (And you don't pay them for learning
    their own application.)
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Multiple databases in one application with locations unknown

    Hello everyone,
    I am developing an application that uses several databases, one database for each user. The users, and the parameters for their database connections, are read from a configuration-file at runtime.
    I would like to use JPA to access the databases. This is where the problem arises, because if I try to get an EntityManagerFactory, I have to specify a name; I just use <username>-pu. This causes a PersistenceException because "No Persistence provider for EntityManager named maarten-pu". Which is correct, because my persistence.xml contains no persistence units.
    I cannot define all persistence units beforehand, because at that time the configuration-file is not yet read.
    Does anyone know how to solve this problem?
    Kind regards, and thanks in advance,
    Maarten

    Hello everyone,
    I am developing an application that uses several databases, one database for each user. The users, and the parameters for their database connections, are read from a configuration-file at runtime.
    I would like to use JPA to access the databases. This is where the problem arises, because if I try to get an EntityManagerFactory, I have to specify a name; I just use <username>-pu. This causes a PersistenceException because "No Persistence provider for EntityManager named maarten-pu". Which is correct, because my persistence.xml contains no persistence units.
    I cannot define all persistence units beforehand, because at that time the configuration-file is not yet read.
    Does anyone know how to solve this problem?
    Kind regards, and thanks in advance,
    Maarten

  • Combining multiple databases into one in the physical layer

    I have several databases in the physical layer that I would like to combine into one database. How can I do this safely without interfering with the existing physical joins in the physical layer and the column mappings in the BMM layer ?
    Can you recommend the best procedures to follow in order to get this accomplished?
    Boniface Ntawutarama

    hi Boniface,
    I think so No,you cant combine all databases into single one.Actually why you want to do this?
    According to the requirement you select a database and concerned tables to build the repository,same way with other databases also you build RPD and establish joins in physical layer
    Lets wait for any more specific answers on this from experts.
    By,
    Kranthi.

  • Multiple clients and multiple databases on one system

    Does SAP support having a single system ( Let's call it PEQ for the sake of argument ) having multiple clients ( again, for the sake of argument, call them 200, 250, 260, and 300) allow for each client to have it's own physical database ?
    For example, here is what I would like to have set up:
    PEQ 200 - database 1
    PEQ 250 - database 2
    PEQ 260 - database 3
    PEQ 300 - database 1
    So PEQ 200 and 300 access database 1, PEQ 250 accesses database 2, and PEQ 260 accesses database 3.
    I only want to know if this is possible and if so how would you set it up.  I do not want to get into any discussion on whether this is the best way to go or not.  Any pointers to OSS notes on the subject are more than welcome.
    Thanks;
    Bruce

    > So PEQ 200 and 300 access database 1, PEQ 250 accesses database 2, and PEQ 260 accesses database 3.
    >
    > I only want to know if this is possible and if so how would you set it up.  I do not want to get into any discussion on whether this is the best way to go or not.  Any pointers to OSS notes on the subject are more than welcome.
    Simple answer: No.
    Long answer:
    - Workprocesses don't know anything about "clients". A client is nothing more than an additional field in a table with the client number. So it's not possible to configure them to connect to a certain database using a "client number".
    - A client alone has nothing but application data. It has no dictionary (tables, views) and it has no repository (source code) that can be executed
    - A SAP system (ABAP) has cross client customizing that would need to be shared somehow, technically not possible since also here the workprocess (which is the lowest unit) does not know whether a table is client dependent or not.
    Maybe there is a way to come out of this dilemma - if you tell us, what you (business) requirement is.
    Markus

  • Transaction across multiple databases in the same BDB environment

    Hi,
    I have multiple databases and one metadata database all in the same BDB environment. At runtime I want to create an additional database, update this database and update the metadata database in the same environment under one transaction. Are there any issues in having transactions that span multiple databases in the same environment?
    Thanks,
    Pooja

    There is virtually no difference between using multiple databases and a single database in a transaction. Concurrency is determined by other factors such as whether multiple threads access the same records. See the Writing Transactional Applications for more information:
    http://www.oracle.com/technology/documentation/berkeley-db/je/TransactionGettingStarted/index.html
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Creation of multiple database

    how to creation and monitoring multiple databases in one linux box

    user12236725 wrote:
    hi
    thanks for the reply.
    but i am not able to monitor multiple database,but one sid at a time.
    i need to monitor multiple database at a time using OEM or through SQL
    please help me out and let me know the procedureIdeally you would install and use Grid Control.
    But you can also have multiple databases on one host, each with it's own configuration of dbcontrol. You have to make sure ORACLE_SID is properly set when you run emca to create the dbcontrol and when you run emctl to start the dbconsole. Each instance of dbconsole will run on a different port that you have to include in the url when you try to acess it through your browser. The correct url (with port) is reported at dbcontrol creation, and at dbconsole startup.

  • Importing CSV files into Multiple Tables in One Database

     I have a web based solution using Microsoft SharePoint and SQL Server that is created to centralize dat collection and reporting of program metrics used in montly reviews.
    A person from each program enters dat manual or by pushing the data using automated data import tools. The user then is able to generate reports and provide presentations to their stakeholders.
    There are are programs that are located in US and 2 that are located in Japan. All, including programs in Japan use the MS Project with a plug-in tool that allows them to auto input data. When the user click the "Send To.." button, the data goes
    in to multiple tables in one database.
    Everything is set up exactly the same for every program; however, we have discovered becase of a firewall, along with some of the different settings that the MS Project has over in Japan, the 2 program users are not able to auto import their data.
    The suggestion is to have the program users export the MS Project file into a CSV and email it. I will then take it and convert the data, such as the dates and place them on a Network Drive. There will be 2 folders, one for each program.
    I feel it will be an easy process just to load the data from the Network Drive into the same tables that are created for auto import.
    My Concerns/Questions:
    1. Should I create 1 SSIS package or should there be 2, one for each program?
    2. US and Japan program users send their data once a month. The converted files are going to be saved in the location marked with a date (ex:201402). How can i have it to where SSIS will automatically load the data every time i place new files in the designated
    folders or when i update an exsisting file?
    Can you provide an example with your suggestion please?
    I greatly appreciate the assistance!
    Y_Tyler

    Hello Vikash,
    Thank you! This will help me get started.
    There will be 2 folders, one with files with Program A data and the other with files with Program B data. All will have the same fields, just coming from different programs. You stated that I will be able to to load both in one package. Would there be two
    paths since there will be two separate folders?
    Using the example you provided, i am confident that I can create the package using one path into one table but not sure how to get the files from 2 paths (if there is) into multiple tables.
    Can you help clarify this for me?
    Thank you!
    Y_Tyler

  • Multiple BPEL Process Managers in one environment?

    Hi,
    I'm quite new to the Oracle SOA product line, so please be gentle when my question doesn't make sense.
    I’m in the process of designing a new enterprise architecture based on service orientation. I’m looking at the Oracle SOA Suite software to get a better understanding of what things will look like when getting to the actual implementation.
    Some internal projects are moving fast, so I’m trying to get an understanding on how things will work out in the future. One case has my current attention, related to the BPEL Process Manager.
    A 3rd party vender is offering a specific solution which is using or based on the BPEL Process Manager. This solution can be purchased as a black-box. From the perspective of my new architecture I would like to purchase the SOA suite as a whole. New developments will most likely be using the BPEL Process Manager for orchestration. But when purchasing the black-box application, the environment will be extended with an extra BPEL Process Manager. My first thought is to try and incorporate the BPEL processes from the 3rd party vendor onto one single BPEL Process Manager. But I also think two BPEL Process Managers can have advantages.
    I’m not sure how to go forward with this. How should I handle this? Is it common to have multiple BPEL Process Managers in one environment or should I pursue maximum integration and only go for one BPEL Process Manager?

    Hi,
    We have similar situation at my current client site and we are going with two seperate BPEL PM installs for various reasons. One of the main driver in our case is conflicting in timelines of two seperate projects.
    But my suggestion is to go with single enterprise install if that's not breaking the 3rd-party vendor supporting contracts. This has obviously benefits of redecued infrastructure/administrative and other related costs. How many processes does the vendor has as part of their solution? If they are handful you know it doesn't justify having seperate environments.
    On the otherhand having two seperate installs isn't bad either depending on how big or small your SOA service/process orchestration footprint is. We don't have complete handle on the performance/scalability aspects of BPEL PM based on number of processes deployed. But as you can see that may be one of drivers to have redundancy in BPEL PM servers.
    End of the day there is no clear cut answer. If you have funding and resources, go with two seperate instances. But from architectural perspective better to have single install with clustering for better performance/scalability.
    HTH
    Regards,
    Rajesh

  • Multiple IQ databases on one host ---- NLS for BW-HANA

    Hi, 
    We are planning to build a Sybase IQ NLS landscape to support BW on HANA landscapes.
    We have thought of installing DEV/QA NLS (IQ) on one server and accordingly have created the file systems on the Linux host. My question is whether we have to install sybase IQ 16 SP8 PL27 twice on the server to have two seperate $SYBASE install directories, from which we can source the environmenmt profiles while launching each of these databases.
    The FS layout is as follows --- All FS's will be owned by sybase (2 sets of FS will be created with SIDs for DEV and QAS)
    /usr/sap/SID/sybase ------------- sybase install dir
    /usr/sap/SID/database -------- catalog DB
    /usr/sap/SID/main -------------- IQ_SYSTEM_TEMP
    /usr/sap/SID/log -- ---- Transaction logs and other system logs  ----- Can the transaction log be stored here for Point in Time Recovery?
    /usr/sap/SID/messages --------- messages
    /usr/sap/SID/html ---------- html query plans
    /usr/sap/SID/sapdata1 to /usr/sap/SID/sapdata4 --- for iq db spaces (user db spaces)
    /usr/sap/SID/temp/temp1 to /usr/sap/SID/temp/temp4 --- for iqtmp spaces  (both the sapdatax and tempx have same sizes)
    Question ---- can the base directory /usr/sap/SID/temp become the IQTMP16 and will it access the other file systems (temp1, temp2 and so on) undreneath it or do we have to just create one file system - /usr/sap/SID/temp?
    /usr/sap/SID/tmp ----- path for -dt option in the config file to store server dependant files. - I am not sure what this -dt stands for and how different is it from iqtmp FS (usr/sap/SID/temp....)
    Question - In the First Guidance guide, this filesystem is mentioned as (IQ for Sort)... Does /usr/sap/SID/temp (iqtmp) and /usr/sap/SID/tmp (.tmp) have same sizes?
    Question - Does the /usr/sap/SID/sapdata, /usr/sap/SID/temp and /usr/sap/SID/tmp have same sizes?
    We will install DEV under /usr/sap/DEV/sybase and configure it to use the above file systems. Similarly, we will have filesystems for QAS but the install will begin from /usr/sap/QAS/sybase.....
    Is it a viable way of installting multiple NLS databases on one server?
    Please help....

    already answered here - http://scn.sap.com/thread/3717450

  • One Application Multiple Databases

    Hello Friends,
    I am developing application using Struts and Hibernate. I is a web application. Now i want to do one functionality that is some what like..
    Suppose "My_Appp" is my application. I have 1,2,3,4 clients or users. Now I want to maintain seperate database for an individual user. Suppose 1 login's he will be directed to his database and when 2 login's he will be directed to his own database but I want to deploy Only and Only one .war file for all the Users. Means One Interface and Multiple databases. Is this possible using Hibenate and Struts. I anybody know, Please help me?
    Thanks and Regards
    Dagadu Akambe
    Pune, India

    I wouldn't recommend this. Why wouldn't you try to put a 'user' table to the database and let user xy only work on his entities?
    The other solution would be, using different aliases, but imo this has the same nasty effect.
    The only way using more than one database is, imo, if different data is stored in different databases.
    I'm sorry this post isn't answering your questions, but there is surely an easier solution.
    reagards
    slowfly

  • Can we link one application instance with multiple databases ?

    We have R12.1.1 and db is 11.1.0.7 on redhat 5.3 ( 64 bit).
    Can we link one application instance ( apps / , inst / ) with multiple database ( db / ),
    is this possible ?
    if yes how ?

    >
    Can we link one application instance ( apps / , inst / ) with multiple database ( db / ),
    is this possible ?
    No. You cant link application tier with more than one database.
    Similar query already answered by Hussein in detail in the forum :Re: Multiple instances, single Apps tier Please check that for more details
    -Rk

Maybe you are looking for