`

表的其他的重要物理参数

阅读更多
表的其他的重要物理参数

1、MSSM(Manual segment space management)上的freelists
2、maxtrans
3、logging


CREATE TABLESPACE NOASSM DATAFILE 
  'D:\ORA1101G\ORADATA\GX\USERS_NOASSM1.DBF' SIZE 100M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL
FLASHBACK ON

create table t_freelist
(
a integer,
b varchar2(10)
) tablespace noassm

四个session
declare 
  i integer;
begin
i:=dbms_utility.get_time;
  -- Test statements here
for j in 1..100000 loop
insert into t_freelist values(j,'xx');
end loop;
commit;
dbms_output.put_line((dbms_utility.get_time-i)/100);
end;

alter table t_freelist storage (freelists 5)

select e.TOTAL_WAITs,e.TIME_WAITED,e.WAIT_CLASS from v$system_event e
where event = 'buffer busy waits'

0   1   49	    261	Concurrency
1   10  4426	300	Concurrency
2   1   4428	300	Concurrency
3   5   8892	375	Concurrency
4   1   9072	414	Concurrency

freelist	TOTAL_WAITs	TIME_WAITED	WAIT_CLASS
1			
5			
10			
1			


CREATE TABLESPACE USERS DATAFILE 
  'D:\ORA1101G\ORADATA\GX\USERS01.DBF' SIZE 1868M AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO

select dbms_metadata.get_ddl('TABLE','T_FREELIST') from dual

  CREATE TABLE "SCOTT"."T_FREELIST" 
   (	"A" NUMBER(38,0), 
	"B" VARCHAR2(10)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"


declare 
  -- Local variables here
  i integer;
begin
i:=dbms_utility.get_time;
  -- Test statements here
for j in 1..100000 loop
insert into t_freelist values(j,'xx');
end loop;
commit;
dbms_output.put_line((dbms_utility.get_time-i)/100);
end;

SQL> alter table t_freelist storage (freelists 5);
alter table t_freelist storage (freelists 5)
*
第 1 行出现错误:
ORA-10620: Operation not allowed on this segment


drop table t_freelist purge
create table t_freelist
(
a integer,
b varchar2(10)
) tablespace users 
STORAGE(FREELISTS 10)

9416	427	Concurrency
10195	455	Concurrency

尽管提高freelists设置较高的值,可以提高并发处理的效率,但是可能会导致使用较多的磁盘空间。

多个freelists的工作机制

1、	每一个freelist有较少的free block
2、	当存在多个freelist时候,会多出一个主freelist
3、	每一个freelist只能从主freelist申请新的free block,而不会从其他的freelist申请新的free blocks。


并行加载大量数据的时候,为了提高效率,可能采用并行加载方法。这时候,可以暂时将表的freelist设定一个较高的值,等任务结束后,再将表的freelist设定一个较合理的值。


Inittrans和maxtrans

在块的首部有一个事务表,这个事务表建立一些数据行记录哪些事务将块上的哪些行的数据锁定,这个事务表的初始化行数由Inittrans设定,其默认值为2。随着这个块上的事务数增加,事务表的条目也开始增加,增加到最大的条目数maxtrans(假定这个块有足够的自由空间),每一个事务条目占用23左右字节数。

ORA9IR2> create table t1 ( x int ) maxtrans 2;
ORA9IR2> create table t2 ( x int ) maxtrans 2;

ORA9IR2> insert into t1 values ( 1 );
ORA9IR2> insert into t1 values ( 2 );
ORA9IR2> insert into t1 values ( 3 );

ORA9IR2> insert into t2 values ( 1 );
ORA9IR2> insert into t2 values ( 2 );
ORA9IR2> insert into t2 values ( 3 );
显然,t1,t2的数据在同一个块上。
ORA9IR2> commit;

Session 1
ORA9IR2> update t1 set x=x where x=1;
ORA9IR2> update t2 set x=x where x=1;

session 2
ORA9IR2> update t1 set x=x where x=2;

session 3
ORA9IR2> update t2 set x=x where x=3;

session 2
ORA9IR2> update t2 set x=x where x=2;


that'll block.  T2 has a lock by session 1 and session 3 -- maxtrans (max conccurrent  transactions) on that block is limited to two, so session 2 must wait


back to session 3

ORA9IR2> update t1 set x=x where x=3;


that'll block as well.  then session 2 will recieve


ORA9IR2> update t2 set x=x where x=2;
update t2 set x=x where x=2
       *
ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource

在10g以后的版本maxtrans是255


logging 与nologging
通常对象(主要是表、索引)采用logging的方式被创建的,这说明在创建对象的时候,能够生成redo的时候,就会生成redo。 而nologging则允许某一些操作,可以不生成redo。

Nologging则只影响几个特定的操作。如对象创建,直接路径加载。

archive log list
数据库日志模式             非存档模式
自动存档                   禁用
存档终点                   USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列         380
当前日志序列               382


drop table t_logging purge;
drop table t_nologging purge;


select a.sid,a.statistic#,a.value 
from v$sesstat a, v$statname b
where a.STATISTIC#=b.STATISTIC# and
      b.NAME like 'redo size' and
      sid=( select sid from v$mystat where rownum=1)
--1954800

create table t_logging logging
as
select * from all_objects


select a.sid,a.statistic#,a.value 
from v$sesstat a, v$statname b
where a.STATISTIC#=b.STATISTIC# and
      b.NAME like 'redo size' and
      sid=( select sid from v$mystat where rownum=1)
--2072888

select 2072888-1954800 from dual

118088

select a.sid,a.statistic#,a.value 
from v$sesstat a, v$statname b
where a.STATISTIC#=b.STATISTIC# and
      b.NAME like 'redo size' and
      sid=( select sid from v$mystat where rownum=1)
--2072888
create table t_nologging nologging
as
select * from all_objects

select a.sid,a.statistic#,a.value 
from v$sesstat a, v$statname b
where a.STATISTIC#=b.STATISTIC# and
      b.NAME like 'redo size' and
      sid=( select sid from v$mystat where rownum=1)
--2186732

select 2186732-2072888 from dual

113844


select table_name,logging from user_tables where table_name in   ('T_LOGGING','T_NOLOGGING')

T_LOGGING	YES
T_NOLOGGING	NO

select * from v$sesstat
    where statistic#=140
    and sid = (select sid from v$session where username=USER);

select * from v$statname where lower(name) like '%redo%'
--140


select * from v$session where audsid=userenv('sessionid');
SELECT SYS_CONTEXT ('USERENV', 'SESSION_USER') FROM DUAL;
select * from v$session where sid = ( select sid from v$mystat where rownum=1);

select a.sid,a.statistic#,a.value 
from v$sesstat a, v$statname b
where a.STATISTIC#=b.STATISTIC# and
      b.NAME like 'redo size' and
      sid=( select sid from v$mystat where rownum=1)



create table as select
insert /*+ APPEND */
direct path loads

will already skip logging in a noarchivelog mode database as they do direct writes to the datafiles
other operations such as insert/update/delete/merge will always generate redo regardless of the 
mode

 

分享到:
评论

相关推荐

    空气动力学基础与飞行原理:大气物理参数.pptx

    主要内容12大气的重要物理参数大气层的构造34国际标准大气气象对飞行活动的影响第一节 大气的重要物理参数大气里有什么?大气组成氮气、氧气二氧化碳氩、氖、氦、氢等气体水蒸气和尘埃颗粒。大气中各种气体分子都在...

    常用的岩土和岩石物理力学参数

    ### 常用的岩土和岩石物理力学参数 #### 弹性参数转换与应用 在岩土工程中,常用到两种弹性参数体系:杨氏模量\( E \)和泊松比\( \nu \)体系,以及体积模量\( K \)和剪切模量\( G \)体系。两者之间存在一定的转换...

    半导体表面与界面物理.pdf

    本书主要探讨的是半导体表面与界面物理领域的重要知识点。半导体材料因其在电子器件中的应用而成为科学研究和工业发展的重要领域之一。半导体表面与界面是该领域研究的核心内容之一,因为它涉及到电子器件性能的关键...

    山核桃树枝条物理参数的测定及分析

    而要实现高效的振动采收,必须深入研究和分析果实载体——山核桃树枝条的物理参数,特别是其动力学特性。 本文由谢奇志和贺磊盈联合撰写,专注于测定和分析山核桃树枝条的物理参数,以期为振动式采摘装置的设计提供...

    兰州地铁围岩热物理参数测试研究

    7. 地下空间开发利用的研究:地下空间的开发利用越来越受到重视,地铁围岩热物理参数的研究不仅对地铁工程本身具有重要意义,而且也对其他地下工程的设计和运营具有参考价值,特别是在高海拔等特殊地区,相关研究有...

    V90 PN伺服驱动器EPOS控制方式_伺服参数的物理意义及说明.docx

    理解伺服参数的物理意义并正确设置这些参数,对于V90 PN伺服驱动器在EPOS控制方式下的高效、稳定工作至关重要。合适的参数设置可以确保电机在各种工况下都能快速响应,精确控制,同时避免过冲、振荡等问题,从而提升...

    鄂西恩施地区岩石物理力学参数的相关性

    岩石物理力学性质指标是反映岩体工程特性的重要参数。通过对鄂西恩施地区典型滑坡区白垩系砂岩、三叠系粉砂岩、三叠系薄层泥灰岩、三叠系粉砂质泥岩、泥盆系石英砂岩和三叠系、二叠系、奥陶系灰岩等岩石单轴抗压强度...

    基于人工智能的地球物理参数反演范式理论及判定条件

    传统的地球物理参数反演方法往往基于物理模型,这些模型可能基于能量平衡方程或其他物理定律。然而,这些模型可能存在局限性,如解析困难、计算复杂度高或者对初始条件和边界条件敏感等。人工智能,特别是深度学习,...

    基于粒子群PSO算法的月球物理参数反演.pdf

    6. **数据约束**:在反演过程中,通常需要结合其他约束手段,如地质学和地球物理学的知识,来限制物理参数的取值范围,确保反演结果的合理性。 综上所述,这篇文章探讨了如何利用粒子群优化算法改进月球物理参数的...

    基于人工智能的地球物理参数反演范式理论及判定条件.pdf

    基于人工智能的地球物理参数反演范式理论及其判定条件的提出,标志着在这一领域的理论发展迈出了重要一步。这一理论不仅有望提升反演的精度,还有助于推动AI在地学和农学中的应用,同时为培养跨学科人才提供了理论...

    泥岩砂岩物理参数.doc

    综上所述,尽管“泥岩砂岩物理参数.doc”文件没有如预期般提供泥岩和砂岩的物理参数,但它所包含的内容对三峡库区地质灾害防治工程具有重要的参考价值。该文件详细记录了工程前期的勘查与评估工作,展示了危岩带的...

    openform热力模型更正文件_openfoam_OpenFOAM热物理参数修正_

    "openform热力模型更正文件_openfoam_OpenFOAM热物理参数修正_"这个标题暗示了我们需要关注的是OpenFOAM中的热物理模型校正和参数调整。OpenFOAM通过其内置的热物理库来处理与热力学相关的计算,包括热传导、对流、...

    论文研究 - 从先前的宇宙到现在的宇宙,物理定律/物理参数常数是否保持不变?

    这就意味着,我们目前所观测到的宇宙规律,例如能量守恒、动量守恒等基本物理定律,在宇宙早期可能有着不同的表现形式或者由不同的物理参数所决定。 在此,我们可以看到作者Beckwith在文中强调了信息转移的最小量在...

    Spark云计算平台下的结构物理参数辨识.pdf

    首先,文档提到的“结构物理参数辨识”是结构损伤识别中的一个重要环节。在结构工程领域,对结构的物理参数(如刚度、质量、阻尼等)进行准确的辨识,对于评估和监测结构的安全状态至关重要。以往传统的方法在处理...

    电信设备-MODIS生物物理参数森林信息提取方法.zip

    《电信设备-MODIS生物物理参数森林信息提取方法》是一个重要的资料包,主要涉及的是利用MODIS(Moderate Resolution Imaging Spectroradiometer,中分辨率成像光谱仪)数据进行森林生物物理参数的提取方法。...

    基于深度学习技术的恒星大气物理参数自动估计.pdf

    通过对三个重要的恒星大气物理参数进行估计:有效温度、表面重力加速度和金属丰度。实验结果表明,深度学习模型估计精度较好。在SDSS数据上的平均绝对误差分别为:有效温度误差为79.95K,表面重力加速度误差为0.0058...

    掺杂半导体中物理参数相互关系的GUI演示.pdf

    在这一领域中,理解掺杂半导体物理参数间的相互关系对于优化材料性能、设计新型电子器件具有重要的指导意义。 本文将重点介绍掺杂半导体中物理参数间的相互关系,以及如何通过图形用户界面(GUI)进行直观的演示和...

    美国标准大气参数1976

    《美国标准大气参数1976》是针对地球大气层的一种科学模型,它详细定义了在不同海拔高度上的大气压力、温度、密度等关键物理参数。这个模型是基于1976年的观测数据和科学研究而制定的,为气象学、航空航天、气候研究...

    岩石物理模型-DEM模型

    岩石物理模型是地质学与地球物理学中的重要研究领域,它主要关注岩石的物理特性,如弹性、电导率、磁性等,以及这些特性如何受到岩石微观结构的影响。DEM(Differential Equivalent Medium)模型,即微分等效介质...

Global site tag (gtag.js) - Google Analytics