Oracle LOB字段移动

Oracle LOB字段移动

ID:42624223

大小:21.28 KB

页数:5页

时间:2019-09-19

Oracle LOB字段移动_第1页
Oracle LOB字段移动_第2页
Oracle LOB字段移动_第3页
Oracle LOB字段移动_第4页
Oracle LOB字段移动_第5页
资源描述:

《Oracle LOB字段移动》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ORACLE修改表空间方法一、使用imp/exp。先导出源库,再创建新库把表空间创建好,然后再导入。(据说这样可以,前提是新的库里面不能有与源库相同名字的表空间。有待验证!)二、使用脚本进行修改。据目前所了解,正常情况下需要修改表的空间和表的索引的空间,如果涉及到BOLB字段的表,修改的方式又不一样了!正常情况下的修改脚本:1.修改表的空间altertableTABLE_NAMEmovetablespaceTABLESPACENAME查询当前用户下的所有表select'altertable'

2、

3、table_name

4、

5、'movetablespacetablespacename;'f

6、romuser_all_tables;2.修改表的索引的空间alterindexINDEX_NAMErebuildtablespaceTABLESPACENAME查询当前用户下的所有索引select'alterindex'

7、

8、index_name

9、

10、'rebuildtablespacetablespacename;'fromuser_indexes;可以使用脚本执行查询的结果,这样就可以批量处理!SQLScript:1.查看表空间管理类型2.selecttablespace_name,block_size,extent_management,segment_space_manage

11、ment,min_extentsfromdba_tablespaces;3..将数据字典管理转变为本地管理4.executedbms_space_admin.tablespace_migrate_to_local(‘tbsdata’);5.4.将本地管理转变为数据字典管理6.executedbms_space_admin.tablespace_migrate_from_local(‘tbsdata’);不正常情况即含有BLOB字段的表:在移植看注意研究了下ORACLEALTERTABLEMOVE的语法:ALTERTABLEtable_nameMOVE[ONLINE]tablespa

12、ce_name;通过上面的语句可以移植表到新表空间,如果要移植LOB字典需要参考以下语法:ALTERTABLEtable_nameLOB(lob_item)STOREAS[lob_segment](TABLESPACEtablespace_name(STORAGE.....)ENABLE

13、DISABLESTORAGEINROWCHUNKintegerPCTVERSIONintegerRETENTIONFREEPOOLSintegerCACHE

14、NOCACHE

15、CACHEREADSINDEXlobindexname(TABLESPACEtablesapce_name((STORAGE

16、.....)))....注解:LOB(lob_item):表中的lob字段STOREAS[lob_segment]:每个lob字段在表创建后系统都会自动单独创建一个段,可以通过这个参数手动指定一个段名tablespace_name:LOB字段新的存储表空间(STORAGE.....):指定tablespace_name的存储属性ENABLESTORAGEINROW:如果设置了enablestorageinrow那么oracle会自动将小于4000bytes的数据存储在行内,这是ORACLE的默认值,对于大于4000字节的lob字段保存在lob段(同disablestorageinr

17、ow),在表段将保留36-84字节的控制信息。对于disablestorageinrow,Oracle将lob字段分开保存在lob段中,而仅仅在行位置保留20字节的指针。对于相当于disablestorageinrow的这部分(也就是单独保存在LOB段的这部分数据),UNDO仅仅是记录指针与相关lob索引改变,如果发生更新操作等DML操作,原始数据将保留在LOB段。DISABLESTORAGEINROW:如果DISABLE这个属性,那么lob数据会在行外存储,行内只存储该lob值得指针,而且这个属性在表创建后只能在MOVE表时才可以被改变CHUNK:是一个很特别的属性,对一次LOB

18、数据的操作(插入或更新),因该分配多少存储空间,指定的值最好是数据库块的倍数,而且指定的值不能大于表空间区间中NEXT的值,要不然ORACLE会return一个错误,如果以前已经设置这个值了,那么在后期指定的值是不能被改变的。storageas(CHUNKbytes)表示对于disablestorageinrow的这部分,最小的LOB块的大小,必须是数据库块(DB_BLOCK_SIZE)的整数倍。一个chunk最多只保留一行LOB数据,也就是说,如果你设置了32K的C

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。