/*********************************************************************/
实验目的:验证在sys用户下创建的表,无法实现flashback table功能
实验步骤:
1、sys->create table emp -> 7369 900
2、error->update --7369 900-1900
3、定位错误--flashback version query
4、recover->flashback table
/*********************************************************************/
1、登陆、建表、验证查询
USER is "SCOTT" SQL> conn /as sysdba Connected. SQL> create table emp as select * from SCOTT.emp; Table created. SQL> desc emp; Name Null? Type ----------------------------------------------------- -------- ------------------------------------ EMPNO NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) SQL> select empno,ename,sal from emp; EMPNO ENAME SAL ---------- ---------- ---------- 7369 SMITH 800 7499 ALLEN 1600 7521 WARD 1250 7566 JONES 2975 7654 MARTIN 1250 7698 BLAKE 2850 7782 CLARK 2450 7788 SCOTT 3000 7839 KING 5000 7844 TURNER 1500 7876 ADAMS 1100 EMPNO ENAME SAL ---------- ---------- ---------- 7900 JAMES 950 7902 FORD 3000 7934 MILLER 1300 14 rows selected.
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') current_date from dual; CURRENT_DATE ------------------- 2013-05-17 11:26:27
SQL> update emp set sal=1900 where empno=7369; 1 row updated. SQL> commit; Commit complete.
SQL> select empno,ename,sal from emp 2 as of timestamp to_date('2013-05-17 11:26:27','yyyy-mm-dd hh24:mi:ss'); EMPNO ENAME SAL ---------- ---------- ---------- 7369 SMITH 800 7499 ALLEN 1600 7521 WARD 1250 7566 JONES 2975 7654 MARTIN 1250 7698 BLAKE 2850 7782 CLARK 2450 7788 SCOTT 3000 7839 KING 5000 7844 TURNER 1500 7876 ADAMS 1100 EMPNO ENAME SAL ---------- ---------- ---------- 7900 JAMES 950 7902 FORD 3000 7934 MILLER 1300 14 rows selected.
SQL> flashback table emp to timestamp to_date('2013-05-17 11:26:27','yyyy-mm-dd hh24:mi:ss'); flashback table emp to timestamp to_date('2013-05-17 11:26:27','yyyy-mm-dd hh24:mi:ss') * ERROR at line 1: ORA-08185: Flashback not supported for user SYS
/**********************************************************************************************************/
实验目的:验证建立在sys用户下的表,即使没有建立在sys tablespace下,但是是以sys身份创建的,同样也无法使用flashback table功能闪回表
实验步骤:
/**********************************************************************************************************/
/********************************************************************************************/
实验目的:验证非sys用户,创建表时创建在sys tablespace上,是否可以使用flashback table功能?
实验步骤:
实验结论:可以
flashback table功能是以schema为参考依据,而不是以tablespace为参考.
/********************************************************************************************/