成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle服務中來確認數據類型內部的構造

數據庫 Oracle
在Oracle服務里來確認數據類型的內部具體構造,中我們需要對Oracle數據類型有一個很好的研究,以下的文章涉及到 多種Oracle數據類型。

本文主要講述的是Oracle基本數據類型的內部存儲格式的目標,即在Oracle服務中來確認相關數據類型的內部具體構造 ,以下就是數據庫的相關內容的具體介紹,希望你在瀏覽完此篇文章之后會有會所了解。

目標:在Oracle服務中確認數據類型的內部構造

解釋數據類型在內部是如何存儲的

內部存儲知識

能更好的解釋和分析塊dumps

某些崩潰診斷必須的技能

幫助客戶分析各種存儲問題

是明白內部事務的必須步驟

Oracle數據類型包含:

內置數據類型

用戶自定義數據類型

結構型對象類型

聚合型

VARRAYS

嵌套表

引用類型(引用對象類型)

注意的是,Oracle服務為程序提供了很多種數據類型,例如數字格式的:number,integer,float,decimal字符格式的:char,charz,string,varchar內部數據類型從內部向外部自動的由Oracle來轉換。

內置數據類型

 

  1. char,nchar,varchar2,nvarchar2   
  2. number   
  3. raw   
  4. long,long raw   

 

date datetime以及時間間隔類型

 

  1. clob,blob,nclob,bfile   
  2. rowid,urowid  

 

列中的數據取決于列的數據類型,但是數據類型并不是存儲列數據的塊中,本章以及后續課程將使用sql dump函數。范例中列的名字為TYP,關聯的內部代碼是各種數據類型,內部代碼存儲在數據字典中,在表col$的列type#下。

char和varchar2

字符類型數據通常是以數據庫的字符集(單字節)存儲的char固定長度的字符串,最多2000字符;內部代碼:96 varchar2浮動長度字符串,最多4000字符內部代碼:1為了能識別dump的輸出文件,必須要知道他們存儲的代碼頁。

char在char類型的列中,所有的空字節被空格(代碼32)填充長度固定由于char類型代碼為96,長度固定,因此很容易分辨出那些是用來填充的空格

varchar2 varchar2列中,將不用空格填充。

長度不固定

nchar和nvarchar2字符數據也可以使用國家字符集(多字節)設置存儲nchar固定長度,最多2000字節內部代碼:96 nvarchar2浮動長度,最多4000字節內部代碼:1

number數字類型內部存儲是一個字節的變長阿拉伯數字數組數字類型有以下格式< [length]>,sign bit/expornent,digit1,digit2,……,digit20內部代碼:2注意的是,number和float有同樣的內部特性。

指數類型指數字節包含三個部分:符號位:是整個字節的最高位(128)

如果是0,則數字是負數如果是1,則數字是正數或者0偏移量:總是65指數:范圍為-65到62標示該數字100為基礎的科學記數法如果指數是200=128+65+7,那么指數就是7,因此數據應該是大于100的7次方如果一個數字是服侍,指數也同樣的計算,但是要從255翻轉,例如,一個指數為7的負數的計算是:-(125+65+7)=-(200)=255-200=77偏移量使得負數的指數不需要使用別的字節來作為指數標志如果第一個字節大于128,那么數字是正的:exponent=first byte 128 -65=first bytes193如果第一個字節小于128,那么數字是負的:

exponent=(255-first byte)-128-65=62-first byte

digits大部分數字的最高位是digit1使用100作為基數(每一個數字是0-99之間)

對于正數:對于每個digit使用進位(1…100)

對于負數:不是使用進位,而是從101減基數標志102(0×66)是最后的數據庫的進位中是沒有0的,0標示數據結束。雖然現在該規則已經廢除,但是為了兼容,還是保留。現在Oracle服務通過計算長度來知道數據的結束。

存儲是基于矢量對照語法的。從左邊開始,比較數據的大小直到:一個部分不同,在這種情況下,最低的字節決定最小數字一個數據已經完成,在這種情況下,這個是兩個數字中的最小的。

所有的數據都比較完成,在這種情況下,兩個數字相等負數從101開始存儲,因此比較下面的數字:4=<193,5>,3=<193,4>比較這些字節,+4大于+3.負數-4和-3.指數必須是62,如果值不是從101開始,則可能-4=<62,5>并且-3=<62,4>,這個時候,-4比 -3大,顯然是錯誤的。但是從101開始以后,數字就變成了-4=<62,97>并且-3=<62,98>.現在-3是比-4大的。

字節102附加在負數的后面,保證他們排序的正確性。比較數字-100<61,100,102>和-115< 61,100,86,102>如果102不在這里,那么<61,100>和<61,100,86>將得到錯誤的結果,- 100比-115小。

正數的例子:因為數字是基于100的,因此最大的數字是99.指數從-65到62,因此,Oracle的number的范圍為:1*100(-65)=1*10(-120)到99*100(62)+99*100(61)…… 無限接近1*10^(126)

但是,因為最大的精度是38,Oracle將對超出精度的數據進行round操作。如果數字的字節數超過21,Oracle服務就會報溢出16進制也包括在這里面,因為在塊dump中是一樣的表現的要注意第二個字節是如何增加和減少的,數字是基于100的。

【編輯推薦】

  1. Windows 7下安裝Oracle 11g相關問題解決方法
  2. Oracle體系結構中兩個概念詳解
  3. Oracle體系結構中的基本概念,數據庫的介紹
  4. Oracle安裝腳本的相關代碼介紹
  5. Oracle內存結構的相關篇SGA
責任編輯:佚名 來源: 互聯網
相關推薦

2023-10-08 12:34:16

Pydantic數據轉換

2010-10-27 14:52:04

ORACLE數據類型

2009-11-17 10:01:11

Oracle數據類型

2010-03-31 18:56:56

Oracle 數據類型

2010-04-23 14:08:11

Oracle數據類型

2010-04-07 16:21:11

Oracle常用命令

2010-04-01 10:55:48

Oracle 數據類型

2010-03-30 16:33:55

Oracle數據類型

2022-10-27 20:42:04

JavaScripJava編程語言

2010-08-25 13:36:53

DB2Oracle

2010-04-27 11:03:39

Oracle Java

2019-08-12 11:40:48

數據庫SQLite3數據類型

2022-03-01 23:31:29

Python編程語言變量

2010-04-21 15:10:14

Oracle數據類型

2021-03-02 21:52:48

Hive數據類型

2020-10-26 07:16:10

MySQLSchema數據

2010-09-06 17:35:43

SQL函數

2010-09-13 10:21:26

sql server2

2010-10-08 14:45:43

mysql中int

2010-08-10 17:17:59

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产黄色网址在线观看 | 久久久免费电影 | 久久精品国产一区二区电影 | 午夜国产一级 | 91久久综合 | 亚洲乱码一区二区 | 狠狠亚洲 | 欧美一区二区三区国产 | 国产日韩欧美在线观看 | 欧美一级www片免费观看 | 中文字幕免费在线 | 91传媒在线观看 | 91精品国产一区二区 | 成人午夜视频在线观看 | 久久久精品一区二区三区 | 精品国产一级片 | 人人干在线视频 | 国产免费观看久久黄av片涩av | 国产日韩一区二区三区 | 国产激情在线 | 狠狠ri | 亚洲高清在线 | 亚洲人在线观看视频 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 日批日韩在线观看 | 中文字幕av网 | 欧美国产日韩一区二区三区 | 欧美一区不卡 | 福利视频一区二区三区 | 欧美日韩在线综合 | tube国产 | 午夜欧美一区二区三区在线播放 | 91就要激情| av毛片在线免费观看 | 精品久久成人 | 日本淫视频 | 亚洲精品电影 | 日韩中文字幕在线视频 | 国产成人福利在线观看 | 无人区国产成人久久三区 | 国产免费一区二区 |