Oracle 学习笔记(五)
--表空间,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 学习笔记(五)的更多相关文章
- Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页
GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...
- Oracle学习笔记(五)
七.查询 1.基本查询语句 select 列名字,列名字 from 表名字 例如 select user_a_id from userinfo; 2.在SQL*PLUS中设置格式 (1)设置新的字段名 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
随机推荐
- 四种常见的 POST 提交数据方式对应的content-type取值
application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了.浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 app ...
- 从本地新建项目到提交到github
1.我是在windows下操作的,所以需要下载个msysgit,这个是git的windows版本. 2.在项目(假设项目为store)根目录下,鼠标右键,点击git bash here 3.将项目从本 ...
- 微服务-网关-node.js by 大雄daysn
目录 序言 一.node.js入门1.1 下载并安装1.2 从helloworld到一个web应用1.3 Express框架二.node.js搭建网关 三.node.js集群搭建 序言 首先一个问 ...
- 【转】python 中NumPy和Pandas工具包中的函数使用笔记(方便自己查找)
二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准 ...
- sql将服务器名称换成本地IP
安装sql后服务器名称默认为电脑的名称,而想要换成习惯用的本地ip也是可以的. 将配置管理中的MSSQLSEVER协议中的TCP/IP启用,并且打开其属性,找到IP地址,添加本地IP,并设置成启用,然 ...
- 网络性能测试工具-Iperf
一.简单介绍 Iperf是一个网络性能测试工具,Iperf可以测试TCP和UDP带宽质量,Iperf可以测量最大TCP带宽,具有多种参数和UDP特性.Iperf可以报告带宽,延迟抖动和数据包丢失.利用 ...
- C# 注册机功能开发,机器码设计
前言 本文将使用一个NuGet公开的组件技术来实现机器码注册码功能开发,提供了一些简单的API,来方便的实现. 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet ...
- jQuery-1.样式篇---选择器
jQuery选择器之id选择器 页面的任何操作都需要节点的支撑,开发者如何快速高效的找到指定的节点也是前端开发中的一个重点.jQuery提供了一系列的选择器帮助开发者达到这一目的,让开发者可以更少的处 ...
- XXS level7
(1)输入与第六关相同的Payload:"><A HREF="javascript:alert()"> 查看页面源代码,发现“herf"被过滤 ...
- Linux装agent
解压Linux.zip Linux的负载机链接:https://pan.baidu.com/s/1yrmsT3PYfuL9Wlh4FEYxaA 密码:s72n unzip Linux.zip chm ...