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

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

oracle的字段類型

瀏覽:232日期: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生成。可以使用DBMS_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決定。可以和內部LOB的讀取方法一致,但是必須注重:文件的權限、文件系統空間限制、其他對文件的維護、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久久,三上悠亚国产精品一区二区三区
卡一卡二国产精品| 久久99久久久精品欧美| 亚洲黄色免费av| 日韩一区精品字幕| 精品一区在线| a日韩av网址| 欧美精品97| 福利精品一区| 精品国产亚洲一区二区在线观看| 亚洲欧美日韩高清在线| 激情国产在线| 蜜桃视频欧美| 视频一区欧美日韩| 久久精品av麻豆的观看方式| 亚洲三级精品| 国产精品1区| 欧美久久精品| 日韩欧美一区免费| 国产一区日韩欧美| 婷婷五月色综合香五月| 免费在线成人| 亚洲视频www| 久久99精品久久久久久园产越南| 久久精品青草| 巨乳诱惑日韩免费av| 久久黄色影视| 五月天久久久| 国产精品99精品一区二区三区∴| 欧美性感美女一区二区| 一区二区国产在线| 精品国产麻豆| 蜜臀久久久99精品久久久久久| 日韩中文在线电影| 亚洲少妇一区| 欧美sss在线视频| 不卡中文字幕| 精品国产乱码久久久| 欧美1区2区3区| 人人精品久久| 麻豆成人在线| 久久久久久久久丰满| 99在线观看免费视频精品观看| 日本不卡视频在线| 欧美中文高清| 美女黄网久久| 国产在线不卡| 电影亚洲精品噜噜在线观看| 久久国产视频网| 丝袜美腿一区二区三区| 久久久成人网| 青青草伊人久久| 日韩在线观看一区二区| 欧美日韩高清| 国产成人久久| 久久一区精品| 国产亚洲精品美女久久久久久久久久| 黑丝一区二区三区| 日韩欧美一区二区三区免费看| 色偷偷色偷偷色偷偷在线视频| 国产精品一区二区精品视频观看| 老鸭窝毛片一区二区三区| 免费在线观看一区| 国产精品自拍区| 亚洲男人在线| 亚洲久久在线| 欧美日韩亚洲三区| 国产黄色一区| 久久影院一区二区三区| 国产一区二区三区久久| 蜜臀国产一区| 久久视频精品| 日韩专区欧美专区| 日韩精品一区二区三区免费视频| 国产高清日韩| 美女久久99| 麻豆成人91精品二区三区| 日韩欧美一区二区三区在线观看| 亚洲免费毛片| 日韩av一级| 首页国产精品| 欧美国产先锋| 日本a级不卡| 91av一区| 91偷拍一区二区三区精品| 婷婷成人综合| 欧美日韩一区二区高清| 久久99性xxx老妇胖精品| 久久精品99久久久| 国产精品一区二区美女视频免费看| 日本中文字幕视频一区| 国产精品麻豆成人av电影艾秋| 国产va免费精品观看精品视频| 群体交乱之放荡娇妻一区二区| 午夜久久福利| 国产综合视频| 丝袜美腿一区二区三区| 日韩精品社区| 久久女人天堂| 婷婷亚洲五月| 国产精品久久久免费| 亚洲国产专区校园欧美| 亚洲一区二区三区高清| 久久国产麻豆精品| 国产一区二区三区日韩精品| 视频在线观看一区| 日韩国产欧美| 国产精品一区二区三区美女| 性欧美69xoxoxoxo| 日本精品久久| 日本综合字幕| 美国三级日本三级久久99| 国产精品手机在线播放| 国产一区二区中文| 日韩av一区二区三区四区| 欧美aaaaaa午夜精品| 日韩久久精品| 丝袜脚交一区二区| 成人在线视频免费看| 久久精品电影| 国产亚洲观看| 亚洲一二三区视频| 日韩高清中文字幕一区二区| 美女国产一区| 麻豆久久一区| 午夜在线精品| 美女国产一区二区三区| 日韩av中文字幕一区二区三区| 久久性天堂网| 老鸭窝一区二区久久精品| 国产毛片精品久久| 国产精品s色| 亚洲一区二区三区无吗| 在线午夜精品| 丝袜美腿亚洲色图| 在线看片一区| 五月天久久777| 在线人成日本视频| 日韩精品永久网址| а√在线中文在线新版| 超级白嫩亚洲国产第一| 久久精品国内一区二区三区| 亚洲精品在线a| 久久狠狠久久| 免费视频一区二区三区在线观看| 老司机精品视频在线播放| 久久午夜精品| 中文字幕av一区二区三区人 | 首页欧美精品中文字幕| 国产日韩亚洲| 日韩影院在线观看| 亚洲精品韩国| 美日韩一区二区三区| 国产无遮挡裸体免费久久| 精品午夜久久| 黄在线观看免费网站ktv| 日韩精品一卡| 国产视频亚洲| 国产精品入口久久| 国产在线看片免费视频在线观看| 精品国产黄a∨片高清在线| 日韩精品电影一区亚洲| 国产欧美日本| 91看片一区| 中文字幕一区日韩精品| 国产欧美日韩免费观看| 欧美va亚洲va日韩∨a综合色| 久久99影视| 在线亚洲人成| 一区二区国产精品| 免费看久久久| 日韩精品亚洲专区| 久久久久久自在自线| 丝瓜av网站精品一区二区| 国产精品对白久久久久粗| 快播电影网址老女人久久| 日韩视频一区二区三区在线播放免费观看| 日韩av中文字幕一区二区三区| 精品国产亚洲日本| 欧美一区二区性| 日本三级亚洲精品| 日韩av免费大片| 奇米狠狠一区二区三区| 高清一区二区三区av| 亚洲人成高清| 色婷婷久久久| 国产图片一区| 亚洲精品黄色| 在线视频日韩| 国产在线不卡| 日韩免费在线| 国产精品免费精品自在线观看| 最新亚洲国产| 国产精品xxx在线观看| 视频一区视频二区中文字幕| 久久99性xxx老妇胖精品| 在线一区二区三区视频| 超级白嫩亚洲国产第一| 国产精品美女在线观看直播| 亚洲国产专区校园欧美| 国产成人精品一区二区三区免费|