Wm freeze workspace

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script/commande SQL*Plus (Oracle Workspace Manager)
Voir aussi Wm workspace · Wm unfreeze workspace · Wm merge workspace

Wm freeze workspace gèle un workspace en lecture seule (READ_ONLY), via DBMS_WM.FreezeWorkspace. Geler un workspace bloque toute modification de données dans ce workspace et empêche de nouvelles sessions d'y entrer — typiquement en préparation d'un merge ou d'une revue de données, le temps de figer un état stable.

L'opération inverse est Wm unfreeze workspace.

Script

-- Gèle un workspace en lecture seule (READ_ONLY)
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, avec leur statut de gel courant
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_freeze_workspace_name CHAR PROMPT 'Enter name of workspace to freeze: '

BEGIN
    dbms_wm.freezeworkspace('&wm_freeze_workspace_name', 'READ_ONLY');
END;
/

-- Vérification : freeze_status doit être passé à FROZEN
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