当前位置:  数据库>oracle

Oracle知识整理《收获,不止Oracle》

    来源: 互联网  发布时间:2017-06-22

    本文导语: 普通堆表不足之处:     表更新有日志开销     表删除有瑕疵     表记录太大检索较慢     索引回表读开销很大     有序插入难有序读出   DELETE产生的undo最多,redo也最多,因为undo也需要redo保护   《收获,不止Oracle》(高清...

普通堆表不足之处:

    表更新有日志开销
    表删除有瑕疵
    表记录太大检索较慢
    索引回表读开销很大
    有序插入难有序读出
 
DELETE产生的undo最多,redo也最多,因为undo也需要redo保护
 
《收获,不止Oracle》(高清扫描完美书签PDF) 下载:
 
全局临时表:
1 高效删除记录
  基于事务的全局临时表commit或者session连接退出后,自动删除
  基于回话的全局临时表在退出回话后自动删除
 
2 针对不同的会话数据独立,不同的session访问全局临时表,看到的结果不同
 
全局临时表在程序的一次调用执行过程中,需要多次清空记录再插入记录,就考虑使用基于是无敌额
 
分区表
--分区表删除
alter table range_part_tab truncate partition p9;
 
--分区表交换
alter table range_part_tab exchange partition p9 with table mid_table;
 
--分区表的分割
alter table range_part_tab split partition p_max at(to_date(,))into (partition p2013_01,partition p_max);
 
--分区表合并
alter table range_part_table merge partitions p2013_01,p_max into partition p_max;
 
SCN,保证数据一致读,解决了读一致性的问题,避免使用锁
 
1 startup nomount 寻找定位 参数文件(SGA共享内存段开启,后台进程开启)
2 alter database mount 寻找定位 控制文件(其中包含 数据文件 日志文件 检查点信息等)
3 alter database open 寻找定位 数据文件 日志文件等
 
全部命令融合在shutdown immediate里面
database closed.
database dismounted.
oracle instance shut down.
 
各文件查找位置:
show parameter spfile;
show parameter control;
 
sqlplus "/ as sysdba"
select file_name from dba_data_files;
select group#,member from v$logfile;
show parameter recovery;
setlinesize 1000;
show parameter dump;
 
cd /home/oracle/admin/itmtest/bdump
ls -lart alert*
 
OLTP倾向于让块的尺寸小一些:因为如果块太大,容易导致大量并发查询及更新操作都指向同一个数据块,从而产生热点块竞争。
 
Leaf 主要存储了 key column value 以及 具体能定位到数据块所在位置的rowid
 
索引特点:
    高度比较低
    存储索引列还有rowid
    本身是有序的
 
MIN MAX的索引优化:INDEX FULL SCAN(MINMAX)
    select max(object_id) from t;
    select max,min from (select max(object_id) max from t) a,(select min(object_id) min from t) b;
索引回表读(TABLE ACCESS BY INDEX ROWID)
select * from t where object_id  create table t ( processed_flag varchar2(1) );
Table created.
ORA10G> create bitmap index t_idx on t(processed_flag);
Index created.
ORA10G> insert into t values ( 'N' );
1 row created.

现在,如果在另一个SQL*Plus会话中执行以下命令:

ORA10G> insert into t values ( 'N' );

这条语句就会“挂起”,直到在第一个阻塞会话中发出COMMIT为止。


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3