create database ord
    user sys identified by ds88dkw2
    user system identified by md78s233
    sysaux datafile '/u02/oradata/ord/sysaux001.dbf' size 100m
    default temporary tablespace temp01
        tempfile '/u03/oradata/ord/temp001.dbf' size 25m
    undo tablespace undotbs01
        datafile '/u01/oradata/ord/undo001.dbf' size 50m;

create undo tablespace undotbs02
    datafile '/u01/oracle/rbdb1/undo002.dbf'
    size 25m reuse autoextend on;

begin
    dbms_resource_manager.create_pending_area();
    dbms_resource_manager.update_plan_directive(
        plan => 'system_plan',
        group_or_subplan => 'low_group',
        new_comment => 'Limit przestrzeni wycofania dla grup o niskim priorytecie',
        new_undo_pool => 1000);
    dbms_resource_manager.validate_pending_area();
    dbms_resource_manager.submit_pending_area();
end;

declare
    -- Kursor przechowujcy usunite wiersze
    cursor del_emp is
        select * from hr.employees where employee_id in (195, 196);
    del_emp_rec del_emp%rowtype; -- wszystkie kolumny wiersza pracownika
begin
    -- Otwarcie kursora  wci w trybie Flashback
    open del_emp;
    -- Wyczenie Flashback, aby za pomoc DML umieci wiersze
    -- z powrotem w tabeli HR.EMPLOYEES
    dbms_flashback.disable;
    loop
        fetch del_emp into del_emp_rec;
        exit when del_emp%notfound;
        insert into hr.employees values del_emp_rec;
    end loop;
    commit;
    close del_emp;
end; -- Koniec anonimowej procedury PL/SQL

