易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle internal number 数据类型存储

转自:http://ilonng.blog.sohu.com/130335741.html
   oracle的number类型是一种软件数据类型,在oracle软件本身中实现,我们不能使用固有硬件操作将两个number类型相加,这要在软件中模拟,number 类型的内部编码是2。oracle存储一个数的时,会存储尽可能少的内容来表示这个数,为此它会存储有效数字、用于指定小数点位置的一个指数,以及有关数值符号的信息(正或者负)。因此,数中包含的有效数字越多,占用的存储空间就越大。
    oracle底层存储number类型采用下面的这种形式:
sign bit/exponent,digit1,digit2,…,digit20
sign bit/exponent为标志位,digit1...digit20为数值位,可见number最多占据21个字节。
    一个数是可以使用科学计算法来正确表示的,如10=1*power(10,1),-101=-1.01*power(10,2),0.2=2*power(10,-1)。oracle就是通过这个原理来存储数据,它将任何一个它可以表示的数据转换成一个符号位、一个指数、一个有效数来存储,举个例子,123在oracle中是这样来存储的,+(1.23*power(100,1)),即它是以100为科学计算法的指数基数,为什么这样以及怎么来存储,请看下面。
    存储数据的第一个字节是标志位,这个字节里面会反映出这个数字的符号位以及表示这个数字的指数的符号位。采用科学计数法,任何一个实数S都可以描述为A.B×power(100,N),A表示整数部分(可能是正数,可能是负数),B表示小数部分,而N表示10的指数部分。那么oracle怎么用一个字节来表示这些信息呢?
    1、拿这个字节的最高位来表示正负,0表示负数,1表示正数。由此可见,这个数字在128这个部分被一切为2份,如果这个数字大于128,那么这个数就是正数,如果这个数字小于128,那么这个数字就是负数,如果这个数字等于128,那么这个数字就是0,如:
15:16:24 WATER@ lake>select 1,dump(1) from dual;
         1 DUMP(1)
---------- ------------------
         1 Typ=2 Len=2: 193,2
这里的第一个字节的标志位是193,大于128,故其为正数,另外可以看到,这里还有个偏移量为65,193=128+65+0。
15:16:30 WATER@ lake>select -1,dump(-1) from dual;
        -1 DUMP(-1)
---------- -----------------------
 &


相关文档:

Oracle多行记录合并/连接/聚合字符串的几种方法

什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name     Type          Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y       &nb ......

oracle重建密码文件


[oracle@dba01 dbs]$ orapwd file=/oracle/app/oracle/product/10.2.0/db_1/dbs/orapworcl password=oracle entries=20 force=y
[oracle@dba01 dbs]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Sat May 29 13:07:10 2010
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Con ......

oracle 重建控制文件

ORACLE的控制文件是数据库的非常重要的文件,它保存着数据库的连接实例(instance)和database的一个桥梁,它定义了当前数据库物理信息的状态。因此控制文件对于一个数据库来说是非常重要的,在某些时候我们需要重新创建控制文件:
1。当控制文件丢失的时候,并且没有最近的文件Copy备份(一般在建库完成后的生成一个创建Con ......

Oracle用户、权限、角色管理

Oracle用户、权限、角色管理
Oracle 权限设置
一、权限分类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
二、系统权限管理:
1、系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创 ......

Oracle RAC性能 Oracle sequence 性能测试

在Oracle RAC环境中,系统性能会受到影响,主要集中在Block在instance之间的传输,尽管oracle 10g 中采用了Cache Fusion来改善以前重disk中读取数据。其中的一个部分就是关于oracle sequence的性能问题
下面是关于sequence 的cache和order对rac 性能的影响,从测试中看到增大cache和采用non-ordered的sequence性能受到的影 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号