Is it possible to isolate the data in a single table so it is not impacted by a VDB Refresh?

  • 1
  • 1
  • Question
  • Updated 11 months ago
  • Answered
There is a single table within a database that has very sensitive region specific data and cannot be impacted by a VDB Refresh.   We need to refresh the entire VDB with the exception of one table.   Has anyone had to deal with this?
Photo of John Siess

John Siess

  • 80 Points 75 badge 2x thumb

Posted 11 months ago

  • 1
  • 1
Photo of Adam Bowen

Adam Bowen, Official Rep

  • 17,418 Points 10k badge 2x thumb
Hey John, we have many customers that have similar requirements. What they do is leverage our pre and post refresh hooks. A prerefresh hook exports the table from the VDB. After the refresh is over, the postrefresh hook imports the table back into the VDB. Here is a link for hooks with oracle Customizing Oracle Management with Hook Operations  and here is a link for hooks with MSSQL https://docs.delphix.com/display/DOCS/Hooks+for+SQL+Server
Photo of John Siess

John Siess

  • 80 Points 75 badge 2x thumb
Thanks Adam.  I'll follow up with our DBA's on this.
Photo of Tim Gorman

Tim Gorman, Field Services

  • 2,794 Points 2k badge 2x thumb
John,

Following on to Adam's excellent response, an almost ubiquitous requirement is to persist things like database account passwords, application account passwords, and database objects such as Oracle "database links" across a refresh operation.  These are normally set immediately following the initial provisioning of a VDB, and it is a hassle to have to re-set them manually each time a refresh is performed.

Some of my colleagues within Delphix have begun posting code samples on Github.com, and I have resolved to do so as well, but I'm a little behind on it, so instead...

If you'd like some sample UNIX/Linux shell-scripts for persisting Oracle database account passwords and Oracle database link definitions across refresh using Pre-Refresh and Post-Refresh hooks, then I'd be glad to share GDrive links to download them here (i.e. "ora_vdb_prerefresh.sh" and "ora_vdb_postrefresh.sh").  NOTE: these scripts are just example code with no warranty whatsoever;  use at your own risk, and it is unlikely that you'll find them useful if you don't modify them to fit your local standards.

Hope this helps!

-Tim