Oracle

oracle之压缩表

oracle压缩数据的处理基于数据库块,本质是通过消除在数据库中的重复数据来实现空间节约。具体做法:比较数据块中包含的所有字段或记录,其中重复的数据只在位于数据块开始部分的记号表(SymbolTable)中存储一份,在其他行或字段出现同样的数据时,只记录一个指向记号表中相关数据的指针。性能分析:1、在批量装载或插入数据的过程中,由于压缩的同时进行,会引起CPU使用率提高,及导致装载时间明显增加2、对于普通的INSERT语句,由于没有执行压缩过程,性能几乎没

系统 2019-08-12 01:33:42 2477

Oracle

9-(初学)Oracle创建表空间

ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不允许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额.因此,在创建对象之前,首先要分配存储空间.分配存储,就要创建表空间:创建表空间示例如下:CREATETABLESPACE"SAMPLE"LOGGINGDATAFILE'D:\ORACLE\ORADATA\ORA92\LUNTAN.or

系统 2019-08-12 01:33:10 2477

Oracle

oracle自治事务

在触发器中操作触发此触发器的表,用pragmaautonomous_transaction选项。1、为何使用自治事务无法回滚的审计:一般情况下利用触发器禁止某些对表的更新等操作时,若记录日志,则触发器最后抛出异常时会造成日志回滚。利用自治事务可防止此点。避免变异表:即在触发器中操作触发此触发器的表在触发器中使用ddl写数据库:对数据库有写操作(insert、update、delete、create、alter、commit)的存储过程或函数是无法简单的用s

系统 2019-08-12 01:54:38 2476

Oracle

oracle中sql语句的优化

oracle中sql语句的优化一、执行顺序及优化细则1.表名顺序优化(1)基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图:Student_info(30000条数据)Description_info(30条数据)select*fromdescription_infodi,student_infosi--学生信息表wheresi.student_id=di.lookup_code(+)anddi.lookup_type(+)='STUDENT

系统 2019-08-12 01:54:30 2476

Oracle

oracle scn浅析

1.系统SCN号查询系统SCN号的方法:selectdbms_flashback.get_system_change_numberfromdualcommit后系统SCN号会增长,但是即使没有commit操作,因为有许多后台进程在运行,所以系统SCN号也会增长。2.检查点SCN有4种检查点SCN,其中除了文件头中的启动SCN外,其他三种保存在控制文件中。可以通过:altersystemsetevents‘immediatetracenamecontrolf

系统 2019-08-12 01:54:24 2476

Oracle

Oracle 热备份

--=======================--Oracle热备份--=======================Oracle热备份是指数据库处于open状态下,对数据库的数据文件、控制文件、参数文件、密码文件等进行一系列备份操作。热备是基于用户管理备份恢复的一种方式,也是除了RMAN备份之外较为常用的一种备份方式。一、热备的过程冻结块头-->控制SCN在备份时不发生变化进行物理拷贝解冻块头-->让SCN可以变化(当对SCN解冻后,系统会自动更新S

系统 2019-08-12 01:53:58 2476

Oracle

Oracle在英文匹配时大小写敏感,如何忽略大小写

SQLServer使用英文字符串的匹配的时候默认是忽略大小写的,这样用起来是比较方便的,如果想不忽略大小写也可以修改配置,但是Oracle好像不能忽略大小写,在进行字符串匹配的时候就比较麻烦了。那么该怎么解决大小写敏感的问题,把需要的数据都查询出来呢?最常见的办法就是把查询的参数和字段中的内容都转化成大写或者都转化成小写,这样就可匹配了。比如如下的查询:select*fromhr.EMPLOYEEStwhereupper(first_name)=upper

系统 2019-08-12 01:53:23 2476

Oracle

Oracle数据库存储过程 ,去除给定字符串中重复的

以下函数是本人在编写Oracle数据库存储过程时写的函数,觉得该函数通用性较强,因此发表出来供需要的人参考.这个函数的功能主要是用于去除给定字符串中重复的字符串.在使用中需要指定字符串的分隔符.示例:str:=MyReplace('13,14,13,444',',');输出:13,14,444createorreplacefunctionMyReplace(oldStrvarchar2,signvarchar2)returnvarchar2isstrvar

系统 2019-08-12 01:52:43 2476

Oracle

Oracle分析函数入门

一、Oracle分析函数入门分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值。分析函数和聚合函数的不同之处是什么?普通的聚合函数用groupby分组,每个分组返回一个统计值,而分析函数采用partitionby分组,并且每组每行都可以返回一个统计值。分析函数的形式分析函数带有一个开窗函数over(),包含三个分析子句:分组(parti

系统 2019-08-12 01:33:41 2476

Oracle

Oracle闪回操作

Oracle闪回操作1.记录当前时间或SCN在数据库变动前记录时间或SCNSQL>selectto_char(sysdate,'YYYY-MM-DDHH24:mi:ss')fromdual;SQL>selectcurrent_scnfromv$database;2.开启闪回开启闪回需要数据库在归档模型下,所以首先需要开启归档。并且在mount状态下。首先查看是否开启闪回:SQL>selectflashback_onfromV$database;FLASHB

系统 2019-08-12 01:55:28 2475

Oracle

Oracle 创建索引的基本规则总结

一、B-Tree索引1.选择索引字段的原则:在WHERE子句中最频繁使用的字段联接语句中的联接字段选择高选择性的字段(如果很少的字段拥有相同值,即有很多独特值,则选择性很好)ORACLE在UNIQUE和主键字段上自动建立索引在选择性很差的字段上建索引只有在这个字段的值分布非常倾斜的情况下才有益(在这种情况下,某一,两个字段值比其它字段值少出现很多)不要在很少独特值的字段上建B-TREE索引,在这种情况下,你可以考虑在这些字段上建位图索引.在联机事务处理环境

系统 2019-08-12 01:54:12 2475

Oracle

oracle递归函数

oraclestartwithconnectby使用方法oracle中connectbyprior递归算法Oracle中startwith...connectbyprior子句使用方法connectby是结构化查询中用到的,其基本的语法是:select...fromtablenamestartwith条件1connectby条件2where条件3;例:select*fromtablestartwithorg_id='HBHqfWGWPy'connectby

系统 2019-08-12 01:52:37 2475

Oracle

ORACLE PL/SQL编程之八:把触发器说透

原文:ORACLEPL/SQL编程之八:把触发器说透ORACLEPL/SQL编程之八:把触发器说透大家一定要评论呀,感谢!光发表就花了我将近一个下午。本篇主要内容如下:8.1触发器类型8.1.1DML触发器8.1.2替代触发器8.1.3系统触发器8.2创建触发器8.2.1触发器触发次序8.2.2创建DML触发器8.2.3创建替代(INSTEADOF)触发器8.2.3创建系统事件触发器8.2.4系统触发器事件属性8.2.5使用触发器谓词8.2.6重新编译触发

系统 2019-08-12 01:52:20 2475

Oracle

Oracle 取上周一到周末日期的查询语句

--Oracle取上周一到周末的sql--这样取的是在一周内第几天,是以周日为开始的selectto_char(to_date('20130906','yyyymmdd'),'d')fromdual;--结果:6注释:2013.09.06是周五,为本周的第六天selectto_char(sysdate+(2-to_char(sysdate,'d'))-7,'yyyymmdd')fromdual;---上周一selectto_char(sysdate+(2-

系统 2019-08-12 01:52:01 2475

Oracle

为Oracle数据库创建用户

Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。对于初学者来说,为了避免麻烦,可以用'DatabaseConfigurationAssistant'向导来创建数据库。创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。下面是创建数据库用户的具体过程:1.假如现在已经建好名为'news'的数据库,此时在F:/oracle/product/10.1.0/oradata/目

系统 2019-08-12 01:51:50 2475