undo的extend和steal机制
undo的重用机制。膨胀和偷窃是什么时候发挥作用的
oracle表的类型
oracle中有99%以上的表都是堆组织表(heap organized table)。当我们默认执行 create table 时,默认的表类型就是堆表。对于堆来说。我们可以理解为一个单纯的存储空间,我们将数据存放在堆里,他的存放是无序的,像一堆积木扔在口袋里一样。所以我们不能要求我们可以按照存放的次序拿到我们想要的数据,而是会按照无法预测的顺序读取出来。例如对堆表进行全表扫时,or
log file sync与log file parallel write
log file sync与log file parallel write就是日志竞争中出现的问题。频繁的commit会触发这个等待事件。如果没有过于频繁的提交,但是还看到了这种等待事件,以下就是常见的原因:1.物理设备原因:存放redo的设备老旧,性能不佳,这样需要更新换代2.redo文件与其他热文件发生冲突:重做日志应该放在专属设备上,否则当其他文件与LGWR同时想要写入该设备,将会发生不同程
CBC latch 和 buffer pin(buffer busy wait)
CBC 全称cache buffer chain 。要了解CBClatch和buffer pin之前,首先我们要了解的是当一个进程想要查询或者修改数据时,oracle都做了一些什么工作。当一外部服务向数据库申请数据的时候,oracle内部进程首先在buffer cache中寻找相关数据,如果buffer cache中没有相关数据时,就要从相对应的数据文件中找到相对的block,随后发生物理IO,将
AIX6.1 安装oracle 软件时PRVF-4354解决办法
oracle软件安装时在check时发生如下提示Hard Limit,soft limit。在linux 中,修改limit.conf 文件便可以check过去。但是在aix中。度娘给的提示却很少。以下是解决办法在root用户下 输入命令smit chgsys。然后在 maximun number of processes allowed per user 数值改成16384然后根据提示退出。再次
oracle 在线rename数据文件
今天给表空间加数据文件的时候,马虎大意多加了一个空格,为了避免之后备份等问题。现在准备在线rename数据文件。先在测试库上进行试验SQL> create tablespace test datafile '/home/oracle/tst.dbf ' size 1m;Tablespace created.确认是否为归档模式SQL> archive log listDa
11G RAC 节点删除与添加
RAC删除节点并添加节点oracle用户更新Inventory$ORACLE_HOME/oui/bin/runInstaller -updateNodelist ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES=zycdbtst3" -local删除db软件$ORACLE_HOME/deinstall/deinstall -local再在其他主机o
Oracle的分区表
分区表就是通过分区技术使一张大表拆分成多个表分区 (segment),就像用一把刀将一个大蛋糕切成各个小份,方便分发和食用;而分区表技术正是为了提高大表的性能以及更方便运维人员对其进行维护;所以对于分区表来说,所有独立的表结构都是一样的,例如table1有个 userid varchar(2),那相同的,table2也有相对应的userid varchar(2);但是各个表可以处在不同的表空间里,
Oracle的并行操作
SQL语句在缺省的时候是在一个cpu上串行的,即便系统有多个cpu存在也无法使用它们,这样有一个显而易见的瓶颈就是一个cpu使用的资源就决定了sql语句的性能。所以就应景而生,并行操作--同时利用多个cpu进行工作。 并行操作一共有两种进程: Slave Process:该类进程是有多个地位相同的进程组成的。每个进程负责一部分或者 一单元的工作。例如全表扫,每个进程
Oracle的体系结构
1.Oracle体系结构说到Oracle,Oracle是什么呢?接触过Mysql,SQL Server的人可能下意识就认为不就一个关系型数据库么?其实不然,太笼统的概念不能让我们清醒的看懂Oracle的结构,从严格意义上来讲Oracle由两部分组成: 实例是数据库启动时初始化的一组进程和内存结构,数据库则是指用户存储数据的一些文件。实例是伴随着数据库的启动而存在的,它的存在是为了高效访问
Oracle的lock 和latch
在开发多用户,数据库驱动的应用时,最大的难点之一是:一方面要力争最大限度的并发访问,与此同时还要确保每个用户保证用户一致性的前提下读取和修改数据。所以就出现了锁(lock)这个机制。锁(lock)用于管理对共享资源的并发访问。举一个很形象的例子:user1 在它的session中的一个事务获取了一个一行数据,放在本地的内存,显示给了user1;user2在它的session中的一个事务也获取了这个