Wm rollback workspace
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script/commande SQL*Plus (Oracle Workspace Manager) |
| Voir aussi | Wm workspace · Wm remove workspace · Wm freeze workspace |
Wm rollback workspace annule toutes les modifications apportées dans un workspace depuis sa création, via DBMS_WM.RollbackWorkspace. L'opération s'exécute comme une transaction autonome, validée (commit) automatiquement à la fin.
Contraintes et comportement :
- seuls les workspaces terminaux (« leaf », sans workspace descendant) peuvent être annulés ;
- pendant l'exécution, le workspace est gelé en mode
NO_ACCESS; - une exception est levée si le workspace a des descendants, s'il n'existe pas, ou si le privilège nécessaire manque sur le workspace ou l'une des tables affectées.
À la différence de Wm remove workspace, qui supprime aussi la structure du workspace, RollbackWorkspace vide le workspace de ses données mais conserve son existence — il reste utilisable ensuite.
Script
-- Annule toutes les modifications d'un workspace terminal (leaf) depuis sa création
SET LINESIZE 180
SET PAGESIZE 50000
SET VERIFY OFF
COLUMN current_workspace FORMAT a10 HEADING 'Current'
COLUMN owner FORMAT a20 HEADING 'Workspace Owner'
COLUMN workspace FORMAT a30 HEADING 'Workspace Name'
COLUMN createtime FORMAT a20 HEADING 'Create Time'
COLUMN freeze_status FORMAT a8 HEADING 'Freeze|Status'
COLUMN freeze_mode FORMAT a20 HEADING 'Freeze|Mode'
-- Tous les workspaces
SELECT
CASE WHEN dbms_wm.getworkspace = workspace THEN ' *' END AS current_workspace
, owner
, workspace
, TO_CHAR(createtime, 'DD-MON-YYYY HH24:MI:SS') createtime
, freeze_status
, freeze_mode
FROM
dba_workspaces
ORDER BY
owner, workspace;
ACCEPT wm_rollback_workspace_name CHAR PROMPT 'Enter name of workspace to rollback: '
BEGIN
dbms_wm.rollbackworkspace('&wm_rollback_workspace_name');
END;
/
Voir aussi
- Wm workspace — vue d'ensemble des workspaces et tables versionnées
- Wm remove workspace — supprimer définitivement un workspace (structure comprise)
- Wm freeze workspace — geler manuellement un workspace en lecture seule