Oracle Workspace Manager
by Kevin Dangoor
Today, I came across the Oracle Workspace Manager and almost literally stood up and said “wow!”. Has anyone out there used this beast? Assuming it has good performance characteristics, it sounds fantastic for the kinds of things I’m working on.
The brief summary, for those who don’t feel like reading the whole datasheet, is that Workspace Manager provides row-level version control for your database, will branching/merging capabilities and flexibility in terms of which tables are versioned and how they are versioned. The “how” can be keeping all changes to a row, or keeping just the most recent change within the workspace. Using the latter, you could just hold on to periodic milestones of the data.
I guess there really is a reason that Oracle costs big bucks and MySQL and PostgreSQL are free. MySQL works great for a great many applications, but there’s probably no substitute for Oracle in places where Workspace Manager are called for. (Does anyone know of other databases that have this kind of versioning?)
Used it in a previous job. It is pretty derned cool. Workspace merging falls into “go get a cup of coffee” rather than “let it run overnight” for fairly large datasets, so that isn’t too bad.
-Brian
Glad to hear that! I’m assuming that there is probably no visible difference in query time between working within a Workspace and working on a non-versioned table…
Nope, once it is created it is very efficient. It requires the maxed out Enterprise version, unfortunately, but if you need what it offers its great.
I always hated the fact that Oracle made more from sales of our products than we did =/
Oracle is a very pricey piece of software. Luckily, we (at JSTOR) already have Oracle licenses (9i Enterprise), so we’re all set if we want to use Workspace Manager for some of our work.
Is there a way to set up a user to always start in a specific Workspace, other than LIVE?
Thank you
Unfortunately, I’m not a DBA (nor do I play one on TV), so I don’t know the answer to that question.
Yes.
1. Use a logon trigger.
2. Have a table with the user name and the lastused workspace.
3. Add an update trigger for this table which will perform the gotoworksapce.
Whenever the table is updated then the workspace will be changed as well. Upon logging in the, logon trigger will check for the user in table (in step 2). When user is found, the workspace is set to lastused workspace. If user does not exist have a default. We use a read only live.