oracle表分区详解(按天、按月、按年等)
分区表的概念: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。分区表的优点:1) 改善...
B-index、bitmap-index、text-index使用场景详解
索引的种类:B-tree索引、Bitmap索引、TEXT index1. B-tree索引介绍: B-tree 是一种常见的数据结构,也称多路搜索树,并不是二叉树。B-tree 结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。适用场景:索引字段有着很高的selectivity或者结果集很小的时候。例如 身份证号码 手机号...
等待事件分析
在Oracle 10g中的等待事件有872个,11g中等待事件1116个。 我们可以通过v$event_name 视图来查看等待事件的相关信息。1.1 查看v$event_name视图的字段结构:SQL> desc v$event_name Name --------------------------- EVENT# EVENT_ID NAME PARAMETER1 PARAMETER2 P...
Oracle Hints详解
在向大家详细介绍Oracle Hints之前,首先让大家了解下Oracle Hints是什么,然后全面介绍Oracle Hints,希望对大家有用。基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的...
查看哪些表的哪些列含有指定字符串(如‘andy’存在哪些表的哪些列中)
-- 查看表中列含有指定字符。SQL> select * from demo1;NAME ID------------------------------ ----------???? ...
Oracle instant client及pl sql developer的使用
Oracle instant client的使用 最近重装了操作系统,使用的是Windows7 x64的版本,不准备安装Oracle,于是从官网上看到了Instant Client。 兴冲冲下载了一个64位的版本,instantclient-basic-windows.x64-11.2.0.3.0.zip,配置好后,使用PL/SQL Develpoer却提示无法连接,...
执行计划-数据访问方式(全表扫描与4种索引的方式)
执行计划Oracle执行计划的相关概念: Rowid:系统给oracle数据的每行附加的一个伪列,包含数据表名称,数据库id,存储数据库id以及一个流水号等信息,rowid在行的生命周期内唯一。 Recursive sql:为了执行用户语句,系统附加执行的额外操作语句,譬如对数据字典的维护等。 Row source(行源...
湖南省大学生程序设计竞赛系统设计
背景:本人一直学习DBA数据库维护技能,出于同学需要,充当数据库设计开发,第一次与同学一起完成了一套小型管理系统的设计开发。自己充当数据库设计者,记录下来自己作为留念。 (相关的UML图已省略)一、 引言 1.1项目背景湖南省每年都要举行大学生程序设计竞赛,每次竞赛时,由组委...
11g RAC集群启动关闭、各种资源检查、配置信息查看汇总。
简要:一:集群的启动与关闭1. rac集群的手动启动[root@node1 bin]# ./crsctl start cluster -all2. 查看rac集群的状态[root@node1 bin]# ./crsctl stat res -t3. rac集群的关闭[root@node1 bin]# ./crscrl stop cluster -all———————————————————————————...
latch: cache buffers chains故障处理总结(转载)
一大早就接到开发商的电话,说数据库的CPU使用率为100%,应用相应迟缓。急匆匆的赶到现场发现进行了基本的检查后发现是latch: cache buffers chains 作祟,处理过程还算顺利,当时忘了记录log,这里总结下处理思路,以便下次查看。故障分析思路 查看等待事件,判断故障起因SQL>select * from (select si...
truncate有外键约束的表,报ORA-02266处理。
问题描述:当父表有子表的外键约束时,无法直接truncate父表。报ORA-02266: unique/primary keys in table referenced by enabled foreign keys。这里使用另一种办法来解决这个问题:先把外键失效,truncate表之后再把外键生效。SQL> truncate table machine_room;truncate table machine_room &nb...
不同操作系统上屏蔽oracle的操作系统认证方式
windows系统上>如果不想用户通过操作系统验证方式登录,可以修改 sqlnet.ora文件,把 SQLNET.AUTHENTICATION_SERVICES=NTS 前面加#注释掉就可以了。linux系统上>如果不想用户通过操作系统验证方式登录,可以创建一个 sqlnet.ora 文件,加上SQLNET.AUTHENTICATION_SERVICES设置为NONE或者NTS,都是屏蔽操作系统认证...
锁的种类,阻塞,死锁产生与解决办法。
TM锁的种类: TM锁几种模式的互斥关系:阻塞定义:当一个会话保持另一个会话正在请求的资源上的锁定时,就会发生阻塞。被阻塞的会话将一直挂起,直到持有锁的会话放弃锁定的资源为止。4个常见的dml语句会产生阻塞INSERTUPDATEDELETESELECT…FOR UPDATE ——...
MySQL 数据类型
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。 表列出了各种数值类型以及它们的允许范围和占用的内存空间。类型 大小...
安装初始化mysql后,默认几个库介绍
背景介绍: 当我们安装初始化mysql后,默认建了几个数据库,那么这些数据库有什么作用呢?mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performa...
Mysql通信协议
Mysql四种通信协议(linux下本地连接的都是socket 其他都是tcp) 当连接mysql时,使用-h127.0.0.1时,linux与unix下的连接协议为socket协议,windows下为memory协议。如: [root@mysql ~]# mysql -uandy -pandy -h127.0.0.1当连接mysql时,使用非-h127.0.0.1时,使用tcp/ip协议。如...
oracle中如何指定表字段自增
背景介绍:SQL SERVER可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键,有利于我们进行数据的插入操作。MySql中可以使用“auto_increment”即可。但是oracle有点麻烦,需要使用序列和触发器达到目的。--学校表create table school(sid number(4...
10046事件跟踪会话sql
一: 跟踪当前会话sql1. sys用户给执行跟踪dblink用户授权SQL> grant alter session to dblink;Grant succeeded.2. 返回dblink用户操作 SQL> show user;USER is "DBLINK"3. 查询sid,serial#SQL> select sid,serial# from v$session where username='DBLINK'; &n...
利用sql_trace跟踪一个指定会话的操作
1. sys用户给管理用户授权。SQL> grant execute on sys.dbms_system to andy;Grant succeeded.2. 查询被跟踪用户的sid,serial# SQL> select sid,serial# from v$session where username='DBLINK'; SID SERIAL#---------- ----------31 73....
SQL_TRACE与tkprof分析
一. SQL_TRACE当SQL语句出现性能问题时,我们可以用SQL_TRACE来跟踪SQL的执行情况,通过跟踪,我们可以了解一条SQL或者PL/SQL包的运行情况,SQL_TRACE命令会将SQL执行的整个过程输出到一个trace文件中,我们可以读这个trace 文件来了解在这个SQL执行过程中Oracle 都做了哪些操作。 可以通过sql命令启动SQL_TR...