table_open_cache参数对mysql性能的影响
Table_open_cache:表描述符缓存大小,可减少文件打开/关闭次数; 为了避免线程相互干扰,每个访问表的线程各自维护一个文件描述符,多耗了内存但是提高了性能,即一个sql若调用了2次表,也需要分配2个文件描...
验证db_file_multiblock_read_count 和 MBRC对全表扫描时io cost的影响
前几天测试了optimizer_index_cost_adj和optimizer_index_caching对CBO生成执行计划的影响,但这两个参数只使用于索引扫描,今天做一组试验测试一下影响全表扫描的两个参数 OS:HP-UX B.11.11DB: 10205以下...
验证11g的adaptive cursor sharing功能
当oracle开启绑定变量窥视功能,会在sql硬解析时窥探变量的实际值以求生成更为精确的执行计划,但是若该列数据分布极度不均,则可能适得其反,11g引入了adaptive cursor sharing.查询优化器会不断做出调整以便不同...
linux密码文件格式为orapw<sid>
linux下创建密码文件的格式为orapw<sid>,windows下为pwd<sid>.ora刚刚因为弄混了两种格式,白白耗费了几十分钟时间。事情大致如下,登陆server始终无法使用sqlplus登陆,报如下错误orasw/app/oracl...
设置NLS_LANG参数
NLS_LANG设置客户端字符集,格式:<Language>_<Territory>.<clients characterset>注:前两个参数与characterset并无直接关联 ,如JAPANESE_JAPAN.WE8MSWIN1252实际并不允许存储日文Character并不改变客户...
利用REGEXP_LIKE查看包含大写字母的用户名
开发提出一个需求,要查询注册用户名中含有大写字母的用户,最简单的方式是 select * from user where user_name != lower(user_name);可是这样会全表扫描,该表又是非常大;可以改用正则表达式select * from user e...
恢复被执行truncate table的表数据
1、当开启db recovery的时候,只需闪回数据库即可SQL> create table test1(id number(5)) tablespace data01;Table created.SQL> create table test2(id number(5)) tablespace data01;Table created.SQL> declar...
move分区表
现在需要将一些分区表移到别的表空间下去,且该表是arc表,目前是没有任何程序访问,不需使用在线重定义,可以直接move.SQL> alter table JUSTIN move tablespace ARC;alter table JUSTIN move tablespace ARC ...
resize datafile以节省磁盘空间
因为磁盘空间不够,而表空间data中的很多表已经被迁移走,现在需要从表空间data中回收空间;一个数据文件能够resize(缩小)的最大限度需要取决于其max extent,通过以下sql可以查看select a.FILE#,  ...
使用expdp导出分区表中的部分分区数据
现在需要导出系统中一个分区表中的部分分区数据(该分区表是按照date列按日分区),起初是按照分区键的时间范围进行查询,采取expdp的query条件;但是查看实际的输出信息发现,expdp是把该分区表的所有分区都导出了[or...
set autotrace traceonly无法使用
SQL> set autotrace traceonlySP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabledSP2-0611: Error enabling STATISTICS reportSQL> conn / as sysdbaConnected.SQL> @$ORACLE_HO...
rebuild online索引遇到ora-1450
测试一下SQL> create table justin(name varchar2(4000)); Table created SQL> create index idx_justin_name on justin(name); Index created SQL> alter index idx_justin_name rebuild onlin...
rac开启block change tracking
rac上开启block change tracking功能首先在测试库测试一下开启block change tracking增量备份的速度这个server配置很低,做一次全备份要很长时间,总共有60G数据先做一个level 0的全备份RMAN> backup incremental l...
使用split对分区表再分区
表justin本来按月分区,但是进入7月份,数据量暴涨,每天都有百万条之多,应开发要求,将其7月份及其以后的分区都改为按天分区目前该表最大分区到8月1号首先需要对7月份现有分区执行split操作,然后添加8月份以后的...
关于semi-join/anti-join的一点探讨
create table dept (deptno number(5), dname varchar2(20));create table emp (deptno number(5), name varchar2(20));insert into dept values(1,'IT');insert into dept values(2,'HR');insert into dept values(...
sequence可能引发的各种lock/enqueue
Oracle将数据字典存于sga中的dictionary cache,而想要修改其中的内容,需要获取row cache lock;对于sequence,调用的时候可能会遇到以下三种锁:Row cache lock(nocache): 当sequence设置为nocache,调用sequence...
利用logminer查找被删除记录的信息
系统某条记录被删除,开发要求提供删除该记录的会话信息;首先通过flashback query找到确切的操作时间SQL> select count(*) from a as of timestamp to_date('2011-05-25 12:36:12','yyyy-mm-dd hh24:mi:ss') where ...
arraysize/TDU/SDU的设置对sql执行代价的影响
Arraysize对consistent gets的影响这是一个以前没有留意过的参数,创建一个测试表SQL> begin 2 for i in 1..10000 loop 3 insert into justin values(...
分区索引重建后引发的性能问题,疑似10.2.0.5的bug
报表数据库出现了好几次类似的问题,大致症状为:分区表上的某个分区索引失效,脚本自动重建,然后其统计信息丢失,导致接下来的job运行的超慢,这里有个疑点,就是每个分区表的统计信息都是锁定的,且参数_optimize...
stream pool设置过小导致impdp失败
数据泵导入时候遇到以下问题,[oracle@justin pump]$ impdp justin/*** directory=pump dumpfile=justin_20110316.dmp Import: Release 11.2.0.1.0 - Production on Thu Mar 31 12:32:35 2011Copyright (c) 1982, 2...