Wm merge workspace
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script/commande SQL*Plus (Oracle Workspace Manager) |
| Voir aussi | Wm workspace · Wm refresh workspace · Wm freeze workspace |
Wm merge workspace fusionne un workspace vers son parent, via DBMS_WM.MergeWorkspace : les modifications faites dans le workspace fusionné deviennent visibles dans le workspace parent. Pendant l'exécution de l'opération, le workspace courant est gelé en mode NO_ACCESS et le workspace parent est gelé en READ_ONLY — l'opération est donc bloquante le temps du merge.
Opération complémentaire de Wm refresh workspace, qui propage dans l'autre sens (du parent vers l'enfant).
Amélioration apportée : le script d'origine ne réaffichait pas la liste des workspaces après l'opération. La version ci-dessous ajoute cette vérification finale, par cohérence avec les autres scripts de la famille Workspace Manager.
Script
-- Fusionne un workspace vers son workspace parent
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_merge_workspace_name CHAR PROMPT 'Enter name of workspace to merge: '
BEGIN
dbms_wm.mergeworkspace('&wm_merge_workspace_name');
END;
/
-- Vérification : le workspace fusionné a disparu de la liste (sauf s'il avait lui-même des enfants)
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;
Voir aussi
- Wm workspace — vue d'ensemble des workspaces et tables versionnées
- Wm refresh workspace — propager les changements du parent vers l'enfant (sens inverse)
- Wm freeze workspace — geler manuellement un workspace en lecture seule