Oracle DBCA创建数据库 闪回

来源:互联网 发布:天津大学网络自服务 编辑:程序博客网 时间:2024/06/05 18:03

DBCA全称 Database Configuration Assistant

可以通过点击菜单 也可以直接在命令行中输入dbca运行


ASM=Automatic Storage Management

AIX --> IBM
Redhat Linux
Solaris -->Sun -->Oracle


BI

OLTP ->transaction ->Oracle(Online Transaction Process)
OLAP ->Analysis

如果数据库是归档模式  就是在定义闪回的时候 Enable Arching oracle 默认是非归档模式
归档模式 —> 热备份 联机备份
非归档模式 -> 冷备份 离线备份
SQL> conn / as sysdba
已连接。
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 89
当前日志序列 91



优化:分区partition--> 对于大表

闪回

SQL> /*SQL> 1. 错误地删除了记录SQL> 2. 错误地删除了表SQL> 3. 查询历史记录SQL> 4. 如何撤销一个已经提交的事务SQL> SQL> 闪回的类型SQL> 1. 闪回表:将表回退到过去的一个时间上SQL> 2. 闪回删除:Oracle回收站SQL> 3. 闪回版本查询:所有历史记录SQL> 4. 闪回事务查询: 通过select语句得到一个 undo_sqlSQL> SQL> 5. 闪回数据库SQL> 6. 闪回归档日志SQL> */
SQL> --SCN系统改变号(时间)SQL> select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss*ff') 时间,  2         timestamp_to_scn(systimestamp) SCN  3  from dual;时间                                 SCN                                        ----------------------------- ----------                                        2012-10-25 10:31:02*000000       3783972                                        SQL> /*SQL> SQL> show parameter undoSQL> SQL> NAME                                 TYPE        VALUESQL> ------------------------------------ ----------- --------------------SQL> undo_management                      string      AUTOSQL> undo_retention                       integer     1200SQL> undo_tablespace                      string      UNDOTBS1SQL> SQL> --scope的取值: momery  spfile bothSQL> SQL> alter system set undo_retention=900 scope=both;SQL> */SQL> --权限  grant flashback any table to scott;


闪回表

SQL> --权限  grant flashback any table to scott;SQL> create table flashback_table  2  (fid number,fname varchar2(20));表已创建。SQL> insert into flashback_table values(1,'Tom');已创建 1 行。SQL> insert into flashback_table values(2,'Mary');已创建 1 行。SQL> insert into flashback_table values(3,'Mike');已创建 1 行。SQL> commit;提交完成。SQL> --当前时间SQL>  select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss*ff') 时间,  2          timestamp_to_scn(systimestamp) SCN  3   from dual;时间                                 SCN                                        ----------------------------- ----------                                        2012-10-25 10:36:22*046000       3784220                                        SQL> select * from flashback_table;       FID FNAME                                                                ---------- --------------------                                                          1 Tom                                                                           2 Mary                                                                          3 Mike                                                                 SQL> --删除marySQL> delete from  flashback_table where fid =2;已删除 1 行。SQL> commit;提交完成。SQL> select * from flashback_table;       FID FNAME                                                                ---------- --------------------                                                          1 Tom                                                                           3 Mike                                                                 SQL> --执行闪回表SQL> flashback table  flashback_table to scn 3784220;flashback table  flashback_table to scn 3784220                 *第 1 行出现错误: ORA-08189: 因为未启用行移动功能, 不能闪回表 SQL> --开启表的行移动SQL> alter table flashback_table enable row movement;表已更改。SQL> flashback table  flashback_table to scn 3784220;闪回完成。SQL> select * from flashback_table;       FID FNAME                                                                ---------- --------------------                                                          1 Tom                                                                           2 Mary                                                                          3 Mike                                                                 SQL> --问题:如何获取最近的一个时间?
闪回表操作:
系统表不能被闪回
不能跨越DDL操作
会被写入警告日志
产生撤销和重做的数据


闪回删除

SQL> --闪回删除SQL> select * from tab;TNAME                          TABTYPE  CLUSTERID                               ------------------------------ ------- ----------                               DEPT                           TABLE                                            EMP                            TABLE                                            BONUS                          TABLE                                            SALGRADE                       TABLE                                            EMP20                          TABLE                                            TESTSAVEPOINT                  TABLE                                            TEST2                          TABLE                                            MYPERSON                       TABLE                                            EMP10                          TABLE                                            EMPINCOME                      TABLE                                            VIEW1                          VIEW                                             TNAME                          TABTYPE  CLUSTERID                               ------------------------------ ------- ----------                               VIEW2                          VIEW                                             TESTSEQ                        TABLE                                            HREMP                          SYNONYM                                          MSG1                           TABLE                                            TEST1                          TABLE                                            PM_CI                          TABLE                                            PM_STU                         TABLE                                            FLASHBACK_TABLE                TABLE                                            SYS_TEMP_FBT                   TABLE                                            已选择20行。SQL> drop table test1;表已删除。SQL> show recyclebinORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME          ---------------- ------------------------------ ------------ -------------------TEST1            BIN$Rn2qG7V+SO2k+aNrG/oYww==$0 TABLE        2012-10-25:10:45:11SQL> purge recyclebin;回收站已清空。SQL> --管理员没有回收站SQL> select * from TESTSEQ;       TID TNAME                                                                ---------- --------------------                                                          3 aaa                                                                           4 aaa                                                                           5 aaa                                                                           8 aaa                                                                  SQL> drop table TESTSEQ;表已删除。SQL> show recyclebinORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME          ---------------- ------------------------------ ------------ -------------------TESTSEQ          BIN$UhseqyX1Reyl5iurpupyEg==$0 TABLE        2012-10-25:10:47:38SQL> select * from TESTSEQ;select * from TESTSEQ              *第 1 行出现错误: ORA-00942: 表或视图不存在 SQL> select * from tab;TNAME                          TABTYPE  CLUSTERID                               ------------------------------ ------- ----------                               DEPT                           TABLE                                            EMP                            TABLE                                            BONUS                          TABLE                                            SALGRADE                       TABLE                                            EMP20                          TABLE                                            TESTSAVEPOINT                  TABLE                                            TEST2                          TABLE                                            MYPERSON                       TABLE                                            EMP10                          TABLE                                            EMPINCOME                      TABLE                                            VIEW1                          VIEW                                             TNAME                          TABTYPE  CLUSTERID                               ------------------------------ ------- ----------                               VIEW2                          VIEW                                             HREMP                          SYNONYM                                          MSG1                           TABLE                                            BIN$UhseqyX1Reyl5iurpupyEg==$0 TABLE                                            PM_CI                          TABLE                                            PM_STU                         TABLE                                            FLASHBACK_TABLE                TABLE                                            SYS_TEMP_FBT                   TABLE                                            已选择19行。SQL> select * from BIN$UhseqyX1Reyl5iurpupyEg==$0;select * from BIN$UhseqyX1Reyl5iurpupyEg==$0                                        *第 1 行出现错误: ORA-00933: SQL 命令未正确结束 SQL> select * from "BIN$UhseqyX1Reyl5iurpupyEg==$0";       TID TNAME                                                                ---------- --------------------                                                          3 aaa                                                                           4 aaa                                                                           5 aaa                                                                           8 aaa                                                                  SQL> host clsSQL> show recyclebinORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME          ---------------- ------------------------------ ------------ -------------------TESTSEQ          BIN$UhseqyX1Reyl5iurpupyEg==$0 TABLE        2012-10-25:10:47:38SQL> --执行闪回删除SQL> flashback table testseq to before drop;闪回完成。SQL> show recyclebinSQL> select * from testseq;       TID TNAME                                                                ---------- --------------------                                                          3 aaa                                                                           4 aaa                                                                           5 aaa                                                                           8 aaa                                                                  SQL> host clsSQL> drop  table testseq;表已删除。SQL> create table testseq(tid number);表已创建。SQL> drop  table testseq;表已删除。SQL> show recyclebinORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME          ---------------- ------------------------------ ------------ -------------------TESTSEQ          BIN$ZsXHtmHLTLu40DAC6jiKqg==$0 TABLE        2012-10-25:10:51:22TESTSEQ          BIN$hBllsvl5Tum9hHaSvtQhag==$0 TABLE        2012-10-25:10:51:01SQL> flashback table testseq to before drop;闪回完成。SQL> show recyclebinORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME          ---------------- ------------------------------ ------------ -------------------TESTSEQ          BIN$hBllsvl5Tum9hHaSvtQhag==$0 TABLE        2012-10-25:10:51:01SQL> select * from testseq;未选定行SQL> flashback table testseq to before drop;flashback table testseq to before drop*第 1 行出现错误: ORA-38312: 原始名称已被现有对象使用 SQL> --闪回重名的表SQL> flashback table testseq to before drop rename to testseq_old;闪回完成。SQL> select * from testseq_old;       TID TNAME                                                                ---------- --------------------                                                          3 aaa                                                                           4 aaa                                                                           5 aaa                                                                           8 aaa                                                                  SQL> host clsSQL> /*SQL> 小结:SQL> 基本概念: 1. SCN   2. 900秒15分钟  3. 权限 flashback any tablesSQL> 闪回表:将表回退到过去的一个时间SQL>          1. 行移动SQL>          2. 执行闪回表SQL>         注意: 系统表不能闪回;不能跨越DDLSQL>         问题: 如何得到离该操作最近的一个时间??SQL> 闪回删除: Oracle的回收站SQL>         1. 执行闪回删除SQL>         2. 通过回收站中的名字闪回(双引号)SQL>         3. 重名的表SQL>         4. 触发器(disable 闪回之后默认是禁用的)  5还有就是 管理员没有回收站 谨慎操作SQL> */

闪回版本查询

SQL> --闪回版本查询SQL> create table versions_table  2  (tid number,tname varchar2(20));表已创建。SQL> insert into versions_table values(1,'Tom');已创建 1 行。SQL> commit;提交完成。SQL> insert into versions_table values(2,'Mary');已创建 1 行。SQL> commit;提交完成。SQL> insert into versions_table values(3,'Mike');已创建 1 行。SQL> commit;提交完成。SQL> update versions_table set tname='MaryNew' where tid=2;已更新 1 行。SQL> commit;提交完成。SQL> select * from  versions_table;       TID TNAME                                                                ---------- --------------------                                                          1 Tom                                                                           2 MaryNew                                                                       3 Mike                                                                 SQL> --如何查询Mary?SQL> --执行闪回版本查询SQL> select tid,tname  2  from versions_table  3  versions between TIMESTAMP MINVALUE and MAXVALUE  4  order by 1;       TID TNAME                                                                ---------- --------------------                                                          1 Tom                                                                           2 MaryNew                                                                       2 Mary                                                                          3 Mike                                                                 SQL> select tid,tname,versions_operation 操作,versions_starttime 起始时间,  2             versions_endtime 结束时间,versions_xid 事务号  3  from versions_table  4  versions between TIMESTAMP MINVALUE and MAXVALUE  5  order by 1,4;       TID TNAME                                                                ---------- -------------------- -                                               起始时间                                                                        ---------------------------------------------------------------------------     结束时间                                                                        ---------------------------------------------------------------------------     事务号                                                                          ----------------                                                                         1 Tom                  I                                               25-10月-12 11.17.28 上午                                                                                                                                        03002E005A050000                                                                                                                                                       TID TNAME                                                                ---------- -------------------- -                                               起始时间                                                                        ---------------------------------------------------------------------------     结束时间                                                                        ---------------------------------------------------------------------------     事务号                                                                          ----------------                                                                         2 Mary                 I                                               25-10月-12 11.17.37 上午                                                        25-10月-12 11.18.16 上午                                                        02000D0064050000                                                                                                                                                       TID TNAME                                                                ---------- -------------------- -                                               起始时间                                                                        ---------------------------------------------------------------------------     结束时间                                                                        ---------------------------------------------------------------------------     事务号                                                                          ----------------                                                                         2 MaryNew              U                                               25-10月-12 11.18.16 上午                                                                                                                                        0600030065050000                                                                                                                                                       TID TNAME                                                                ---------- -------------------- -                                               起始时间                                                                        ---------------------------------------------------------------------------     结束时间                                                                        ---------------------------------------------------------------------------     事务号                                                                          ----------------                                                                         3 Mike                 I                                               25-10月-12 11.17.46 上午                                                                                                                                        0400130061050000                                                                                                                                                SQL> set linesize 150SQL> col tid for 99SQL> col tname for a10SQL> col 操作 for a8SQL> col 起始时间 for a40SQL> col 结束时间 for a40SQL> select tid,tname,versions_operation 操作,versions_starttime 起始时间,  2             versions_endtime 结束时间,versions_xid 事务号  3  from versions_table  4  versions between TIMESTAMP MINVALUE and MAXVALUE  5  order by 1,4;TID TNAME      操作     起始时间                                 结束时间                                 事务号                                      --- ---------- -------- ---------------------------------------- ---------------------------------------- ----------------                              1 Tom        I        25-10月-12 11.17.28 上午                                                          03002E005A050000                              2 Mary       I        25-10月-12 11.17.37 上午                 25-10月-12 11.18.16 上午                 02000D0064050000                              2 MaryNew    U        25-10月-12 11.18.16 上午                                                          0600030065050000                              3 Mike       I        25-10月-12 11.17.46 上午                                                          0400130061050000                            SQL> col 起始时间 for a30SQL> col 结束时间 for a30SQL> col 操作 for a4SQL> select tid,tname,versions_operation 操作,versions_starttime 起始时间,  2             versions_endtime 结束时间,versions_xid 事务号  3  from versions_table  4  versions between TIMESTAMP MINVALUE and MAXVALUE  5  order by 1,4;TID TNAME      操作 起始时间                       结束时间                       事务号                                                              --- ---------- ---- ------------------------------ ------------------------------ ----------------                                                      1 Tom        I    25-10月-12 11.17.28 上午                                      03002E005A050000                                                      2 Mary       I    25-10月-12 11.17.37 上午       25-10月-12 11.18.16 上午       02000D0064050000                                                      2 MaryNew    U    25-10月-12 11.18.16 上午                                      0600030065050000                                                      3 Mike       I    25-10月-12 11.17.46 上午                                      0400130061050000                                                    

闪回事务查询

SQL> --闪回版本查询SQL> create table versions_table  2  (tid number,tname varchar2(20));表已创建。SQL> insert into versions_table values(1,'Tom');已创建 1 行。SQL> commit;提交完成。SQL> insert into versions_table values(2,'Mary');已创建 1 行。SQL> commit;提交完成。SQL> insert into versions_table values(3,'Mike');已创建 1 行。SQL> commit;提交完成。SQL> update versions_table set tname='MaryNew' where tid=2;已更新 1 行。SQL> commit;提交完成。SQL> select * from  versions_table;       TID TNAME                                                                ---------- --------------------                                                          1 Tom                                                                           2 MaryNew                                                                       3 Mike                                                                 SQL> --如何查询Mary?SQL> --执行闪回版本查询SQL> select tid,tname  2  from versions_table  3  versions between TIMESTAMP MINVALUE and MAXVALUE  4  order by 1;       TID TNAME                                                                ---------- --------------------                                                          1 Tom                                                                           2 MaryNew                                                                       2 Mary                                                                          3 Mike                                                                 SQL> select tid,tname,versions_operation 操作,versions_starttime 起始时间,  2             versions_endtime 结束时间,versions_xid 事务号  3  from versions_table  4  versions between TIMESTAMP MINVALUE and MAXVALUE  5  order by 1,4;       TID TNAME                                                                ---------- -------------------- -                                               起始时间                                                                        ---------------------------------------------------------------------------     结束时间                                                                        ---------------------------------------------------------------------------     事务号                                                                          ----------------                                                                         1 Tom                  I                                               25-10月-12 11.17.28 上午                                                                                                                                        03002E005A050000                                                                                                                                                       TID TNAME                                                                ---------- -------------------- -                                               起始时间                                                                        ---------------------------------------------------------------------------     结束时间                                                                        ---------------------------------------------------------------------------     事务号                                                                          ----------------                                                                         2 Mary                 I                                               25-10月-12 11.17.37 上午                                                        25-10月-12 11.18.16 上午                                                        02000D0064050000                                                                                                                                                       TID TNAME                                                                ---------- -------------------- -                                               起始时间                                                                        ---------------------------------------------------------------------------     结束时间                                                                        ---------------------------------------------------------------------------     事务号                                                                          ----------------                                                                         2 MaryNew              U                                               25-10月-12 11.18.16 上午                                                                                                                                        0600030065050000                                                                                                                                                       TID TNAME                                                                ---------- -------------------- -                                               起始时间                                                                        ---------------------------------------------------------------------------     结束时间                                                                        ---------------------------------------------------------------------------     事务号                                                                          ----------------                                                                         3 Mike                 I                                               25-10月-12 11.17.46 上午                                                                                                                                        0400130061050000                                                                                                                                                SQL> set linesize 150SQL> col tid for 99SQL> col tname for a10SQL> col 操作 for a8SQL> col 起始时间 for a40SQL> col 结束时间 for a40SQL> select tid,tname,versions_operation 操作,versions_starttime 起始时间,  2             versions_endtime 结束时间,versions_xid 事务号  3  from versions_table  4  versions between TIMESTAMP MINVALUE and MAXVALUE  5  order by 1,4;TID TNAME      操作     起始时间                                 结束时间                                 事务号                                      --- ---------- -------- ---------------------------------------- ---------------------------------------- ----------------                              1 Tom        I        25-10月-12 11.17.28 上午                                                          03002E005A050000                              2 Mary       I        25-10月-12 11.17.37 上午                 25-10月-12 11.18.16 上午                 02000D0064050000                              2 MaryNew    U        25-10月-12 11.18.16 上午                                                          0600030065050000                              3 Mike       I        25-10月-12 11.17.46 上午                                                          0400130061050000                            SQL> col 起始时间 for a30SQL> col 结束时间 for a30SQL> col 操作 for a4SQL> select tid,tname,versions_operation 操作,versions_starttime 起始时间,  2             versions_endtime 结束时间,versions_xid 事务号  3  from versions_table  4  versions between TIMESTAMP MINVALUE and MAXVALUE  5  order by 1,4;TID TNAME      操作 起始时间                       结束时间                       事务号                                                              --- ---------- ---- ------------------------------ ------------------------------ ----------------                                                      1 Tom        I    25-10月-12 11.17.28 上午                                      03002E005A050000                                                      2 Mary       I    25-10月-12 11.17.37 上午       25-10月-12 11.18.16 上午       02000D0064050000                                                      2 MaryNew    U    25-10月-12 11.18.16 上午                                      0600030065050000                                                      3 Mike       I    25-10月-12 11.17.46 上午                                      0400130061050000                                                    



0 0
原创粉丝点击