--表空间,auto: 自动管理, manual: 手动管理   create tablespace  tsp1 datafile 'D:\ORACLE\ORADATA\O10\tsp1.dbf'   size 2M segment space management auto;

-- 查看表空间   select tablespace_name,segment_space_management from dba_tablespaces;

-- 回退段管理   --系统回退段,存放于 system 表空间,只有system 表空间内的对象才可以使用   -- 查看回退段   select * from v$rollname;   show parameter undo ;

-- 数据回退

-- 当前系统的scn 号   select dbms_flashback.get_system_change_number() from dual;   -- 闪回   execute dbms_flashback.enable_at_system_change_number(#####);   -- 结束闪回   execute dbms_flashback.disable();   -- 闪回到指定的时间点,物理时间和数据库时间的SCN 的对照表,每5分钟采样   select to_char(time_dp,'yyyy/mm/dd:hh24:mi:ss'),SCN from sys.smon_scn_time;

execute dbms_flashback.enable_at_time(to_date('2017/9/2/24:12:22',   'yyyy/mm/dd:hh24:mi:ss'));   --闪回---取值到游标----停止闪回----将游标中的值插入原表  declare  cursor c1 is select * from scott.e2 where empno=7369;  v_sal c1%rowtype;  begin  DBMS_FLASHBACK.ENABLE_AT_SYSTEM_CHANGE_number (13346413);  open c1;  fetch c1 into v_sal;  dbms_flashback.disable();  update scott.e2 set sal=v_sal.sal where empno=v_sal.empno;  close c1;  end;  /   -- 查看表的更改痕迹

select versions_starttime,versions_endtime,versions_xid,versions_operation, sal   from t1   versions between timestamp minvalue and maxvalue   order by versions_starttime   -- 查看 一个时间段内的更改痕迹   select versions_starttime,versions_endtime,versions_xid,versions_operation, sal   from t1   versions between timestamp to_date('2017/9/2/24:12:22','yyyy/mm/dd:hh24:mi:ss')   and maxvalue   order by versions_starttime   -- 查看原sql 语句    select undo_sql from  flashback_transaction_query where xid='08001100C7010000'    -- 多次drop 后,建立同名表   flashback  table t1 to before drop  rename to t2;   -- 构造rowid   select dbms_rowid.rowid_create(1,5413,4,32,7) from dual;   --参数1: 新版本的rowid 格式,64进制,18位, 0:旧版本的rowid 格式,16进制,16位   -- 上面的rowid 代表 4号文件的,第32个块,第7行,将8位16进制转换成10进制,正好是4M,   -- 所以一个数据块的上限为 4M 个oracle 块。   -- 查看每个块中的行数,行的长度不同,块内存放的行数也不同   select dbms_rowid,rowid_block_number(rowid), block#,count(*)   from t1   group by dbms_rowid,rowid_block_number(rowid);   -- 删除指定的列    alter table t1 drop column 列名 checkpoint 1000;    --drop 过程中表的状态为 invalid,如果过程中停电,启动数据库后    alter table t1 drop  columns 列名 continue     -- 查看索引在哪个表哪个列上    select index_name,table_name,column_name from user_ind_columns order by 2,32    -- 查看索引的属性    select index_name,index_type,table_name,uniqueness from user_indexes;    -- 查看索引的内部信息    select height,blocks,br_blks,lf_blks,lf_rows,del_lf_rows from index_stats    -- height: 高度, blocks:索引总块数, br_blks: 枝干块数, lf_rows:叶子内行数    -- del_lf_rows: 叶子中被删除的行数

-- 索引的合并    alter  index 索引名  coalesce;

-- 重新索引    alter index 索引名 rebuild;    -- 查看索引的引用状态   select * from v$objcet_usage;   -- 授权   grant  create session to u1   -- 回收权限   revoke create session  from  u1;   -- 查看字符编码集   select * from v$nls_valid_values where PARAMETER='CHARACTERSET' order by 2;   -- 提取元数据   select dbms_metadata.get_ddl('TABLE','EMP') FROM DUAL;   -- 数据库连接(连接到远程的数据库)    CREATE PUBLIC DATABASE LINK dh connect to system identified by manager using '111'; --一个共有的数据库连接,名称是 dh,连接到 111 所描述的数据库中的 system 用户, -- 密码为manager

-- 查看数据库连接   select * from dba_db_links   -- 关闭数据库连接   ALTER SESSION CLOSE DATABASE LINK dh;      -- 强制使用 hash 连接 -- 适用于大量数据的连接,将两个表中较小的表连接列建立一个hash表, --放入到内存中,必须有等值条件   select   /*+ use_hash(t1 t2) */ t1.* from  t1 ,t2  where t1.id=t2.id   -- 强制使用 merge 连接 -- 排序融合连接,hash 连接大部分时候都比排序融合连接性能好 -- 如果不是等值条件,即 > < >= <= ,不能使用hash 连接,使用排序连接和嵌套循环连接   select  /*+ use_merge(t1 t2) */ t1.* from  t1 ,t2  where t1.id=t2.id

-- 强制使用 nest_loop 连接, 嵌套循环连接,外部表的每一个行都要和内部表的所有行连接 -- 当表的行数较少的时候,数据库会选择这种连接方式   select  /*+ use_nl(t1 t2) */ t1.* from  t1 ,t2  where t1.id=t2.id      -- 强制使用 全表扫描而不使用主键   select  /*+ full(t1) */  * from  t1     -- 强制使用主键而不使用全表扫描   select  /*+ index(index_name) */  * from  t1       -- 强制使用并行查询,提高全表扫描效率   select  /*+ full(t1) parallel(t1,4) */  * from  t1;

Oracle 学习笔记(五)的更多相关文章

  1. Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页

    GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...

  2. Oracle学习笔记(五)

    七.查询 1.基本查询语句 select 列名字,列名字 from 表名字 例如 select user_a_id from userinfo; 2.在SQL*PLUS中设置格式 (1)设置新的字段名 ...

  3. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  4. C#可扩展编程之MEF学习笔记(五):MEF高级进阶

    好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...

  5. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  6. java之jvm学习笔记五(实践写自己的类装载器)

    java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  8. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  9. Typescript 学习笔记五:类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  10. ES6学习笔记<五> Module的操作——import、export、as

    import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...

随机推荐

  1. python之路---面向对象编程(一)

    一.设计思想的发展 面向机器(代码复杂,效率低,学习成本高,开发周期长)-------->面向过程(扩展性差,不适用多变的需求改变)----------->面向对象(扩展性好,但是可控性差 ...

  2. Java语法基础学习DayFifteen(IO续)

    一.缓冲流(处理流的一种) 1.作用:可以提高文件操作的效率 2.使用BufferedInputStream和BufferedOutputStream实现非文本文件的复制 特点:flush()方法 代 ...

  3. L335 Nasa’s Twin Study Reveals Effects of Time Spent in Space on the Human Body

    What exactly happens to a human body in space? Despite decades of astronauts going on space missions ...

  4. 一分钟学会ConstraintLayout(转载)

    原文地址:https://www.v2ex.com/t/287863 最近更新了Android Studio,突然发现xml中的布局已经变成了ConstraintLayout,于是搜了一篇文章看一下 ...

  5. FCC JS基础算法题(13):Caesars Cipher(凯撒密码)

    题目描述: 下面我们来介绍风靡全球的凯撒密码Caesar cipher,又叫移位密码.移位密码也就是密码中的字母会按照指定的数量来做移位.一个常见的案例就是ROT13密码,字母会移位13个位置.由'A ...

  6. Task使用

    Task task1 = Task.Factory.StartNew(() => { Console.WriteLine("Hello,task started by task fac ...

  7. 自动化测试-12.selenium的弹出框处理

    前言 不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决. alert\confirm\prompt ...

  8. DG_数据文件转换参数测试

    本篇博客流程图: 一.测试需求及参数说明 二.测试环境进行相关测试 三.问题总结 一.测试需求及参数说明 1.1测试需求说明 DG切换 切换前,数据库版本12.2.0.1,主库rac两节点,备一rac ...

  9. BZOJ1800:fly 飞行棋 (双指针 组合数)

    pro: 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. N<20; sol:很可能被 ...

  10. 学习笔记TF042:TF.Learn、分布式Estimator、深度学习Estimator

    TF.Learn,TensorFlow重要模块,各种类型深度学习及流行机器学习算法.TensorFlow官方Scikit Flow项目迁移,谷歌员工Illia Polosukhin.唐源发起.Scik ...