dbms_wm.gotodate
begin
dbms_wm.gotoworkspace('B_focus_1');
end;
insert into test values (6,'Wayanad','YS','n',null,sysdate);
select * from test order by one ;
begin
dbms_wm.gotodate( (sysdate-5)) ;
end;
select * from test order by one ;
begin
dbms_wm.gotoworkspace('B_focus_1');
end;
select * from test order by one ;
Freezeworkspace
begin
dbms_wm.freezeworkspace('B_focus_1', 'READ_ONLY');
end;
insert into test values (6,'Wayanad','YS','n',null,sysdate);
This Error will be throwed when we try any DML operations (here to insert data) into a readonly workspace.
ORA-20123: workspace 'B_focus_1' is currently frozen in READ_ONLY mode
Export And Import Implications
The following implications are a result of version-enabling tables:
* Imports of version-enabled tables can only be performed if the target database has Workspace Manager installed and no workspaces defined other than LIVE.
* Only full database exports are supported with version-enabled databases.
* The IGNORE=Y parameter must be set for imports of version enabled databases.
* Imports of version-enabled databases cannot use the FROMUSER and TOUSER functioanlity.
For More about workspaces Refer here
Showing posts with label gotoworkspace. Show all posts
Showing posts with label gotoworkspace. Show all posts
Apr 7, 2009
Mar 26, 2009
Oracle Wokspace 3
To Refresh workspace
begin
dbms_wm.gotoworkspace('B_focus_9');
dbms_wm.refreshworkspace('B_focus_9');
end;
But if there are conflicts refreshworkspace will result an error
ORA-20056: conflicts detected for workspace: 'B_focus_9' in table: 'USER.TEST'
LIVE WORKSPACE CANNOT BE REFRESHED
The two rows that changed in both the LIVE and the 'B_focus_9' workspace create a conflict. These conflicts can be seen from the view Test_conf. But first go to the 'B_focus_9' workspace. The conflicts are not visible in this view while being in the LIVE workspace.
--------------------------
To Resolve this conflicts
SELECT * FROM test_conf ORDER BY wm_workspace;
begin
dbms_wm.gotoworkspace('B_focus_9');
dbms_wm.beginresolve('B_focus_9');
dbms_wm.resolveconflicts('B_focus_9','TEST',null/*where clause*/,'PARENT');
commit;
end;
begin
dbms_wm.commitresolve('B_focus_9');
end;
SELECT * FROM test_conf ORDER BY wm_workspace;
After resolving this conflict the workspace can be refreshed
begin
dbms_wm.refreshworkspace('B_focus_9');
end;
Merge Workspace
begin
dbms_wm.mergeworkspace('B_focus_9');
end;
When B_focus_9 workspace is merged into the LIVE workspace. A merge is the opposite of a refresh : it updates the parent workspace (LIVE) with the changes made to the merged workspace (B_focus_9). Where as refresh operation updates the refreshing workspace.
---------------------------------
After MergeWorkspace See Difference
begin
dbms_wm.gotoworkspace('B_focus_1');
end;
select * from test order by one
begin
dbms_wm.gotoworkspace('B_focus_9');
end;
select * from test order by one
begin
dbms_wm.gotoworkspace('LIVE');
end;
select * from test order by one
Here parent workspace (LIVE) was updated by merged workspace (B_focus_9) .
----------------
begin
dbms_wm.gotoworkspace('B_focus_9');
dbms_wm.refreshworkspace('B_focus_9');
end;
But if there are conflicts refreshworkspace will result an error
ORA-20056: conflicts detected for workspace: 'B_focus_9' in table: 'USER.TEST'
LIVE WORKSPACE CANNOT BE REFRESHED
The two rows that changed in both the LIVE and the 'B_focus_9' workspace create a conflict. These conflicts can be seen from the view Test_conf. But first go to the 'B_focus_9' workspace. The conflicts are not visible in this view while being in the LIVE workspace.
--------------------------
To Resolve this conflicts
SELECT * FROM test_conf ORDER BY wm_workspace;
begin
dbms_wm.gotoworkspace('B_focus_9');
dbms_wm.beginresolve('B_focus_9');
dbms_wm.resolveconflicts('B_focus_9','TEST',null/*where clause*/,'PARENT');
commit;
end;
begin
dbms_wm.commitresolve('B_focus_9');
end;
SELECT * FROM test_conf ORDER BY wm_workspace;
After resolving this conflict the workspace can be refreshed
begin
dbms_wm.refreshworkspace('B_focus_9');
end;
Merge Workspace
begin
dbms_wm.mergeworkspace('B_focus_9');
end;
When B_focus_9 workspace is merged into the LIVE workspace. A merge is the opposite of a refresh : it updates the parent workspace (LIVE) with the changes made to the merged workspace (B_focus_9). Where as refresh operation updates the refreshing workspace.
---------------------------------
After MergeWorkspace See Difference
begin
dbms_wm.gotoworkspace('B_focus_1');
end;
select * from test order by one
begin
dbms_wm.gotoworkspace('B_focus_9');
end;
select * from test order by one
begin
dbms_wm.gotoworkspace('LIVE');
end;
select * from test order by one
Here parent workspace (LIVE) was updated by merged workspace (B_focus_9) .
----------------
Oracle Workspace 2
The merge operation does not currently work with versioned tables. The optimizer translates the merge into
insert/update statements on the underlying _LT table
To have several versions of data
create table TEST (
one number primary key, -- Without primary key: ORA-20133:
two varchar2(15), three char(2), four clob,
five blob, six date );
insert into test values (1,'Cochin','NO','Kochi is a vibrant city situated on the south-west coast of the Indian peninsula in the breathtakingly scenic and prosperous state of Kerala, hailed as Gods Own Country',null,sysdate);
insert into test values (2,'Kerala','YS','n',null,sysdate);
insert into test values (3,'TVM','NO','n',null,sysdate);
insert into test values (4,'Calicut','NO','n',null,sysdate);
insert into test values (5,'Kannur','YS','n',null,sysdate);
commit;
begin
dbms_wm.enableversioning ('test');
end;
begin
dbms_wm.createworkspace ('B_focus_1');
dbms_wm.createworkspace ('B_focus_9' );
end;
begin
dbms_wm.gotoworkspace('B_focus_1');
dbms_wm.createworkspace ('test' );
end;
select workspace, parent_workspace from user_workspaces;
select * from test order by one;
update test set two='Kasargode',three='NO',four='Top end of Kerala',Six=sysdate where one=2;
commit;
begin
dbms_wm.gotoworkspace('LIVE');
end;
select * from test order by one
begin
dbms_wm.gotoworkspace('B_focus_9');
end;
select * from test order by one
update test set two='Thrissur',three='NO',four='Middle of Kerala',Six=sysdate where one=2;
commit;
select * from test order by one
begin
dbms_wm.gotoworkspace('test');
end;
select * from test order by one
insert/update statements on the underlying _LT table
To have several versions of data
create table TEST (
one number primary key, -- Without primary key: ORA-20133:
two varchar2(15), three char(2), four clob,
five blob, six date );
insert into test values (1,'Cochin','NO','Kochi is a vibrant city situated on the south-west coast of the Indian peninsula in the breathtakingly scenic and prosperous state of Kerala, hailed as Gods Own Country',null,sysdate);
insert into test values (2,'Kerala','YS','n',null,sysdate);
insert into test values (3,'TVM','NO','n',null,sysdate);
insert into test values (4,'Calicut','NO','n',null,sysdate);
insert into test values (5,'Kannur','YS','n',null,sysdate);
commit;
begin
dbms_wm.enableversioning ('test');
end;
begin
dbms_wm.createworkspace ('B_focus_1');
dbms_wm.createworkspace ('B_focus_9' );
end;
begin
dbms_wm.gotoworkspace('B_focus_1');
dbms_wm.createworkspace ('test' );
end;
select workspace, parent_workspace from user_workspaces;
select * from test order by one;
update test set two='Kasargode',three='NO',four='Top end of Kerala',Six=sysdate where one=2;
commit;
begin
dbms_wm.gotoworkspace('LIVE');
end;
select * from test order by one
begin
dbms_wm.gotoworkspace('B_focus_9');
end;
select * from test order by one
update test set two='Thrissur',three='NO',four='Middle of Kerala',Six=sysdate where one=2;
commit;
select * from test order by one
begin
dbms_wm.gotoworkspace('test');
end;
select * from test order by one
Subscribe to:
Posts (Atom)