Multiple database vendor

What is the best way to search across multiple databases vendor (oracle and SQL server)?

What is the best way to search across multiple
databases vendor (oracle and SQL server)?Code a Factory class to handle this. And have all the drivers available. :-)

Similar Messages

  • How to access multiple database present in single instance

    Hi Team,
    In oracle 11.2, can there be multiple databases in an instance???  In one of our environment, I could see multiple databases in an instance. Could you please help me in giving the data dictionary or query to access those databases?
    Actually, querying v$database, I could see only one database which is same as instance name. But in inventory, there are multiple database in an instance?
    I am still not exactly clear about this. Can someone help me with this?
    Thanks!
    Vidhya

    In Oracle one instance manages one (1) database. A database consists of multiple *schemas*.
    Other vendors erroneously call a schema 'database'.
    So, no, you didn't see multiple databases.
    There is also one datadictionary, consisting of a set of views.
    All views beginning with dba_  list the entire database, all schemas.
    All views beginning with all_ list the objects you have access to.
    All views beginning with user_ list your own objects.
    The view DICT show you the contents of the datadictionary.
    Oracle also has online documentation at http://docs.oracle.com
    From your question it is clear you should read the document called the 'Oracle Concepts Manual'.
    You can find all documentation for 11gR2 here Oracle Database Online Documentation 11g Release 2 (11.2)
    Too many people here don't make any effort to read it. This is probably the reason why you got no response.
    Sybrand Bakker
    Senior Oracle DBA

  • Multiple Database access in a single transaction

    Hello All,
    I have read in a book which states that "according to J2ee Specification,a single transaction(an EJB method for example) may not be provided access to multiple JDBC resource providers.."
    Does it mean that i cannot access multiple databases from different vendors in a single EJB transaction??
    Any help is very much appreciated
    Thanks

    Hello Sebastien,
    Thanks for your response!!!
    Let me make it bit more clear.In deploymewnt descriptor,we define jndi name for any resource and do a lookup on that resource from the code.
    Let us consider that resource as JDBC data source for our discussion.usually you define any jdbc data source under a JDBC resource provider.
    So my question is,in a single transaction can you access multiple data sources defines under multiple JDBC resource providers.
    Ex:A datasource "x "defined under resource provider "A"[say DB2 jbdc provider] and a datasource "y" defined under respurce provider "B"[say mysql jdbc provider].
    Thanks

  • Oracle Database Vendor Code 1427

    HI, I'm not sure if this question should go here or in the Connectivity forum, but from what I can see, it is caused by a report issue.
    I am getting an error stating "Failed to retrieve data from the database. Details: [Database Vendor Code: 1427 ]" I have also seen an error box stating "Single row sub-query returned multiple rows"
    These reports were all working properly, but suddenly stopped and returned this error. Does anyone have any idea what the problem is?
    Sorry for not being able to provide more info, but I am trying to work remotely.
    Thanks,
    Aaron

    I don't use Oracle so I'm not too familiar with the error codes but from the description you provided... It sounds like you have a sub-query in your select list that's returning more than a single record.
    Are you using a SQL Command to pull the data set or have you placed a select query in a SQL Expression field?
    If I'm correct, simply adding a MIN or MAX function to the sub-query (so that it can only return a single row) should do the trick.
    HTH,
    Jason

  • Crystal Report Dynamic connection issue ORA-04043 Database Vendor Code 4043

    HI All,
    Ii am getting dynamic connection issue with Crystal Report 2008 and Business View Manager, i have Oracle database,
    i have done following steps
    1 Creating Dynamic Connection (including two connection XDC & YDC)
    2. Creating Data Foundation (Common object available in both connection ie. stored procedure)
    3. Creating Business View (with selected number of elements in business element, like firsta name, lastname)
    I have verified database connectivity from Business view manager, both the connection are working fine bringing different number of rows from two different schemas (different schema but same objects in two schemas)
    4. Database connectivity to different database schemas
    5. Connectivity from Crystal Report (done the connectivity from the repository to business view )
    6. Report Connectivity with first schema shows records
    7 Report Connectivity with second schemas shows error
    as follows Failed to retrive data from the database & on clicking of detail i get following error
    Crystal Reports
    Database Connector Error: 'ORA-04043: object HR.EXCEPTION_REPORT_SUB1_PROC [Database Vendor Code: 4043 ]'
    Q first of all i need to know if dynamic connection using business view manager and crystal report technically possible or not, if yes then please let me know the solution, since we did verified with SQL database and ite work with two different database.
    Q if not possible then are there any options to resolve dynamic deployment of crystal report over multiple schemas with crystal report 2008
    Any help or suggestion will be appriciated, hope some one might have got similar issue
    Thanks in advance
    Edited by: smunir on Jul 12, 2011 9:18 AM
    Edited by: smunir on Jul 12, 2011 9:41 AM
    Edited by: smunir on Jul 12, 2011 9:43 AM

    Hi,
    When i use same credentials in Tod or sqlplus it works perfect and gives appropriate results. But when i use same credentials using business view manager, the very first connection works but the second connection does not work
    Please suggest!
    Regards,
    <<smunir>>

  • Best way to connect java app to multiple databases?

    I'm working on my first commercial application, and I want it to be as flexible as possible, meaning I want it to be able to connect to a wide range of databases, as the customer chooses. I'm wondering what the best way is to accomplish this, I don't really want to have to buy a commercial license for third party ODBC drivers, any one have some good comments on this?

    You have two fundamental options:
    Use an O/R mapping tool like: Hibernate, EJB BMP, JDO, etc.
    Develop your own using JDBCIf you opt for the former, you should ask youself, "What value do i add? Or should I simply use these technologies?" The advantages are that dozens of other developers, going down similar routes, have faced the obstracles you will face and more. The disadvantage is that none of these developers has actually faced your specific problem. This is not to say that the solution does not already exist. The efficacy of this methodology will be how closely the general solution fits with your own (and since many problems have the same challenges, this will often be true).
    If you opt for the latter, you will have both an opportunity and a pitfall. The precise, business issue your current project addresses has many things both in common with other projects and also a handful of unique challenges. The hard part is determining whether this challenge actually differs in some fundamental way, or whether you have discerned some fault or opportunity in your methodology compared to standard (or even cutting-edge) practices.
    In reality, the challenge of "connecting to numerous, heterogenous (and probably vaprous) database systems" has long been addressed. Addressed, but perhaps not solved. If your goal is to develop a class library, for personal or consulting use, or to increase your understanding of the O/R boundary and best practices to obviate it, then my best advice is to read existing literature, and give it your all. There is no right answer here, and building on an existing experience of failure and success is indispensible.
    If your aim is to solve the O/R mapping challenge, or to suppant JDBC BMP, Hibernate or JDO, then my hat is off to you. We are all eagerly awaiting that day. (Sadly, after much effort, it has not yet arrived).
    So, can you connect Java to multiple databases, and even a diverse array of RDBMS vendors? Of course! But what will you do with those conections?
    - Saish

  • Multiple database members in a single Grid Row

    Hi All,
    I have created an FR report (9.3x) and getting the below error while trying to run the report via Web Preview.
    5217: Error Processing Results;hasPovDims=1;povXML=<?xml version="1.0"?><datasources><datasource name="FIN QA" dsid="-117fcde3_132fd17f2f6_-771b" allowEdit="1"><dim name="Versions" dimIndex="0" dsName="FIN QA" keyDimName="Versions" memberName="Versions" displayName="Versions: Versions"/><dim name="Scenarios" dimIndex="4" dsName="FIN QA" keyDimName="Scenarios" memberName="Scenarios" displayName="Scenarios: Scenarios"/><dim name="Components" dimIndex="5" dsName="FIN QA" keyDimName="Components" memberName="Components" displayName="Components: Components"/><dim name="Customers" dimIndex="6" dsName="FIN QA" keyDimName="Customers" memberName="Customers" displayName="Customers: Customers"/><dim name="Assets" dimIndex="7" dsName="FIN QA" keyDimName="Assets" memberName="Assets" displayName="Assets: Assets"/></datasource><datasource name="FINDEF QA" dsid="-607fb334_128b79d246e_-7d0a" allowEdit="1"><dim name="Time Periods" dimIndex="1" dsName="FINDEF QA" keyDimName="Time Periods" memberName="Time Periods" displayName="Time Periods: Time Periods"/><dim name="Scenario" dimIndex="3" dsName="FINDEF QA" keyDimName="Scenario" memberName="SC_Actual" displayName="Scenario: SC_Actual"/><dim name="Versions" dimIndex="4" dsName="FINDEF QA" keyDimName="Versions" memberName="VR_Input_Version" displayName="Versions: VR_Input_Version"/><dim name="Customers_Region" dimIndex="6" dsName="FINDEF QA" keyDimName="Customers_Region" memberName="CU_NA" displayName="Customers_Region: CU_NA"/><dim name="Assets" dimIndex="7" dsName="FINDEF QA" keyDimName="Assets" memberName="Assets_NA" displayName="Assets: Assets_NA"/></datasource></datasources>
    In my report I have selected 2 rows where I have selected @descendants of ccounts from one database which is FIN QA and in the second row I have selected @children of Accounts from another database which is FINDEF QA. I am using only ONE GRID here.
    Is it not possibe to run a FR report by select members from multiple databases in a single grid??
    Please have your valuable inputs.

    Yes it possible to retrive data from multiple database using single grid.
    Also there are few limitations namely:
    Database connections must be of the same type (for example, both must be Essbase database connections or both must be Financial Management database connections).
    Mismatched number of dimensions in the database connections may cause retrieval errors.
    For more details refer to this link for details:-
    http://www.oracle.com/technetwork/middleware/financial-management/tutorials/obe-multipledbs-086586.html
    Cheers
    Vikas Naidu

  • Use 1 listener for multiple database in a server

    hi guys,
    just want to check whether this is the right way to configure my Listener.ORA . I am using 1 listener.ora to listen for incoming request connection from remote client. There are multiple databases installed in a server.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora03)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = O11R2)
    (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1)
    (SID_NAME = O11R2)
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = O10G)
    (ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
    (SID_NAME = O10G)
    )sorry i am reading about it so did not install another database to test out. Just thinking in the line that it mention that the list of SID is refering to the multiple database that is installed in a server and i am using 1 listener.
    Please further advice.

    Shivananda Rao wrote:
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora03)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = O11R2)
    (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1)
    (SID_NAME = O11R2)
    (SID_DESC =
    (GLOBAL_DBNAME = O10G)
    (ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
    (SID_NAME = O10G)
    )Please use as above. You can have one listener for multiple databases.right right so it the pattern goes like this:
    SID_LIST_LISTENER =
         (SID_LIST =
              (SID_DESC =
              (GLOBAL_DBNAME = AAAA)
              (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1)
              (SID_NAME = AAAA)
              (SID_DESC =
              (GLOBAL_DBNAME = BBBB)
              (ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
              (SID_NAME = BBBB)
         )thanks !

  • Failed to open the connection - database vendor code 17

    I'm upgrading a VB.net Windows Forms application from 1.1 to 4.0.  In the reporting form, the list of reports you can choose are pulled from a folder where the .rpt files reside.  Once the user chooses a report and executes it, vb code populates the current database connection information and displays the report in the report viewer control.
    The following things are true:
    - Version 1.1 works on my systems and my customers systems
    - The code has not been changed, except that it now targets .Net 4.0 instead of 1.1
    - The exact same .rpt files are being used
    - Version 4.0 connects to the same database my customer is using, and I can run the reports just fine from here.
    - Version 4.0 is able to connect to the database just fine from my customers systems (using the same connection information provided to the report)
    - My customer installed this:  http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_32bit_13_0_2.zip
    The only problem is that my customer encounters this error when trying to run any report from his systems:
    Failed to open the connection.
    Details:  Database Vendor Code: 17
    Failed to open the connection.
    Orders.BOL.TaskDetail {393C9017-0ED1-4E1E-8824-E222F4B9D14C}.rpt
    Details:  Database Vendor Code: 17
    I read all of the articles I could find, and they either don't describe this exact situation, or there is insufficient information for troubleshooting this issue.  Are there steps that I've missed to make Crystal Reports for VS2010 work on my customer's systems?
    Your help is appreciated,
    Mark

    Hi Mark,
    More information required -
    - Does this happen with all reports or few?
    - What is the connection type used for the report to connect to the database (OLEDB,ODBC etc)
    - Are you changing the database at runtime?
    few things you could check
    - Check if the database is accaessible from the client machine with proper permissions / rights.
    - If its an ODBC connection check if the DSN with same name is created on the client machine.
    - Check the driver / provided used by the report to connect to the DB, verify that the same is installed on the client machine. (SQL NAtive client, SQL Server etc)
    Also take a look at below articles discussing the simillar issue.
    [CR for VS2010: Failed to Open Connection [Database Vendor Code: 17 ]|CR for VS2010: Failed to Open Connection [Database Vendor Code: 17 ]]
    [1474461 - Unknown Database Connector Error when connecting to a Dataset in a VS .NET application |http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333433373334333433363331%7D.do]
    Hope this helps,
    - Bhushan.

  • Failed to open the connection. Details: [Database Vendor Code: 53 ]

    I'm upgrading one of our applications from Visual Studio 2005 to 2010. In the process I'm also switching our reports to run using Stored Procedures instead of Tables/Views.  Everything runs fine on development machines after all the migration work.  On the server however, it does not work. And I am getting the error message ""
    Server is Windows 2003 Server 32 bit.  And yes, I have installed the latest runtimes version 13.0.2000.0 on the server.  There have been no other changes on the server other than to switch the target framework on the website in question from .net 2 to .net 4, and then to modify the web.config file to remove references to the older Crystal Reports and replace with references to the newer version.
    I've seen many other threads on this "failed to open the connection" errors but none of them are my problem except there is one post that remains unanswered where someone had the same Database Vendor Code 53.  I don't know what that error means, spent a considerable amount of time researching that before asking this question.
    Lastly, it appears that this error only happens when the report is pulling data from a Stored Procedure rather than Tables/Views.  If I re-copy the previous reports, they still work.
    The ODBC drivers haven't changed, nor should they. They are fully up to date on that server machine.
    I can't think of anything else that would be indicative of anything other than this is a bug.  Here is the error text as it shows up in the event log:
    Event code: 3005
    Event message: An unhandled exception has occurred.
    Event time: 12/7/2011 3:49:50 PM
    Event time (UTC): 12/7/2011 11:49:50 PM
    Event ID: 38ce5b5487984e8aa8d2b84493d859a8
    Event sequence: 17
    Event occurrence: 1
    Event detail code: 0
    Application information:
        Application domain: /LM/W3SVC/739252194/Root-1-129677751941252500
        Trust level: Full
        Application Virtual Path: /
        Application Path: D:\Websites\ACE5\Clients\TST\
        Machine name: ACE1
    Process information:
        Process ID: 5436
        Process name: w3wp.exe
        Account name: NT AUTHORITY\NETWORK SERVICE
    Exception information:
        Exception type: InternalException
        Exception message: Failed to open the connection.
    Failed to open the connection.
    Details:  [Database Vendor Code: 53 ]
    Failed to open the connection.
    Details:  [Database Vendor Code: 53 ]
    Failed to open the connection.
    PackSlipTST0 {638463B4-2196-492A-BD6E-9D82CB1862D5}.rpt
       at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
       at CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)
       at CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext)
       at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportOptions options)
       at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToHttpResponse(ExportOptions options, HttpResponse response, Boolean asAttachment, String attachmentName)
       at CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToHttpResponse(ExportFormatType formatType, HttpResponse response, Boolean asAttachment, String attachmentName)
       at Distribution_PackingSlips_default.ExportPackingSlips(String CrystalReportPath, Boolean UseStoredProcedure)
       at Distribution_PackingSlips_default.Page_Load(Object sender, EventArgs e)
       at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
       at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
       at System.Web.UI.Control.OnLoad(EventArgs e)
       at System.Web.UI.Control.LoadRecursive()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    Failed to open the connection.
    Failed to open the connection.
    Details:  [Database Vendor Code: 53 ]
    Failed to open the connection.
    Details:  [Database Vendor Code: 53 ]
    Failed to open the connection.
    PackSlipTST0 {638463B4-2196-492A-BD6E-9D82CB1862D5}.rpt
       at CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext)
       at CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)

    Lots of great info here, except for the database; MS SQL? Oracle? Etc?
    Database Vendor Code 53 is an error code that the CR engine simply passes straight from the database it's self. E.g.; look at your database error code and you should be able to find a verbose description of the error.
    As a test, what happens if you add the report to your project and run it in the CR design part of the .NET IDE?
    - A quick google search of Error 53 (for MS SQL - an assumption) comes up with a number of good hits. E.g.;
    http://social.msdn.microsoft.com/Forums/en-AU/sqlgetstarted/thread/27684811-1a59-4273-b7ed-3cc990b4f20a
    Ludek
    Follow us on Twitter http://twitter.com/SAPCRNetSup
    Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports]
    Edited by: Ludek Uher on Dec 8, 2011 6:31 AM

  • Failed to open the connection. Details: [Database Vendor Code: 12154].

    I have installed Crystal reports server 2008 VI on a Windows 2008 64bit OS. I have added SQL server and Oracle reports through CMC. I then installed Oracle 10g client 32bit on the server and created and tested the required DSNs using ODBC 32bit. All the testings are successfull.
    Now when I try to run my Oracle report through CMC it prompts for the parameters and when I enter them and click ok, gives me the following error:
    Failed to open the connection. Details: [Database Vendor Code: 12154].
    I have the same exact setup on a different server which has a 32 bit windows 2008 server OS and could run the same reports through CMC.
    Is there away to fix this in the 64 bit OS?
    I did a yahoo search and someone had a similar problem with Crystal RAS and Oracle.
    And there is mentions that this is an issue with 32 bit ODBC drivers on 64bit wondows OS.The parentheses in the default file location, C:\Program Files (x86), causes problems with the ODBC driver and the workarouns in re-installing Crystal RAS on a different folder.
    Full description is at (http://www.tririga.info/)
    Is this the case with Crystal report server 2008 VI? I already got users using the InfoView to run SQL reports and doing this will have to put the application offline atlease for a say.
    Any help is greatly appreciated.

    Vasana,
    Resolution: Failed to Open the Connection.
    First:
    If the Crystal Report is using 32-bit version of Microsoft ODBC then the Window 2008 server must also have 32-bit version of Microsoft ODBC. The 32- bit version of Odbcad32.exe is located in the %systemdrive%\Windows\SysWoW64 folder.
    On the Windows 2008 server, execute Odbcad32.exe by clicking start and run and entering the following: C:\Window\SysWow64\ODBC32.exe.
    Then:
    The Windows 2008 server ODBC Data Source Administrator must have the same System Data Source Server and Database Names that is used to run the Crystal Report.
    e.g. Crystal Report points to server ABC and database EFG (ABC_efg); then the ODBC connections on the Windows 2008 Server must also point to the same server ABC and database EFG (abc_efg) listed.

  • Failed to open the connection.Details: [Database Vendor Code: 17 ]

    We have too many reports designed by Crystal Reports XI Release 2 a time ago reports are old but we are calling them in asp.net 4.0 and connection through ODBC Data Sources (Driver SQL SERVER)
    but when we refresh the report we are facing this issue....
    Failed to open the connection.
    Details: [Database Vendor Code: 17 ] Failed to open the connection.
    AP Outstanding Check Run Detailed Ver 2 {CF3B13A2-F259-4B1D-ACC9-BF78F44D4AA5}.rpt
    Details: [Database Vendor Code: 17 ]
    here is the code to set ReportLoginInfo
    CrystalDecisions.Shared.TableLogOnInfo logonInfo = new CrystalDecisions.Shared.TableLogOnInfo();
                string myTableLocation;
                foreach (CrystalDecisions.CrystalReports.Engine.Table myTable in rptDoc.Database.Tables)
                    myTableLocation = myTable.Name;
                    logonInfo = myTable.LogOnInfo;
                    logonInfo.ConnectionInfo.AllowCustomConnection = true;
                    logonInfo.ConnectionInfo.ServerName = ServerName; // dnsname
                    logonInfo.ConnectionInfo.DatabaseName = DatabaseName;
                    if (!(string.IsNullOrEmpty(UserID) || string.IsNullOrEmpty(Password)))
                        logonInfo.ConnectionInfo.UserID = UserID;
                        logonInfo.ConnectionInfo.Password = Password;
                        logonInfo.ConnectionInfo.IntegratedSecurity = false;
                    logonInfo.ConnectionInfo.Type = CrystalDecisions.Shared.ConnectionInfoType.SQL;
                    myTable.ApplyLogOnInfo(logonInfo);
                    myTable.Location = DatabaseName + ".dbo." + myTableLocation;
                    bool success = myTable.TestConnectivity();
    Edited by: zeshansadiq on Nov 4, 2011 3:49 PM

    resolved by me itself.
    Do the following steps:
    1. Open the report in the CR XI designer.
    2. Select Database -> Set Datasource Location.
    3. Set Datasource Location window will appear and in the replace with section connect to the database and replace these tables with the tables in the current datasource by clicking the update button.
    4. After updating close the Set Datasource Location window.
    5. Go to 'Database menu' and Click 'Verify Database' and click on u2019OKu2019.
    6. Preview the report and the save the report.

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

  • Can you have multiple databases on the same LUN in Exchange 2010?

    I'm sure you can but is it possible with exchange 2010 to have multiple databases on the same LUN.  We currently have 8 DB's all writing to their own DB drive and separate log drive so 16 drives in total.  I need to spin a new DB up this week and
    wanted to double check this is possible.  I've looked online and cant find anything that I've seen before that says this is possible.
    Thanks.

    Hi,
    Yes, multiple databases could be placed on the same LUN, but it's not recommended.
    If you have 2 drives fail at the same time (it happens more than you think), then losing 100% of your DBs is a lot worse than losing one of them or some of them depending on where the failures are.
    Here is a similar thread for your reference:
    Multiple databases on the same LUN in Exchange 2010
    Hope this helps!
    Thanks.
    Niko Cheng
    TechNet Community Support

  • TDE Wallets & Multiple Databases on same Host

    The Oracle TDE Best Practices (doc ID 130696) states this:
    Multiple databases on the same host
    If there are multiple Oracle Databases installed on the same server, they
    must access their own individual TDE wallet. Sharing the same wallet between independent instances is not supported
    and can potentially lead to the loss of encrypted data.
    If the databases share the same ORACLE_HOME, they also share the same
    sqlnet.ora file in $TNS_ADMIN . In order to access their individual wallet, the
    DIRECTORY entry for the ENCRYPTION_WALLET_LOCATION
    needs to point each database to its own wallet location:
    DIRECTORY= /etc/ORACLE/WALLETS/$ORACLE_UNQNAME
    The names of the subdirectories under /etc/ORACLE/WALLETS/ reflect
    the ORACLE_UNQNAME names of the individual databases.
    If the databases do not share the same ORACLE_HOME, they will also have their individual sqlnet.ora
    files that have to point to the individual subdirectories.
    What is the correct sqlnet.ora syntax to do this?  I currently have what is below but it doesn't seem to be correct:
    ENCRYPTION_WALLET_LOCATION =
      (SOURCE = (METHOD = FILE)
      (METHOD_DATA =
      (DIRECTORY = /local/oracle/admin/wallet/DB#1)
      (DIRECTORY = /local/oracle/admin/wallet/DB#2)

    Hi,
    You can check this :Setting ENCRYPTION_WALLET_LOCATION For Wallets Of Multiple Instances Sharing The Same Oracle Home (Doc ID 1504783.1)
    i haven't done this for multiple database, but as per Doc you can use the syntex like
    ENCRYPTION_WALLET_LOCATION =
      (SOURCE = (METHOD = FILE)
      (METHOD_DATA =
      (DIRECTORY = /local/oracle/admin/wallet/$ORACLE_UNQNAME)
    Whenever you set the Environmnet with
    export $ORACLE_UNQNAME=DB#1 
    it will choose the file from respective directory like  /local/oracle/admin/wallet/DB#1
    HTH

Maybe you are looking for

  • Cannot delete file from iPod

    I use my iPod as a portable storage device for avi files, but I cannot seem to delete one of the files. There was an error when I captured this file live via firewire, so it has a filename but its size is 0kb. After going to My Computer, Drive F:, I

  • Changing the format mask of a numberic field in a  report

    Hi, I'm fethcing some numeric values from the DB and displaying them in the report. I'd like to use comma as the decimal separator but I can't get it to work. I'm very lost with all the NLS settings. I've tried using the format mask ad '9999990D00' b

  • What is the URL that Adobe Acrobat needs to contact for Activation after you enter the serial number

    What is the URL that Adobe Acrobat needs to contact for Activation after you enter the serial number? We need to allow internet access to our users for it.

  • What determines whether a class is available to be added?

    When I am trying to create MetaData, I get to the Choose Classes dialog. I hit the ellipsis and a choice of classes is presented to me. However only some classes in the folder whether the classes reside are available to me. Why is this?

  • IPhoto card layout

    I have iPhoto ver 9.4.3. I am trying to create a flat card but iphoto only alows me to use 4 different card layouts. Is there a way to modify the "standard" layouts or create new card layouts other than what iPhoto allows?