一般在OLAP环境中,大表在进行全表扫描的时候一般会出现direct path read等待事件,如果在OLTP环境中,出现大量的direct path read直接路径读取,这样就有问题了.一般在OLTP中,都是事物型的sql,如果想sql执行效率,那么最好从内存当中读取数据,直接从数据文件中读取,后果可想而知了.这里就可能需要我们禁用direct path read. 第一种方法:使用10949事件禁止全表扫描的时候,使用direct path read SQL> SELECT x.kspp…
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QQ578473688/article/details/54561397 思路1:采用备份表 备份表中存储不活跃的数据eg:只有查询操作的数据(数据的部分属性字段不再更改)且查询次数也较少: 备份表可以是一张或者多张备份表,若采用多张备份表,则定期创建备份表(备份表的命名要规范,可以考虑使用原表名称+时间戳命名) 采用多张备份表:定期创建一个备份表(备份一定期间范围内的数据,多张备份表采用联合查询)…
数据库对象 Oracle数据库对象: 数据库对象是数据库的组成部分,常常用 CREATE 命令进行创建,可以使用 ALTER 命令修改,用 DROP 执行删除操作. 种类: (1)表空间:所有的数据对象都存在指定的表空间中. (2)同义词:就是给数据库对象起一个别名. (3)序列:Oracle中实现增长的对象. (4)视图:预定义的查询,作为表一样的查询使用,是一张虚拟表. (5)索引:对数据库表中的某些列进行排序,便于提高查询效率. 表空间 在数据库系统中,存储空间是较为重要的资源,合理利用空…
实例讲解Oracle数据库设置默认表空间问题   实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空   DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空间.…
Oracle数据库之创建表结构 主键与外键 主键:关系型数据库中的一条记录中有若干个属性,若其中的某一个属性组(可以是一个属性,也可以是多个)能唯一标识一条记录,那么该属性组就是主键. 外键:关系型数据库表中的一列或者某几列的组合,它的值与另外一张表的某一列或者某几列相匹配,且为另一张表的主键(即这张表的某一列或某几列是另外一张表的主键,称这一列或几列为另外一张表的外键). 注意: 一张表主键只能有一个,可以有多个外键以及唯一索引 Oracle数据库共有5个约束:主键.外键.非空.唯一.条件 …
Oracle数据库之创建表空间与用户 一.创建表空间 基本语法表述: CREATE TABLESPACE tablespace_name [DATAFILE datafile_spec1 [,datafile_spec2] ......] [ { MININUM EXTENT integer [K|M] |BLOCKSIZE integer [K] |[ONLINE|OFFLINE] |logging clause |[PERMANENT|TEMPORARY] |extent_manager_c…
在Oracle数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西. Oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了.查看方法如下SQL: 方法一: select dbf.tablespace_name, dbf.totalspace "总量(M)", dbf.totalblocks as 总块数, dfs.freespace…
使用PowerDesigner生成数据库建表SQL脚本时,尤其是Oracle数据库时,表名一般会带引号.其实加引号是PL/SQL的规范,数据库会严格按照""中的名称建表,如果没有"",会按照ORACLE默认的设置建表(DBA STUDIO里面),默认是全部大写,这样,在ORACLE数据库里的字段就如"Column_1".如果你把引号去掉,ORACLE自动默认为全部大写,即"COLUMN_1",所以这段SQL在PL/SQL中执行…
oracle数据库误删的表以及表中记录的恢复 一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: --1.从flash back里查询被删除的表 select * from recyclebin --2.执行表的恢复 flashback table tbName to before drop; --这里的tbName代表你要恢复的表的名称. 二.表数据恢复 对误删的表记录,只要没有truncate语句,就可以根据事务的提交…
表结构 SELECT t1.TABLE_NAME, t1.COLUMN_NAME, t1.DATA_TYPE || '(' || t1.DATA_LENGTH || ')', t2.COMMENTS -- missing_count(t1.TABLE_NAME, t1.COLUMN_NAME) counts FROM USER_TAB_COLS t1, USER_COL_COMMENTS t2 WHERE t1.TABLE_NAME = t2.TABLE_NAME AND t1.COLUMN_N…