日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

oracle的字段類型

瀏覽:234日期:2023-11-26 18:26:38
0、LARGE OBJECT Oracle8中有4種LOB - BLOB:Binary Large Object - CLOB:Character Large Object - NCLOB:固定長度的多字節Character Large Object - BFILE:DB外部的二進制文件 它們分為兩類: 內部LOB:存放在DB內部,包括BLOB,CLOB,BCLOB 外部文件:存放在DB外面,就是BFILE 要注重的是ORACLE8不自動轉換這些類型的數據。 1、LONG和LOB的比較 LONG/LONG RAW LOB -------------------------------------------------- 表中只能由一個列 可以有多列 最大2G 最大4G SELECT返回值 SELECT返回指針 存放在DB內 可以在DB的內或者外 不支持OBJECT類型 支持 順序存取 隨機存取 -------------------------------------------------- NCLOB不支持OBJECT類型 LOB小于4000字節時是內部存放 2、LOB解析 LOB有兩個不同的部分 - LOB值:LOB代表的數據 - LOB指針:LOB存放數據的位置 LOB列內部不存放數據,而是LOB值的位置。當創建內部LOB時,值存放在LOB SEGMENT中,指向OUT-OF-LIN數據的指針放在列中。對外部LOB,只在列中存放位置。 3、內部LOB 就是存放在DB內部的LOB,包括BLOB,CLOB,NCLOB。它們可以是 用戶自定義的類型中的屬性 表中某列 SQL 變量 程序host變量 PL/SQL中的變量、參數、返回值 內部LOB可以使用ORACLE的并發機制、REDO LOG、RECOVERY機制。 BLOB被ORACLE8解釋為二進制位流,類似LONG RAW。 CLOB解釋為單字節字符流 NCLOB是固定的多字節字符流,基于DB NATIONAL字符集的字節長度。 例子: CREATE TYPE picture_typ AS OBJECT (image BLOB); CREATE TABLE person_tab ( pname VARCHAR2(20), RESUME CLOB, picture picture_typ ); 上面的語句完成后,數據將存放在5個物理SEGMENT中。 - TABLE person_tab在缺省TABLESPACE, - RESUME存放的LOB SEGMENT - PICTURE存放的LOB SEGMENT - 標示RESUME存放位置的LOB INDEX SEGMENT - 標示PICTURE存放位置的LOB INDEX SEGMENT LOB INDEX是隱式創建的。 當INSERT或者OBJECT CACHE中的OBJECT刷新到SERVER時,LOB生成??梢允褂肈BMS_LOB包和OCI來處理LOB。當ROW刪除時,相應的內部LOB也會刪除。UPDATE必須處理整個LOB值,不能UPDATE其中的一部分。 4、內部LOB的存儲參數 具體語法可以參見ORACLE文檔, LOB ( lob項,...) STORE AS lob_segment_name CHUNK integer PCTVERSION integer CACHE NOCACHE LOGGING/NOLOGGING TABLESPACE tablespace_name STORAGE storage子句 INDEX INDEX字句 lob_segment_name:缺省式LOB$n CHUNK:連續分配在一起的BLOCK數目,存放連續的LOB數據。這些CHUNK的數據存放在LOB INDEX里面,使用內部LOB標示和LOB值作為鍵。 PCTVERSION:LOB一致讀需要的系統空間。一旦LOB申請超過PCTVERSION的值,ORACLE就會收舊的空間并REUSE之。 CACHE:使用SGA區的DB BUFFER CACHE處理LOB的READ/WRITE。 NOCACHE LOGGING:不使用SGA區的BUFFER,數據的改變紀錄到REDO LOG。 存取LOB比較頻繁時,使用CACHE 存取LOB不頻繁時,使用NOCACHE NOCACHE NOLOGGING:不使用SGA區的BUFFER和REDO LOG INDEX子句 INDEX lob_index_segtment_name INITTRANS integer MAXTRANS integer TABLESPACE tablespace_name STORAGE storage子句 假如沒有設置LOB存儲參數和INDEX STROAGE,則采用如下缺省值 CHUNK=1 DB_BLOCK PCTVERSION=10 NOCACHE NOLOGGING 例子: CREATE TABLE APARTMENTS ( floor_plan BLOB, contract CLOB, name VARCHAR2(10)) LOB (floor_plan, contract)STORAGE AS( STORAGE (INITIAL 100K NEXT 100K PCTINCREASE 0) CHUNK 10 PCTVERSION 20 NOCACHE NOLOGGING INDEX (INITIAL 100K NEXT 100K) ); 5、內部LOB的并發 LOB的讀一致和其他ORACLE類型一樣,但是它是在CHUNK級別上作VERSION的。 6、外部LOB ORACLE8答應定義BFILE類型,可以把外部文件和BFILE對象連接起來,同時能提供BFILE的安全機制。 BFILE對處理不需要transaction控制的OS文件很有用處。 對BFILE的處理需要DBMS_LOB或者OCI。 BFILE必須是READ-ONLY的,文件應該放在ORACLE能存取的地方。假如刪除BFILE對象,外部文件并不刪除。 例子: CREATE TABLE home_page( EMPLOYEE REF EMPLOYEE_TYP, LAST_UPDATE DATE, HOMEPAGE BFILE); CREATE TYPE personal_info_typ AS OBJECT ( EMPLOYEE REF employee_typ, PICTURE BFILE, THUMBPRINT BFILE, REINAPRINT BFILE ); 其實在BFILE對應的列或者屬性中存放的是BFILE的位置,即是物理文件的位置。 讀BFILE不通過SGA. 7、BFILE的安全 ORACLE8提供安全機制。文件必須和DB在一臺機器上,讀取不存在文件的timeout由os決定??梢院蛢炔縇OB的讀取方法一致,但是必須注重:文件的權限、文件系統空間限制、其他對文件的維護、OS答應的最大文件大小。 ORACLE8不對BFILE采取TRANSACTION的支持,ORACLE的BACKUO和RECOVERY也不支持BFILE。 8、目錄DirectorY 這是ORACLE為了治理BFILE引入的新元素,它指定SERVER文件系統的目錄,可以把文件系統的目錄抽象為數據庫對象,更具有靈活性。 DIRECTORY由DBA建立,系統用戶擁有,通過GRANT/REVOKE來確定哪些用戶有權限。 CREATE OR REPLACE DIRECTORY 目錄名 AS 路徑名 DROP DIRECTORY 目錄名 存取BFILE在如下情況時候產生異常: -用戶沒有操作DIRECTORY的權限 -DIRECTORY所對應的物理目錄不存在,或者沒有存取該目錄的權限。 -文件不存在 文件和權限的檢查是在文件存取時候檢查的,創建時候并不報錯。 不支持邏輯路徑 系統新增加了CREATE ANY DIRECTORY和DROP ANY DIRECTORY。對DIRECTORY授權只有READ。 對CREATE DIRECTORY和GRANT READ ON DIRECTORY是可以AUDIT的。 8、DIRECTORY建立的原則 DIRECTORY不要和DB DATAFILE在相同的目錄下。 要有選擇的賦予CREATE ANY DIRECTORY和DROP ANY DIRECTORY ROLE。 在建立之前要在OS級別上設置權限。 假如移植DB到其他機器,需要注重DIRECTORY的路徑是否改變。 9、治理LOB ORACLE 通類似文件操作一樣的接口:DBMS_LOB, OCI8。同時還有SQL語句的一些支持。 治理LOB的一般方法: 1)CREATE/POPULATE 包含LOB的TABLE, 2)在程序中DECLARE AND INITIALIZE LOB Locator 3)用SELECT FOR UPDATE 鎖定包含LOB的ROW, 4)用DBMS_LOB或者OCI維護相關LOB值 5)COMMIT 治理BFILE的一般方法 1)建立OS目錄,授予ORACLE 用戶READ的權限 2)把文件放到該目錄 3)建立包含BFILE的TABLE 4)建立DIRECTORY,用GRANT授權 5)在TABLE中INSERT與文件相關的值 6)在程序中聲明LOB Locator 7)取得包含LOB Locator的行 8)用DBMS_LOB和OCI讀取BFILE 10、LOB的操作 可以用SQL、PL/SQL、3GL中嵌入式SQL或者OCI中的變量值直接INSERT 到LOB中。 可以用其他的LOB、NULL或者EMPTY_CLOB()/EMPTY_BLOB()的值UPDATE LOB。當把一個LOB賦給另一個時,其實是新建了一個LOB。這些操作不需要SELECT FOR UPDATE。只有在更新LOB的其中一部分的時候才需要先LOCK。 ORACLE8不會自動轉換CLOB和BLOB。 最好的辦法是OCILobWrite,以為它使用ORACLE的流機制,最快、使用更好的空間和REDO。 刪除LOB的方法 DELETE .... TRUNCATE TABLE.... DROP TABLE ... 刪除后注重在OS級別上刪除相關文件。 假如只是要去掉LOB的Locator,可以用NULL或者空字符串''來UPDATE。 11、DBMS_LOB包 DBMS_LOB包用SYS用戶提交DBMSLOB.SQL和PRVTLOB.PLB腳本。它們包含在CATPROC.SQL中。用戶要授權才能使用它。匿名BLOCK中的DBMS_LOB例程使用當前用戶的權限。STORED PROCEDURE中的DBMS_LOB調用使用其所有者的權限。 它不支持BFILE的并發控制機制。 你必須控制LOB的LOCK,DBMS_LOB不會隱式的LOCK LOB所在的ROW。 DBMS_LOB.LOBMAXSIZE = 4G 包含兩類操作 1)APPEND、COPY, EARSE,TRIM,WRITE,FILECLOSE,FILECLOSEALL,FILEOPEN,LOADFROMFILE 2)COMPARE,FILEGETNAME.INSTR,GETLENGTH,READ,SUBSTR,FILEEXISTS,FILEISOPEN DBMS_LOB的任何參數為NULL,則返回值為NULL. 假如目標LOB/BFILE=NULL,將觸發異常。 BLOB/BFILE的OFFSET以BYTE為單位,CLOB/NCLOB以字符為單位。且不能為負值,否則會觸發異常。缺省OFFSET為1。 參數不能為負值。 PROCEDURE APPEND(DEST_LOB, SRC_LOB); 把一個LOB加到另一個LOB中。 FUNCTION COMPARE(L1, L2, AMOUNT, OFFSET1,OFFSET2) =0 ,相同 =-1,第一個小 =1,第一個大 12、系統治理方面的問題 EXPORT/IMPORT支持LIBRARY和DIRECTORY,支持LOB。 IMPORT轉換EXPORT文件中的CLOB到當前缺省的字符集。NCLOB轉換到當前Nationanl字符集。BLOB不轉換。 BFILE不能EXP/IMP。只有BFILE的名字和DIRECTORY被EXPORT出來。結束
標簽: Oracle 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆91精品91久久久的内涵| 久久精品国产99久久| 精品国产网站| 美女高潮久久久| 欧美日韩国产观看视频| 亚洲高清毛片| 欧美日韩国产观看视频| 群体交乱之放荡娇妻一区二区| 欧美亚洲国产激情| 国产91在线播放精品| www.51av欧美视频| 久久免费黄色| 蜜乳av另类精品一区二区| 亚洲一区二区av| 久久中文字幕一区二区三区| 日韩视频精品在线观看| 亚洲三级精品| 神马日本精品| 欧美激情综合| 三上亚洲一区二区| 97se综合| 日本欧美久久久久免费播放网| 精品精品99| 亚洲深夜福利在线观看| 麻豆免费精品视频| 91成人精品| 久久麻豆视频| 美女国产一区| 日韩在线二区| 国产亚洲精品美女久久| 亚洲福利精品| 国产一区日韩| 日本免费在线视频不卡一不卡二| 精精国产xxxx视频在线播放| 日韩美女精品| 久久久久亚洲| 国产成人精品三级高清久久91 | 日韩国产精品久久久| 在线手机中文字幕| 国产欧美自拍一区| 亚洲涩涩av| 视频精品一区二区| 精品日韩毛片| 色偷偷色偷偷色偷偷在线视频| 国产美女久久| 91精品福利观看| 亚洲人成精品久久久| 尤物网精品视频| 国产自产自拍视频在线观看| 欧美在线黄色| 在线成人直播| 99国产精品私拍| 国产视频一区三区| 99在线精品视频在线观看 | 欧美精品国产白浆久久久久| 四虎精品一区二区免费| 久久亚洲视频| 国产亚洲网站| 一区三区视频| 91精品蜜臀一区二区三区在线 | 欧美精品影院| 亚洲精品美女91| 亚洲精品高潮| 日韩精品中文字幕吗一区二区| 美女久久久久| 久久久蜜桃一区二区人| 中文在线а√在线8| 另类欧美日韩国产在线| 久久99影视| jizzjizz中国精品麻豆| 福利一区和二区| 91精品韩国| 在线日韩中文| 丝袜美腿亚洲色图| 亚洲精品韩国| 欧美久久久网站| 久久久亚洲欧洲日产| 欧美日韩免费看片| 一本色道精品久久一区二区三区| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲一区二区三区四区电影| 欧美有码在线| 亚洲黄色中文字幕| 黄色亚洲精品| 国产精品一区二区免费福利视频| 国产一区二区久久久久| 欧美精品一区二区三区精品| 日本99精品| 九一国产精品| 日本午夜精品久久久久| 91日韩免费| 一区二区亚洲视频| 久久久一本精品| 亚洲天堂日韩在线| 日韩一区自拍| 美腿丝袜在线亚洲一区| 亚洲国产一区二区在线观看 | 蜜桃一区二区三区在线| 色偷偷偷在线视频播放| 亚洲综合图色| 中文在线а√在线8| 国产情侣久久| 蜜臀av一区二区三区| 日本精品影院| 国产精品嫩草影院在线看| 九九综合在线| 麻豆视频在线观看免费网站黄| 色综合视频一区二区三区日韩 | 日本aⅴ精品一区二区三区| 亚洲天堂资源| 国产精久久久| 99视频精品| 欧美亚洲一级| 蜜桃视频一区二区三区| 激情综合自拍| 群体交乱之放荡娇妻一区二区| 国产精品毛片久久久| 免费人成精品欧美精品| 亚洲欧美日韩国产一区二区| 日韩精品午夜| 色婷婷色综合| 久久久久久久欧美精品| 欧美天堂视频| 国际精品欧美精品| 欧美成人一二区| 国产日韩欧美中文在线| 国产伦理一区| 九九久久国产| 国产精品成人a在线观看| 麻豆网站免费在线观看| 欧美日韩精品免费观看视欧美高清免费大片 | 国产精品入口久久| 黄色精品视频| 日韩中文在线播放| 在线精品视频在线观看高清| 久久国产精品久久久久久电车 | 亚洲精品护士| 久久国产麻豆精品| 国产一区二区精品久| 午夜欧美精品| 欧美日韩一区二区三区不卡视频 | 欧美视频精品全部免费观看| 日本在线不卡视频一二三区| 国产视频网站一区二区三区| 久久精品五月| 女主播福利一区| 久久国产乱子精品免费女| 国产在线视频欧美一区| 女人av一区| 91精品国产自产精品男人的天堂| 麻豆传媒一区二区三区| 国产高清久久| 亚洲精品在线二区| 91日韩欧美| 精品一区视频| 日韩欧美美女在线观看| 日韩成人亚洲| 91精品韩国| 久久中文欧美| 亚洲一二三区视频| 99久久精品网| 国产一区二区三区不卡视频网站 | 极品av在线| 欧美精品二区| 久久国产精品色av免费看| 日韩中文字幕亚洲一区二区va在线| 狠狠爱成人网| 日本一区二区三区中文字幕| 麻豆国产在线| 久久av网站| 一区二区精品| 三级欧美在线一区| 日韩综合在线| 97精品国产一区二区三区| 好看的av在线不卡观看| 精品精品久久| 国产精品chinese| 日精品一区二区三区| 丝袜诱惑一区二区| 精品三级久久| 国产在线不卡一区二区三区| 97精品国产福利一区二区三区| 国产不卡一区| 电影91久久久| 亚洲理论在线| 欧美伊人久久| 亚洲爱爱视频| 免费高清在线一区| 日韩一区二区三区精品视频第3页| 高清不卡一区| 久久亚洲电影| 97精品在线| 自由日本语亚洲人高潮| 青青草伊人久久| 久久爱www.| 日本综合精品一区| 久久影视一区| 免费人成黄页网站在线一区二区| 欧美日韩国产在线一区| 日本欧美大码aⅴ在线播放|