explain plan for命令——SQL语句优化工具
看SQL执行计划的信息方法1:运行以下脚本,生成plan_table表SQL> @/u01/app/oracle/product/10.2/db_1/rdbms/admin/utlxplan.sqlTable created.SQL> explain plan for 2 select deptno from scott.dept ...
手工统计字典数据
收集固定字典表的统计信息SQL> exec dbms_stats.gather_fixed_objects_stats;收集数据字典表的统计信息SQL> exec dbms_stats.gather_dictionary_stats;等同于SQL> exec dbms_stats.gather_schema_stats('sys');...
统计操作系统数据
通过DBMS_STATS.GATHER_SYSTEM_STATS包收集存储在sys.aux_stats$中语法:DBMS_STATS.GATHER_SYSTEM_STATS(gahtering_mode VARCHAR2 DEFAULT 'NOWORKLOAD',NOWORKLOAD:无负载模式下运行,WORKLOAD:负载模式下...
手动收集——收集统计信息
DBMS_STATS包4个粒度:数据库级别——GATHER_DATABASE_STATS前提:job_queue_processes必须非0,如果为0,则不工作查SQL> show parameter job_queue_processes;NAME &nbs...
oracle自动收集——收集统计信息
ORACLE自动运行1,GATHER_STATS_JOB作业2,并监控所有数据库对象的所有DML操作(如果某个对象的统计数据自上次以来有超过10%的更改,则会再次统计该对象的统计信息)注意:按一定的规则对数据库对象统计,规则如下...
oracle自动收集——收集统计信息
ORACLE自动运行1,GATHER_STATS_JOB作业2,并监控所有数据库对象的所有DML操作(如果某个对象的统计数据自上次以来有超过10%的更改,则会再次统计该对象的统计信息)注意:按一定的规则对数据库对象统计,规则如下...
CBO的详解
CB0(Cost-Based Optimizer) 操作系统统计数据及数据库统计数据 &...
将对象注入内存——3,将程序常驻内存
SQL> select NAME,NAMESPACE,SHARABLE_MEM,EXECUTIONS,KEPT 2 from v$db_object_cache 3 where wner='SCOTT';NAME N...
将对象注入内存——2,将数据(表)存在内存中-LRU热端
情景:1,小表,没索引,经常访问,都是走全表扫描,带来性能问题原因:oracle的CBO认为全表扫描的数据重用的概率极小结果:oracle会将全表扫描的数据都放在data_buffer的LRU队列的队尾(冷端),造成最先被踢出去解...
将对象注入内存——1,将数据(表和索引)常驻内存-keep_cache
1. 收集统计信息 SQL> analyze table scott.dept compute statistics;Table analyzed.或SQL> EXECUTE dbms_stats.gather_table_stats('SCOTT','DEPT');PL/SQL procedure successfully completed.SQL> col SEGME...
导出数据系统的应用(程序)
以命令行方式获取系统的设计切记:注意力集中在大表并且经常操作的表上1,导出E-R图select * from cat ;2,desc “表名”3,用数据字典user_constraints和user_cons_colummns导出表上的约束,画出E-R图,偷取别人...
函数索引
语法:1,创建函数索引SQL> create index i_fun on test3(lower(dname)) ;Index created.SQL> select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS from user_indexes;INDEX_NAME INDEX_TYPE ...
反向键索引
反向键索引情景:1,insert繁忙,主键是用序列号(每次加1),主键是有索引的,用序列号生成,因此相邻的索引记录就可能存在于同一个数据块中,引起数据块竞争,导致性能下降。2,随着时间增长,久值被删除,新值被...
生产中索引表空间的恢复策略
在日常的生常中索引表空间通常不作备份,原因:数据表空间大,索引表空间也跟着大,数据量不少,备份艰难,降低系统效率SQL> create tablespace test_index 2 datafile '/u01/disk1/test_index.dbf' 3 size ...
当前或非当前的undo表空间的恢复
当前或非当前的undo表空间的恢复SQL> select TABLESPACE_NAME,STATUS,CONTENTS 2 from dba_tablespaces 3 where CONTENTS = 'UNDO';TABLESPACE_NAME STATUS CONTENTS-----------------...
加快data_tablespace的恢复
实验思路:现备份数据表空间,模拟数据文件的丢失,然后startup-->offline datafile --->rename--->recoverSQL> select FILE_ID,FILE_NAME,TABLESPACE_NAME from dba_data_files; FILE_ID FILE_NAME ...
只读表空间和临时表空间的恢复
在shutdown 的情况下恢复临时表空间丢失临时表空间的dbf没事,虽临时表空间不能用,当大规模排序时才报错,这种情况下会将相关信息写入alert文件中SQL> col tablespace format a10SQL> col File format a50SQL...
导出存储程序的源代码
用类似的方法导出包,触发器,存储过程等源代码SQL> conn hr/hr;Connected.SQL> select OBJECT_NAME,OBJECT_TYPE,CREATED,STATUS,TEMPORARY 2 from user_objects 3 where OBJECT_TYPE in ('PROCEDURE','...
只读表空间和临时表空间的恢复
在shutdown 的情况下恢复临时表空间丢失临时表空间的dbf没事,虽临时表空间不能用,当大规模排序时才报错,这种情况下会将相关信息写入alert文件中SQL> col tablespace format a10SQL> col File format a50SQL> sele...
当前或非当前的undo表空间的恢复
当前或非当前的undo表空间的恢复SQL> select TABLESPACE_NAME,STATUS,CONTENTS 2 from dba_tablespaces 3 where CONTENTS = 'UNDO';TABLESPACE_NAME &n...