5.怎么样根据OS进程快速获得DB进程信息与正在执行的语句
  有些时候,我们在OS上操作,象TOP之后我们得到的OS进程,怎么快速根据OS信息获得DB信息呢?
  我们可以编写如下脚本:
  $more whoit.sh
  #!/bin/sh
  sqlplus /nolog 100,cascade=> TRUE);
  dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);

这是对命令与工具包的一些总结
  <1>、对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。
   a) 可以并行进行,对多个用户,多个Table
   b) 可以得到整个分区表的数据和单个分区的数据。
   c) 可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区
   d) 可以倒出统计信息
   e) 可以用户自动收集统计信息
  <2>、DBMS_STATS的缺点
   a) 不能Validate Structure
   b) 不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的信息,这两个仍旧需要使用Analyze语句。
   c) DBMS_STATS 默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True
  <3>、对于oracle 9里面的External Table,Analyze不能使用,只能使用DBMS_STATS来收集信息。

6.怎么样快速重整索引
  通过rebuild语句,可以快速重整或移动索引到别的表空间
  rebuild有重建整个索引数的功能,可以在不删除原始索引的情况下改变索引的存储参数
  语法为
  alter index index_name rebuild tablespace ts_name
  storage(......);

  如果要快速重建整个用户下的索引,可以用如下脚本,当然,需要根据你自己的情况做相应修改
  SQL> set heading off
  SQL> set feedback off
  SQL> spool d:\index.sql
  SQL> SELECT 'alter index ' || index_name || ' rebuild '
  ||'tablespace INDEXES storage(initial 256K next 256K pctincrease 0);'
  FROM all_indexes
  WHERE ( tablespace_name != 'INDEXES'
  OR next_extent != ( 256 * 1024 )
  )
  AND owner = USER
  SQL>spool off

  另外一个合并索引的语句是
  alter index index_name coalesce

  这个语句仅仅是合并索引中同一级的leaf block,消耗不大,对于有些索引中存在大量空间浪费的情况下,有一些作用。

7.如何使用Hint提示
  在select/delete/update后写/*+ hint */
  如 select /*+ index(TABLE_NAME INDEX_NAME) */ col1...

  注意/*和+之间不能有空格,如用hint指定使用某个索引
  select /*+ index(cbotab) */ col1 from cbotab;
  select /*+ index(cbotab cbotab1) */ col1 from cbotab;
  select /*+ index(a cbotab1) */ col1 from cbotab a;

  其中
  TABLE_NAME是必须要写的,且如果在查询中使用了表的别名,在hint也要用表的别名来代替表名;
  INDEX_NAME可以不必写,Oracle会根据统计值选一个索引;
  如果索引名或表名写错了,那这个hint就会被忽略;

8.怎么样快速复制表或者是插入数据
  快速复制表可以指定Nologging选项
  如:Create table t1 nologging
  as select * from t2;

  快速插入数据可以指定append提示,但是需要注意noarchivelog模式下,默认用了append就是nologging模式的。 在archivelog下,需要把表设置程Nologging模式。
  如insert /*+ append */ into t1
  select * from t2

  注意:如果在9i环境中并设置了FORCE LOGGING,则以上操作是无效的,并不会加快,当然,可以通过如下语句设置为NO FORCE LOGGING。
  Alter database no force logging;
  是否开启了FORCE LOGGING,可以用如下语句查看
  SQL> select force_logging from v$database;

ORACLE学习笔记--性能优化2相关推荐

  1. ORACLE学习笔记--性能优化3

    9.怎么避免使用特定索引 在很多时候,Oracle会错误的使用索引而导致效率的明显下降,我们可以使用一点点技巧而避免使用不该使用的索引,如: 表test,有字段a,b,c,d,在a,b,c上建立联合索 ...

  2. oracle并行收集统计信息慢,Oracle 学习之性能优化(四)收集统计信息

    emp表有如下数据.SQL> select ename,deptno from emp; ENAME   DEPTNO ------------------------------ ------ ...

  3. 【Unity】学习笔记 | 性能优化(一)—— 渲染

    Unity中,每一帧的渲染CPU和GPU都做了些什么 1. CPU检查场景中每个对象,判读他们是否应该被渲染.CPU收集即将被渲染的对象信息,并把这些信息分类为渲染指令(即draw calls) 2. ...

  4. oracle死锁trace,Oracle 学习之性能优化(十)锁

    锁(lock)是用于防止在访问相同的资源(包括用户对象.系统对象.内存.Oralce数据字典中的共享数据结构,最常见的是数据库表Table对象)时 ,事务之间的有害性 交互(存.取)的一种机制. 不同 ...

  5. Oracle 数据库的性能优化

    oracle数据库的性能优化 对于ORACLE数据库的数据存取,主要有四个不同的调整级别,第一级调整是操作系统级包括硬件平台,第二级调整是ORACLE RDBMS级的调整,第三级是数据库设计级的调整, ...

  6. oracle学习笔记 Oracle体系结构概述

    oracle学习笔记 Oracle体系结构概述 从这节开始,开始讲oracle数据库体系结构. 首先从总体上,从概述上把oracle整体的体系结构讲一下, 然后接下来的时间我们会一块一块的将oracl ...

  7. Oracle学习笔记 字符集概述

    Oracle 学习笔记 字符集概述 这节课开始讲oracle里面的字符集 偏重于原理和简单的一些判断以及实现 字符集它涉及到很多的东西 比如建库和操作系统环境 这节课把字符集的原理性的东西以及常见的操 ...

  8. oracle学习笔记 参数文件及数据库的启动和关闭

    oracle学习笔记 参数文件及数据库的启动和关闭 我们这节课把oracle的参数文件以及oracle的启动关闭讲一下 一)参数文件作用 先看oracle的参数文件 它由来已久了 我们知道oracle ...

  9. 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)

    深度学习笔记(一):logistic分类  深度学习笔记(二):简单神经网络,后向传播算法及实现  深度学习笔记(三):激活函数和损失函数  深度学习笔记:优化方法总结  深度学习笔记(四):循环神经 ...

最新文章

  1. [Bjoi2014]大融合
  2. golang字符串处理
  3. android led灯框架_LED面板灯的特点:应用领域、产品结构与产品分类
  4. 项目疑难杂症记录(二):焦点移动不了
  5. 浅谈linux中shell变量$#,$@,$0,$1,$2,$?的含义解释
  6. delphi OleVariant转换RecordSet
  7. 02 ZooKeeper分布式集群安装
  8. YYYY-mm-dd HH:MM:SS大小写解释
  9. python 谷歌翻译_Python:谷歌翻译20次的程序如何实现?
  10. 绘制函数z = x2 + y2所表示的三维网格图
  11. 关于深度学习的研究综述
  12. 关于sql连接语句中的Integrated Security=SSPI
  13. Eclipse官网查找历史版本Eclipse
  14. JAVA计算机毕业设计房屋租赁管理系统Mybatis+系统+数据库+调试部署
  15. C程序员必须知道的内存知识【英】
  16. Feign传输MultipartFile 报错 Error converting request body
  17. 搭建8086汇编语言学习环境——dosbox
  18. 嵌入式linux开发ubuntu下常用操作
  19. Visual Studio 2019 Extensions
  20. Lotus Notes登录后无法进入邮件,一直处于“正在加载,请稍候” 解决办法!!!

热门文章

  1. 人工智能产业展望:2018年三大难题如何破解?
  2. Facebook面部识别新突破:可识别未标记照片中用户
  3. 300 多行代码搞定微信 8.0 的「炸」「裂」特效!
  4. 吐血整理:手拿几个大厂offer的秘密武器!
  5. 怎么学操作系统和计算机网络?
  6. 程序员哪个时间敲代码效率最高?| 每日趣闻
  7. RESTful Levels HATEOAS
  8. 二十二:制作app的时候超出部分不能滑动
  9. mpvue 小程序如何开启下拉刷新,上拉加载?
  10. jquery 读秒,倒数计时方案