电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

oracle的字段類型

瀏覽:148日期: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 數據庫
主站蜘蛛池模板: 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 皮带机_移动皮带机_大倾角皮带机_皮带机厂家 - 新乡市国盛机械设备有限公司 | QQ房产导航-免费收录优秀房地产网站_房地产信息网 | SF6环境监测系统-接地环流在线监测装置-瑟恩实业 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 鑫达滑石-辽宁鑫达滑石集团 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | sfp光模块,高速万兆光模块工厂-性价比更高的光纤模块制造商-武汉恒泰通 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 全国冰箱|空调|洗衣机|热水器|燃气灶维修服务平台-百修家电 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 海外仓系统|国际货代系统|退货换标系统|WMS仓储系统|海豚云 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | 吊篮式|移动式冷热冲击试验箱-二槽冷热冲击试验箱-广东科宝 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 乙炔气体报警装置|固定式氯化氢检测仪|河南驰诚电气百科 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 岩棉切条机厂家_玻璃棉裁条机_水泥基保温板设备-廊坊鹏恒机械 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 球形钽粉_球形钨粉_纳米粉末_难熔金属粉末-广东银纳官网 | 高压分散机(高压细胞破碎仪)百科-北京天恩瀚拓 | 低温柔性试验仪-土工布淤堵-沥青车辙试验仪-莱博特(天津)试验机有限公司 | 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 广东护栏厂家-广州护栏网厂家-广东省安麦斯交通设施有限公司 | 自清洗过滤器-全自动自清洗过反冲洗过滤器 - 中乂(北京)科技有限公司 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 |