• Oracle课程档案,第十七天


    flashback drop 闪回下降(删除)
    SQL> show parameter recyclebin
    SQL> purge recyclebin;(清除回收站)
    SQL> create tablespace tbs01 datafile '/home/oracle/tbs01.dbf' size 5M;
    SQL> create table t1 tablespace tbs01 as select * from dba_objects where rownum<=20000;
    SQL> create index t1_object_id_idx on t1(object_id) tablespace tbs01;
    SQL> select INDEX_NAME from user_indexes where TABLE_NAME='T1';
    SQL> drop table t1;
    SQL> select table_name from user_tables;
    SQL> show recyclebin
    SQL> select object_name, original_name, type, droptime from user_recyclebin; 包含index
    SQL> select count(*) from "BIN$IyKOcy5jPo7gUwEAqMCBEg==$0";
    SQL> flashback table t1 to before drop;
    SQL> select INDEX_NAME from user_indexes where TABLE_NAME='T1';
    SQL> alter index "BIN$LRyc7hA1JaPgUwEAqMDzWw==$0" rename to T1_OBJECT_ID_IDX; 恢复index名称
    重名的处理:
    SQL> flashback table "BIN$IyKOcy5jPo7gUwEAqMCBEg==$0" to before drop;
    SQL> flashback table t1 to before drop rename to t2;
    SQL> drop table t1;
    SQL> show recyclebin 在回收站中
    SQL> create table t2 tablespace tbs01 as select * from dba_objects where rownum<=30000;
    SQL> show recyclebin t1被覆盖
    SQL> drop table t2 purge;
    SQL> purge recyclebin
    flashback transaction query(闪回事务查询)
    SQL> alter database add supplemental log data;
    SQL> alter database add supplemental log data (primary key) columns;
    SQL> create table t1(x int);
    SQL> insert into t1 values (1);
    SQL> commit;
    SQL> update t1 set x=11 where x=1; 误操作的事务
    SQL> commit;
    SQL> insert into t1 values (2);
    SQL> commit;
    select versions_starttime, versions_endtime, versions_xid, versions_operation, x
    from t1
    versions between scn minvalue and maxvalue
    order by versions_starttime; 获取误操作事务的xid
    SQL> select UNDO_SQL, OPERATION from flashback_transaction_query where xid='02000F0059040000';
    flashback database(闪回数据库)
    SQL> shutdown immediate
    SQL> startup mount
    SQL> alter database flashback on; 数据库在归档模式下
    SQL> show parameter db_flashback_retention_target
    SQL> select OLDEST_FLASHBACK_TIME from v$flashback_database_log;
    SQL> create table t1(x int);
    SQL> insert into t1 values (1);
    SQL> commit;
    SQL> select dbms_flashback.get_system_change_number from dual;
    SQL> truncate table t1;
    SQL> create table after_truncate(x int); 其他正确操作
    SQL> select OLDEST_FLASHBACK_TIME, OLDEST_FLASHBACK_SCN from v$flashback_database_log; 确认是否在恢复范围
    SQL> shutdown abort
    SQL> startup mount
    SQL> flashback database to scn 1495195;
    SQL> alter database open resetlogs;
    SQL> select * from t1;
    SQL> select * from after_truncate; 消失
    移动数据
    sqlloader
    SQL> create table t1(id int constraint t1_id_pk primary key, name varchar2(20), salary int constraint t1_salary_ck check(salary>0));
    $ vi ~/loader.dat
    100,"abc",1000
    100,"def",2000
    102,"xyz",-1000
    em中常规导入,自动处理违反约束的记录

    em中直接导入
    SQL> select CONSTRAINT_NAME, STATUS from user_constraints where TABLE_NAME='T1';
    SQL> select INDEX_NAME, STATUS from user_indexes where TABLE_NAME='T1';
    SQL> alter table t1 enable validate constraint T1_SALARY_CK; 失败
    SQL> @?/rdbms/admin/utlexpt1.sql
    处理check约束:
    SQL> alter table t1 enable validate constraint T1_SALARY_CK exceptions into exceptions;
    SQL> select * from t1 where rowid in(select ROW_ID from exceptions);
    SQL> update t1 set salary=abs(salary) where id=102;
    SQL> truncate table exceptions;
    SQL> alter table t1 enable validate constraint T1_SALARY_CK exceptions into exceptions;
    处理pk约束:
    SQL> alter table t1 disable novalidate constraint T1_ID_PK;
    SQL> alter table t1 enable validate constraint T1_ID_PK exceptions into exceptions;
    SQL> select * from t1 where rowid in(select ROW_ID from exceptions);
    SQL> update t1 set id=101 where name='def';
    SQL> truncate table exceptions;
    SQL> alter table t1 enable validate constraint T1_ID_PK exceptions into exceptions;
    SQL> select INDEX_NAME, STATUS from user_indexes where TABLE_NAME='T1';

  • 相关阅读:
    2020-2021-1 20201217《信息安全专业导论》第十一周学习总结
    python模拟进程状态
    博客文章汇总
    20201225 张晓平《信息安全专业导论》第十三周学习总结
    网站设计
    gpg
    20201225 张晓平《信息安全专业导论》第十二周学习总结
    wire shark
    ssh
    成绩调节
  • 原文地址:https://www.cnblogs.com/awdsjk/p/7391512.html
Copyright © 2020-2023  润新知