zoukankan      html  css  js  c++  java
  • [bbk4781] 第32集 第三章 Flashback Table 09

    SQL> select table_name,operation,undo_sql from flashback_transaction_query where xid='06001D00D9080000';
    
    TABLE_NAME OPERATION    UNDO_SQL
    ---------- ------------ ----------------------------------------
    EMP1       UNKNOWN
    DEPT1      UNKNOWN
    EMP1       UNKNOWN
               BEGIN

    Oracle 11g排查上述操作不正常原因

    0、前提条件,是当前用户必须具有SELECT ANY TRANSACTION权限.

    SQL> SELECT * FROM SESSION_PRIVS;
    
    PRIVILEGE
    ----------------------------------------
    CREATE SESSION
    UNLIMITED TABLESPACE
    CREATE TABLE
    CREATE CLUSTER
    CREATE SEQUENCE
    CREATE PROCEDURE
    CREATE TRIGGER
    CREATE TYPE
    CREATE OPERATOR
    CREATE INDEXTYPE
    SELECT ANY TRANSACTION
    
    11 rows selected.

    1、查看归档模式(要求处于归档模式)

    SQL> conn /as sysdba
    Connected.
    SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     2
    Next log sequence to archive   4
    Current log sequence           4
    SQL> show user
    USER is "SYS"

    2、查看Undo_retention size(尽可能设置大一些) 及 UNDOTBS1->GUARANTEE(必须为GUARANTEE)

    SQL> show parameter undo
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    undo_management                      string      AUTO
    undo_retention                       integer     900
    undo_tablespace                      string      UNDOTBS1
    SQL> select tablespace_name,retention from dba_tablespaces;
    
    TABLESPACE_NAME                RETENTION
    ------------------------------ -----------
    SYSTEM                         NOT APPLY
    SYSAUX                         NOT APPLY
    UNDOTBS1                       GUARANTEE
    TEMP                           NOT APPLY
    USERS                          NOT APPLY
    EXAMPLE                        NOT APPLY
    TAB_U2                         NOT APPLY
    TAB_U3                         NOT APPLY
    TS0                            NOT APPLY
    TS1                            NOT APPLY
    TS2                            NOT APPLY
    
    TABLESPACE_NAME                RETENTION
    ------------------------------ -----------
    TS3                            NOT APPLY
    TS4                            NOT APPLY
    
    13 rows selected.

    3、查看v$database,设置SUPPLEMENTAL参数信息

    SQL> desc v$database;
     Name                                                  Null?    Type
     ----------------------------------------------------- -------- ------------------------------------
     DBID                                                           NUMBER
     NAME                                                           VARCHAR2(9)
     CREATED                                                        DATE
     RESETLOGS_CHANGE#                                              NUMBER
     RESETLOGS_TIME                                                 DATE
     PRIOR_RESETLOGS_CHANGE#                                        NUMBER
     PRIOR_RESETLOGS_TIME                                           DATE
     LOG_MODE                                                       VARCHAR2(12)
     CHECKPOINT_CHANGE#                                             NUMBER
     ARCHIVE_CHANGE#                                                NUMBER
     CONTROLFILE_TYPE                                               VARCHAR2(7)
     CONTROLFILE_CREATED                                            DATE
     CONTROLFILE_SEQUENCE#                                          NUMBER
     CONTROLFILE_CHANGE#                                            NUMBER
     CONTROLFILE_TIME                                               DATE
     OPEN_RESETLOGS                                                 VARCHAR2(11)
     VERSION_TIME                                                   DATE
     OPEN_MODE                                                      VARCHAR2(20)
     PROTECTION_MODE                                                VARCHAR2(20)
     PROTECTION_LEVEL                                               VARCHAR2(20)
     REMOTE_ARCHIVE                                                 VARCHAR2(8)
     ACTIVATION#                                                    NUMBER
     SWITCHOVER#                                                    NUMBER
     DATABASE_ROLE                                                  VARCHAR2(16)
     ARCHIVELOG_CHANGE#                                             NUMBER
     ARCHIVELOG_COMPRESSION                                         VARCHAR2(8)
     SWITCHOVER_STATUS                                              VARCHAR2(20)
     DATAGUARD_BROKER                                               VARCHAR2(8)
     GUARD_STATUS                                                   VARCHAR2(7)
     SUPPLEMENTAL_LOG_DATA_MIN                                      VARCHAR2(8)
     SUPPLEMENTAL_LOG_DATA_PK                                       VARCHAR2(3)
     SUPPLEMENTAL_LOG_DATA_UI                                       VARCHAR2(3)
     FORCE_LOGGING                                                  VARCHAR2(3)
     PLATFORM_ID                                                    NUMBER
     PLATFORM_NAME                                                  VARCHAR2(101)
     RECOVERY_TARGET_INCARNATION#                                   NUMBER
     LAST_OPEN_INCARNATION#                                         NUMBER
     CURRENT_SCN                                                    NUMBER
     FLASHBACK_ON                                                   VARCHAR2(18)
     SUPPLEMENTAL_LOG_DATA_FK                                       VARCHAR2(3)
     SUPPLEMENTAL_LOG_DATA_ALL                                      VARCHAR2(3)
     DB_UNIQUE_NAME                                                 VARCHAR2(30)
     STANDBY_BECAME_PRIMARY_SCN                                     NUMBER
     FS_FAILOVER_STATUS                                             VARCHAR2(22)
     FS_FAILOVER_CURRENT_TARGET                                     VARCHAR2(30)
     FS_FAILOVER_THRESHOLD                                          NUMBER
     FS_FAILOVER_OBSERVER_PRESENT                                   VARCHAR2(7)
     FS_FAILOVER_OBSERVER_HOST                                      VARCHAR2(512)
     CONTROLFILE_CONVERTED                                          VARCHAR2(3)
     PRIMARY_DB_UNIQUE_NAME                                         VARCHAR2(30)
     SUPPLEMENTAL_LOG_DATA_PL                                       VARCHAR2(3)
     MIN_REQUIRED_CAPTURE_CHANGE#                                   NUMBER
    
    SQL> SELECT LOG_MODE,SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
    
    LOG_MODE     SUPPLEME
    ------------ --------
    ARCHIVELOG   NO
    
    SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA(PRIMARY KEY) COLUMNS;
    
    Database altered.
    
    SQL> SELECT LOG_MODE,SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
    
    LOG_MODE     SUPPLEME
    ------------ --------
    ARCHIVELOG   IMPLICIT

    4、重新提交事务,再次查询即可看到undo_sql信息

    SQL> create table emp2 as select * from emp1;
    
    Table created.
    
    SQL> select * from emp2;
    
         EMPNO ENAME      JOB              MGR HIREDATE                  SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- ------------------ ---------- ---------- ----------
          7369 SMITH      CLERK           7902 17-DEC-80                2800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-81                1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-81                1250        500         30
          7566 JONES      MANAGER         7839 02-APR-81                2975                    20
          7654 MARTIN     SALESMAN        7698 28-SEP-81                1250       1400         30
          7698 BLAKE      MANAGER         7839 01-MAY-81                2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-81                2450                    10
          7788 SCOTT      ANALYST         7566 19-APR-87                3000                    20
          7839 KING       PRESIDENT            17-NOV-81                5000                    10
          7844 TURNER     SALESMAN        7698 08-SEP-81                1500          0         30
          7876 ADAMS      CLERK           7788 23-MAY-87                1100                    20
    
         EMPNO ENAME      JOB              MGR HIREDATE                  SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- ------------------ ---------- ---------- ----------
          7900 JAMES      CLERK           7698 03-DEC-81                 950                    30
          7902 FORD       ANALYST         7566 03-DEC-81                3000                    20
          7934 MILLER     CLERK           7782 23-JAN-82                1300                    10
          9999 arcerzhang                                              10000                    50
    
    15 rows selected.
    
    SQL> delete emp2 where empno=9999;
    
    1 row deleted.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select table_name,operation,undo_sql from flashback_transaction_query where table_name='EMP2';
    
    TABLE_NAME OPERATION    UNDO_SQL
    ---------- ------------ ----------------------------------------
    EMP2       DELETE       insert into "SCOTT"."EMP2"("EMPNO","ENAM
                            E","JOB","MGR","HIREDATE","SAL","COMM","
                            DEPTNO") values ('9999','arcerzhang',NUL
                            L,NULL,NULL,'10000',NULL,'50');

    将包执行权限授权给指定用户

    SQL> CONN /AS SYSDBA
    Connected.
    SQL> GRANT EXECUTE ON DBMS_FLASHBACK TO SCOTT;
    
    Grant succeeded.
  • 相关阅读:
    线段树专辑—— pku 1436 Horizontally Visible Segments
    线段树专辑——pku 3667 Hotel
    线段树专辑——hdu 1540 Tunnel Warfare
    线段树专辑—— hdu 1828 Picture
    线段树专辑—— hdu 1542 Atlantis
    线段树专辑 —— pku 2482 Stars in Your Window
    线段树专辑 —— pku 3225 Help with Intervals
    线段树专辑—— hdu 1255 覆盖的面积
    线段树专辑—— hdu 3016 Man Down
    Ajax跨域访问
  • 原文地址:https://www.cnblogs.com/arcer/p/3084101.html
Copyright © 2011-2022 走看看