Read-only snapshot of writable environment in the same process

According to the documentation, if you open a JE environment from multiple processes, then all processes except the writer process get a read-only, point-in-time snapshot of the database that won't reflect any writes processed in the database. Is it possible to achieve this same behavior within the same process that already has the environment open for writing?
I have an application for which I would like to have two backup mechanisms: one which performs a simple file copy of the database files as is documented elsewhere, and a second one which cursors through the data and serializes it to a file that could potentially be processed for other purposes and may be accessed even if the database itself becomes damaged or corrupt. It would be very nice if this second backup mechanism of exporting the data could get the point-in-time snapshot (so that I don't have to worry about getting inconsistent data if the database environment is updated during the export) but didn't require a separate process.

You've asked an interesting question! I'm afraid that the answer is that it's not possible in BDB JE today.
What you'd really like for your second case is part of the type of functionality provided by MVCC (Multi-Version Concurrency Control). In case you're not familiar with that term, MVCC is the database feature which guarantees that all reads made in a transaction will see a consistent snapshot of the database and that the transaction will successfully commit only if no updates it has made conflict with any concurrent updates made since that snapshot. Unfortunately, while our sister product, BDB (C) has that feature, we do not yet support it.
I think your alternatives are to do achieve your point in time snapshot from the file copy based backup, from the second process, or from an application level mechanism that locks out other updates.
Regards,
Linda

Similar Messages

  • Can a read-only snapshot site be refreshed from a read-only database?

    Hi,
    Here is the database configuration.
    Database 1: master site
    Database 2: has materialized views (read-only snapshot site)
    If DB1 becomes read-only, is it possible to refresh the materialized views in DB2? I was told that it is not possible because some m$log tables in DB1 need to be updated when the DB2 is refreshed . If it is DB1 is read-only, the meta data tables can not be updated so the refresh will fail.
    Does anybody have experience with a scenario like this?
    Thanks very much.

    Why do you need to put the database in read only mode anyway. Why not control "readability" through security, ie roles. Then it won't really matter.

  • Error ora-12028 while creating a read-only snapshot

    Hi !
    I'm in trouble creating a read-only snapshot of a simple table.
    The Master table belongs to an ORACLE 7.3.4 database instance, while the snapshot site belongs to an ORACLE 8.1 database. The read-only snapshot should have a refresh type FAST, but while I'm running the CREATE SNAPSHOT statement in the snapshot site I receive the following message:
    "ORA-12028 snapshot type is not supported by master site string
    Cause: Pre-Oracle master sites are not able to support primary key or
    subquery snapshots that are able to perform a fast refresh.
    Action: Create a ROWID snapshot or use a master table from an Oracle8 site. "
    This message doesn't help me enough. Is there anyone who can give me an advice ?
    Thanks you all.
    Laura

    Well laura earlier version doesn't support snap shot based on primary key
    u should disable primary key constraint from master site
    and create snap shot on the basis of row id.
    for further detail mail me at [email protected]

  • Stored procedures for read only snapshots

    Hi
    I have to convert some tables into read only snapshots as per client's requirements,
    There are some stored procedures which are based on these tables which basically fetch values from these tables, how do I use these existing procedures so that they can be used even after converting the tables into snapshots ?

    >
    Sean Byrne wrote:
    > I have a calculated date shared variable that I would like to use as a parameter. This date is not contained in the database. The user would put in 12/31/09, and only records that are before this date would show up. I want to use a stored procedure to achieve this result. Does this calculated date have to be written to a table for this to work? The tables are controlled by our ERP on demand vendor, which restricts us from writing anything to their tables. They allow us to use Crystal Reports to retrieve data but no modifications of their tables. One way around this restriction is to create another database on the server to pull data from the ERP database. Any advice would be appreciated? Can I write stored procedures within Crystal Reports?
    I think you are just trying to query your database with a date parameter correct?  In your case I doubt you want to use a "stored procedure", but a command object that holds a simply sql query.  Are you familiar with SQL?  When you create your report, you will be asked to select your datasource. Once your database credentials are entered you should see rows that says "Add Command, Tables, Views, etc".  Select Add Command and you will be presented with a window in which to enter your SQL command.  On the right of that box you will set your parameter. Create your "date" parameter.
    Your query will look something like this
    Select * from table.table where date <
    You can add your dataparam by double clicking it after you created it.
    HTH
    Chad

  • I would make the signature field read only until something is entered in the mandatory fields.

    I would make the signature field read only until something is entered in the mandatory fields.

    Mina,
    You can use LiveCycle Designer's Action Builder to easily achieve this.
    Please go through online documentation for the specific version of LiveCycle Designer that you are using.
    It is intuitive and very easy to use Action Builder (You will find this option under Tools Menu item of Designer).
    --Santosh

  • HT203180 I have bought several tv seasons from the itunes store. Recently some episodes will not sync with my ipad. The error message is that the file "could not be read or written". Previous episodes of the same series synced successfully.

    I have bought several tv seasons from the itunes store. Recently some episodes will not sync with my ipad. The error message is that the file "could not be read or written". Previous episodes of the same series synced successfully. Also while watching the same episode on my laptop (Mac Book Pro) it freezes.

    I had this same message appear today when i was putting new music on my ipod touch 4th gen. The only difference is that I wasnt using an external drive. I was using the one on my computer. This is the first time i have had this problem

  • A 6 and a 6 Plus with seperate phone numbers are receiving txts sent to only one number. They share the same iTunes acct. Is this the problem?

    A 6 and a 6 Plus with seperate phone numbers are receiving txts sent to only one number. They share the same iTunes acct. Is this the problem?

    Hmm... Just found out the 6 and 6 Plus were updated to 8.1.1 today. Coincidently, that's when this started.
    Another thing is both phones ring and you can answer either one, or both. fwding is not selected.
    Thanks Kilted Tim.

  • Why Left and Right Joins if only one of them can serve the same purpose?

    I understand that left join is used to display all the records from left table whereas the right join is used to display all the records from right table in a join.
    However, if we switch the positions of the join tables and perform left join we can get all the records of the left table.
    A left join B -> will give all records from A
    A right join B ->will give all records from B
    B left join A -> will again give all records from B.
    The order in which the data is displayed(ie the field order) can also be maintained in the SELECT clause.
    So, Why do we have left and right joins separately in existance, when only one of them can serve the same purpose?

    Hi,
    I think it's because it is sometime more natural to outer join on left or right.
    In your data model (or the query you are writing), there is some kind of hierarchy between tables : I feel more natural to have the table with lowest hierarchical level (the root table) on the left. So I sometimes prefer to right outer join...
    This is a very personal feeling, I must admit.
    To me what is strange is to have chosen left and right as they refer to a "latin" reading direction => forward join and backward join would be more meaningful for people that read from right to left.
    +And I prefer the new joining syntax that doesn't us the {noformat}(+){noformat} sign...+

  • Only 1 VI can run at the same time?

    Hi there, this is for my school project which requires to acquire analog input from 2 sensor circuits(1 with LDR,1 with LM35 for temperature sensing) and generate an output so that a light bulb would light up if the voltage in the LDR circuit is too low and a fan would be turned on if temperature is over a certain limit.
    I managed to come up with the VIs and it worked independently but when i try to integrate it only the LDR circuit worked, and i could not troubleshoot it.
    Attached is the 2 VIs that i come up with and another VI which i tried to integrate but failed to work properly.
    Thanks
    Solved!
    Go to Solution.
    Attachments:
    VaryingFan.vi ‏40 KB
    VaryingLight.vi ‏35 KB
    2VIs.vi ‏58 KB

    You need to create a DAQmx task to be able to read two voltages from two AIs on the same device.  Same for writing two AOs on the same device.  Here is an example of how to create a DAQmx task.  Create one task for AI and another for AO.  You must set the AI Read and AO Write to Multiple Channels - Single Sample - 1D DBL.  The first element in the 1D array will correspond to the first element in the List of AI Channels array shown in my example:
    Here is another tip.  On the loop borders, change the DAQmx task/channel in/out and the error in/out terminals to shift registers.  Using shift registers here is good practice recommended by NI.  The reason being is this.  If there happens to be an error in one loop iteration, the error gets lost with regular terminals because the input terminal will have no error condition.  On the next iteration, the error from the previous iteration is lost.  For the task in/out terminal, if the task changes, you will lose the change.  Shift registers will propogate all errors and changes to the next loop iteration.  Another reason is if the loop runs 0 times (doesn't run at all).  The outputs will be default values.  So if there was an error coming into the loop, it will be lost if the loop does not iterate at least one time.  So use shift registers here.
    One more thing, change your numeric type to DBL inside your case structures.  Notice the coercion dot (small red dot) on the input to the DAQmx Write funtion.  It is expecting a DBL data type.
    OK, just one more.  Your output from AI Read is a DBL data type.  You can't have a DBL input to a case selector.  Notice again the red dot on the case selector question mark.  Labview is converting the DBl to an integer (probably an I32).  You may have rounding off errors.  You should round off and change to an integer before the question mark so you know exactly what the outcome will be.  What if the AI Read outputs 0.5 votls?  Will the 0 case be executed, or will it be the 1,2 case?  What if the voltage is 2.5?  Which case will be exectuted?  You should fix this.
    I think that is enough for now. 
    - tbob
    Inventor of the WORM Global

  • When I try to open a download PDF I get message to install Adobe Reader. I do it and get the same message already installed. I close Safari and reopen but get same message to install Adobe

    When I try to open a download PDF I get message to install Adobe Reader. I do it and get the same message already installed. I close Safari and reopen but get same message to install Adobe

    You don't provide any details, but from the sound of it you are trying to open an online PDF in a browser that does not use the Adobe Reader plugin: http://helpx.adobe.com/acrobat/kb/pdf-browser-plugin-configuration.html

  • Starting in 2015 I get the following error when I try to import my photos. "The following files were not imported because they could not be read"  -DSC8416.NEF  I've been importing the same type of photos with no errors then 2015 came along and now I can

    Starting in 2015 I get the following error when I try to import my photos. "The following files were not imported because they could not be read"  -DSC8416.NEF  I've been importing the same type of photos with no errors then 2015 came along and now I can no longer import.

    The error message is misleading, the problem is that you need WRITE privileges added to the destination directory tree.
    Assuming you are using the "date" structure that LR defaults to, find the directory that contains the 2014 folder (the one that works) and add WRITE rights to the parent of "2014".
    While you are there, if you want, add "2015" folder to beside "2014" and add READ and WRITE rights to that new directory.

  • I purchased Adobe photoshop elements II and Adobe premiere elements II. They are both on one disc. My computer crasded and I had to reload Windows. I only have one serial number and it only works with photoshop II. The same serial number will not work for

    I purchased Adobe photoshop elements II and Adobe premiere elements II. They are both on one disc. My computer crasded and I had to reload Windows. I only have one serial number and it only works with photoshop II. The same serial number will not work for Premiere. I dont have any other serial numbers. What do I do???

    Static_Unit
    I am getting a bit concerned about what is happening in your situation. Yesterday you posted your question in at least two different forums, one of them being here in the Premiere Elements Forum.
    Don't Have Serial Number for Premiere, Only Photoshop?
    Wherever you posted, the reply was to contact Adobe via its Adobe Chat. It is the only one who can sort out this matter for you.
    In the thread cited above I offered to help you with the difficulties that you were having visualizing the Adobe Chat in its web page. I was waiting for your follow up on that in the above thread. Instead, I find your same question in a new Adobe Premiere Elements Forum thread this afternoon with no refer the prior threads or prior recommendations given you.
    I will also mention again...when you buy the Photoshop Elements and Premiere Elements bundled in one packaging and with installation files for each on the same installation disc, each program has its own serial number. The Photoshop Elements serial number does not work for Premiere Elements and vice versa. The serial numbers are on labels on a box which houses the installation disc envelope(s). So, if you purchased both programs and found the Photoshop Elements serial number, then the Premiere Elements serial number should be in a label right underneath the label with the serial number for Photoshop Elements. I recall writing this in your yesterday's thread on this matter.
    The moderator will no doubt be along shortly to close or delete this thread. So, just in case, please bookmark your yesterday's thread cited above so that we can continue this communication which is trying to help you.
    Thanks.
    ATR

  • Hi, I updated my iPhone 4 from iOS 5.1 to 5.1.1 and now it won't connect to 3g, it only gets EDGE, does anyone have the same issue? Anyone knows how to fix it? Thanks

    Hi, I updated my iPhone 4 from iOS 5.1 to 5.1.1 and now it won't connect to 3g, it only gets EDGE, does anyone have the same issue? Anyone knows how to fix it? Thanks

    Yeah, it´s happening in normal 3g coverage area, in fact, i used the 3g to download the iOS but after installing it, the phone doesn't get the 3g anymore.
    I tryed the reboot pocess, but it didn't fix it
    I haven't tryed the restore to factory settings process,
    Is there a way to downgrade to iOS 5.1 again?
    Thaks

  • System requesting latest version of Adobe reader to view file - URL provided, followed the download process however still cant open document. Help?

    System requesting latest version of Adobe reader to view file - URL provided, followed the download process however still cant open document. Help?

    Hi becl43227859,
    Can you please provide the following info:
    1. What is the error message that you are getting?
    2. What was the URL that was provided?
    3. Are you getting this error for a specific document or for all of them?
    4. Can you try downloading Reader DC from Adobe Acrobat Reader DC Install for all versions and re-installing on you machine.
    Thanks.

  • How do I run the same process on multiple CPUs  of a processor set?

    Hi,
    I am working on UltraSPARC T1 Processor. My development environment is SunStudio 12 running on Sun Solaris 10 OS.
    I want to run the same process concurrently on 4 hardware threads that belong to one core.
    I used pset_create() for creation of the processor set.
    Later I assigned 4 processors (that belong to one core) using pset_assign().
    I used fork() to create a child process and used execv() to assign a new process.
    I used pset_bind() to bind this new process to processor set created earlier.
    When we are executing the program we observe that the process is running in only the first processor (hardware thread) of the assigned processor set.
    How do we make all the processors of the processor set run the same process?
    Thanks in advance.
    Nesa Rani

    Hi Mark,
    With this communication based on CAN whilst all of the data is available on the network arbitration IDs are still used to address the individual PCs so I believe you will need to explicitly send the data to each PC to get the data across all three.  The other option would be to have one PC acting as a data server making the data available through a network interface such as shared variables.  This may be simpler to implement and also easier should you need to scale it up.
    Regards,
    James Mc
    ========
    CLA and cRIO Fanatic
    wiresmithtech.com/blog

Maybe you are looking for