Hi All,
I just want to check the following:
Will a table (e.g., A) be locked (no rows will be inserted) while I am exporting the table A to a file?
Thanks in advance
Best Regards
Omran
Printable View
Hi All,
I just want to check the following:
Will a table (e.g., A) be locked (no rows will be inserted) while I am exporting the table A to a file?
Thanks in advance
Best Regards
Omran
No, it will not be locked. EXP never perform any locks.
So how can I lock the table while exporting?
If what you want is for the export not to see any changes committed after the export started, you need the CONSISTENT=Y option set. I believe this does not matter for a single table or table-partition export, it will be consistent anyway
I can't imagine why in the world would someone want to lock the table while exporting it, but if you realy need to do it, you simply logon to the database with SQL*Plus (or whatever your favorite tool to interact with Oracle database is) and lock the table using SQL command. Then perform your export in another session and once the export is done, you unlock the table from your first session.Quote:
Originally posted by omran
So how can I lock the table while exporting?
Once again, it would be intesresting to know why would you like to prevent changes to the table while exporting it.
HI,Quote:
Originally posted by jmodic
Once again, it would be intesresting to know why would you like to prevent changes to the table while exporting it.
i believe he want a consistent logical backup of his table, so the CONSISTENT -Parameter should be the answer.
ORca
:cool:
Don't you think that Export provides read consistent image of the data. It will give you the data image when the export was started. If you try to do export of big table during busy period you may Snapshot too old error.
Yes, the data is consistent for a singe table (not sure about multiple-partition tables), but the consistent parameter gives consistency across all tables.
Thank you all for your help...
Actually my problem is the following:
Table A will be populated when any row is inserted into table B.
Then each hour table A will be exported and truncated.
I am afraid that in the period from the export to the truncation that some reocrds will be inserted in A and I will loss them. Any help?
Use a count flag which checks for the number of records in the table A just before and after export.
If counts dont match then put the new records in temp table and trancute A.
Copy the data from temp table back to working table for next hours export.
This is one of the solutions.
Regards
Abhay.