- 博客(28)
- 资源 (3)
- 收藏
- 关注
原创 索引的使用率
今天面试的时候,面试官问我有没有监控过索引的使用率,这个问题我没有回答出来,平时都没有做过这方面的东西,网上查了一下,在这里整理一下。如何查看索引是否被使用,如何使用。其中用来监控使用的代码如下:WITH Q AS ( SELECT S.OWNER A_OWNER,
2016-05-06 22:13:25 3859
原创 oracle 分析函数应用
常用的一些分析函数再在自己安装的数据的hr用户模式下测试SELECT emp.first_name, emp.salary, emp.manager_id, row_number() over(PARTITION BY emp.manager_id ORDER BY emp.salary DESC) row_number_dept, --薪资在部门
2016-04-28 22:42:45 422
原创 使用SPA(sql performance Analyzer)
SPA比较在数据库更新前后定义在特定sql优化集中的特定sql语句的性能,重大升级,参数改变,索引或是统计信息的改变。1.建立测试环境create table t1 asselect * from dba_objects;insert into t1 select * from t1;commit;在t1上没有任何索引,收集其统计信息:exec dbms_stats.g
2016-04-20 23:06:44 921
原创 使用sql优化顾问自动优化sql语句
oracle 11g中的自动sql优化顾问会自动分析awr中的数据,找到执行多次的高负荷sql语句。然后使用sql优化顾问来优化这些sql语句,如果需要,创建sql配置文件,并对它们进行充分测试。如果认为实施sql配置文件时有益的,就会自动执行,整个过程不需要干预。1.启动自动sql优化顾问begin dbms_auto_task_admin.enable(client_name =
2016-04-20 15:39:17 1101
原创 使用sql优化顾问优化sql(单一sql)
oracle database 10g中引入了sql tuning advisor,帮助dba和开发人员提高sql语句的性能。要想访问自己的优化集必须拥有sys授予的以下权限:grant administer sql tuning set to scott;---或者授权下面语句grant administer any sql tuning set to scott;---and
2016-04-20 11:14:18 885
原创 查看一些权限问题oracle(自己备忘)
ROLE_SYS_PRIVS 角色拥有的系统权限ROLE_TAB_PRIVS 角色拥有的对象权限USER_TAB_PRIVS_MADE 查询授出去的对象权限USER_TAB_PRIVS_RECD 用户拥有的对象权限USER_COL_PRIVS_MADE 用户分配出去的列的对象权限USER_COL_
2016-04-20 09:27:34 320
原创 查看需要优化的sql
1.使用v$sqlarea视图查看最糟糕的查询(最消耗磁盘读的sql语句)select b.username, a.disk_reads reads, a.executions exec, a.disk_reads / decode(a.executions, 0, 1, a.executions) rds_exec_ratio,
2016-04-19 22:38:27 429
原创 使用shrink space降低表的高水位线
表在删除数据的时候高水位线不降低,只是把块中的此行数据变为删除状态。如此一来,表中删除的数据多时候,表就会浪费很多空间。如下所示,表中的14天记录占用了28个块。我们利用shrink space来降低表的高水位线。1.修改表使其行可以移动 SQL> alter table scott.emp enable row movement;Table altered.2.使用shr
2016-04-18 15:20:36 1095
原创 rank() over,dense_rank() over,row_number() over函数的区别
rank() over的作用是查出指定条件后进行一个排序,但是有一个特点。使用这个函数,相同列值并列显示,如两个为4的排序,然后接下来就是排序为6,其中排名5跳过。dense_rank() over的作用和rank() over一样,都是排序而且形同列的值并列显示,如排序为4的两个。但是和rank() over不同的是,接下来它还是会显示排序5的。这就是密集排序。row_numbe
2016-04-18 09:47:46 6454
原创 使用SPM(sql plan management,sql计划管理)
SPM有助于保持sql语句的性能,只允许执行能提高语句性能的执行计划。SPM的目的是稳定sql语句的执行计划的,允许选择新的执行计划,只要能提高sql语句的性能。什么时候用到SPM1.新版本的oracle。2.优化器统计信息的更改或数据的变化3.方案,应用程序或元数据的变化4.系统设置发生改变5.sql profile的创建SMB(sql management base
2016-04-16 22:21:29 1001
原创 plan_table中的重要列
下面是plan_table中的一些重要的列以及其列的解释:statement_id:在explain plan中设置的statement_id参数的值timestamp:执行explain plan语句的日期和时间remarks:每个explain plan 执行步骤相关的注释(最多有80个字节),可以使用update来修改此列的信息operation:每个explain plan
2016-04-15 14:57:39 1149
原创 在scott中开启autotrace
在scott中开通autotrace(autotrace和trace一样确实执行了sql)。要使用autotrace,用户必须拥有plustrace角色。否则会报错,如下通过sys用户执行如下语句,来闯将plustrace角色:@?/sqlplus/admin/plustrce.sql;角色plustrace创建成功。然后赋权给scott:grant plustra
2016-04-15 14:49:52 595
原创 单独使用explain plan
开发人员可以使用explain plan命令来查看sql的执行计划,这个命令对提高sql语句的性能是很有帮助的,因为他没有真正的执行sql语句,它只是列出了所要使用的执行计划,并把这个执行计划插入到plan_table表中。explain plan比trace执行速度快,因为它只是展示执行了这条语句的过程。当查询可能会运行很长时间的时候使用explain plan而不是trace。其中st
2016-04-15 09:58:34 416
原创 trcsess的使用--将多个跟踪文件合并为单个文件
使用trcsess可以有选择性的从多个跟踪文件中提取想要提取的跟踪数据。并且将这些跟踪数据基于会话id或者是模块名等标准保存到一个跟踪文件中去。可以根据如下一些标准来创建这个统一的跟踪文件会话ID,客户端ID,服务名,模块名,操作名trcsess 参数如下output:输出目录和名称,默认是标准输出session:被跟踪的session ID和序列号,格式如sid.serial
2016-04-14 22:52:58 650
原创 安装rlwrap-0.37.tar.gz
1.解压下载好的rlwrap文件[root@wangliping tool]# tar -zxvf rlwrap-0.37.tar.gz2.进入解压好的文件[root@wangliping tool]# cd rlwrap-0.373.检查配置[root@wangliping rlwrap-0.37]# ./configure 4.安装准备[root@wanglip
2016-04-14 10:03:39 2501
原创 oracle的SQL Trace(SQL跟踪)
使用sql跟踪的简单的步骤:1.设置下面两个参数。 timed_statistics=true(允许在系统中执行跟踪操作) max_dump_file_size=unlimited(跟踪文件所在路径下能达到的最大值)2.针对sql*plus会话启动sql跟踪alter session set sql_trace true;3.运行需要跟踪的查询selec
2016-04-13 14:56:18 642
转载 centos 火狐浏览器安装adobe flash player插件
install_flash_player_11_linux.i386.tar.gz。install_flash_player_11_linux.i386.tar.gz下载地址:http://vdisk.weibo.com/s/yeY-P 安装方法如下,做个总结:将软件包解压:[root@test /]# tar zxvf install_flash_player_11_linux.i3
2016-04-12 22:54:00 771
原创 oracle EM中accessibility mode为disable解决方案
今天开启em时显示accessibility mode为disable。查询网上解决方案如下:进入cd $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/WEB-INF/文件夹,将其中的uix-config.xml文件的inaccessible改成accessible 打开文件:vi uix-config.xml
2016-04-12 11:13:15 1010
原创 查找未公开的oracle初始化参数
查询x$ksppi表可以显示公开的和未公开的初始化参数,而且只有sys用户才能查看词表。select a.ksppinm name,b.ksppstvl value,b.ksppstdf default1,a.ksppdesc desc1from x$ksppi a,x$ksppcv b where a.indx=b.indxand substr(ksppinm,1,1)='_'
2016-04-11 20:01:55 310
原创 使用X$KSMSP表详细观察共享池
可以通过x$ksmsp(KSMSP是Kernel Service layer Memory management Sga heaP的缩写)表来详细观察共享池的详细情况。这个表显示了空闲的内存,可以释放的内存,以及为当前共享池容纳不下的大型语句所保留的内存。通过下面的查询可以很清晰的了解共享池。oracle没有说明表中status的含义。
2016-04-11 15:43:00 572
原创 备份恢复类 面试题
1. 备份如何分类逻辑备份,物理备份,冷备份,热备份,rman备份和全备份逻辑备份:exp/imp和expdp/impdp可以指点表,方案等逻辑热备份:alter tablespace begin/end backup;冷备份:脱机备份,关闭数据库,复制文件全备份:累计备份/差异备份2. 归档是什么含义归档就是归档备份重做日志。以便于做介质恢复3
2016-04-06 22:59:18 802
原创 oracle null问题
1.in和exist中,如果子查询中存在null,不影响查询结果;但是如果要检索的字段存在null,是检索不出来的,即出来的结果不会含有null;2.not in中,如果子查询中存在null值的情况,则查询会失效(查询结果为空);3.4.not exist对null不敏感;
2016-04-06 14:44:59 347
原创 数据库基本概念类 面试题
1. pctused and pctfree表示什么含义有什么作用pctused和pctfree控制数据块是否出现在freelist中,pctfree是为更新一个数据块所保留的空间。如果使用ASSM(自动段空间管理),就不用设置pctfree。当free space小于pctfree时,该块就从freelist中去掉,当free space大于pctused时,该块就挂到
2016-04-05 22:41:30 454
原创 SQL tuning 类 的面试题
1. 列举几种表连接方式内连接、外连接(左外连接,右外连接,全连接),等值链接,非等值链接,自连接2. 不借助第三方工具,怎样查看sql的执行计划使用explain plan,查看plan_tableExplain planSetstatement_id=’wlp_test’ ---其中wlp_test自定义的名称,方便后面查看plan_tableF
2016-04-05 18:46:54 1349
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人