




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ORACLE修改表空间方法 一、使用imp/exp。先导出源库,再创建新库把表空间创建好,然后再导入。(据说这样可以,前提是新的库里面不能有与源库相同名字的表空间。有待验证!) 二、使用脚本进行修改。据目前所了解,正常情况下需要修改表的空间和表的索引的空间,如果涉及到BOLB字段的表,修改的方式又不一样了! 正常情况下的修改脚本: 1.修改表的空间 alter table TABLE_NAME move tablespace TABLESPACENAME 查询当前用户下的所有表 select alter table | table_name | move tablespace tablespacename; from user_all_tables; 2.修改表的索引的空间 alter index INDEX_NAME rebuild tablespace TABLESPACENAME 查询当前用户下的所有索引 select alter index | index_name | rebuild tablespace tablespacename; from user_indexes; 可以使用脚本执行查询的结果,这样就可以批量处理! SQL Script:1. 查看表空间管理类型 2. select tablespace_name,block_size,extent_management,segment_space_management,min_extents from dba_tablespaces; 3. .将数据字典管理转变为本地管理 4. execute dbms_space_admin.tablespace_migrate_to_local(tbsdata); 5. 4.将本地管理转变为数据字典管理 6. execute dbms_space_admin.tablespace_migrate_from_local(tbsdata); 不正常情况即含有BLOB字段的表: 在移植看注意研究了下ORACLE ALTER TABLE MOVE 的语法: ALTER TABLE table_name MOVE ONLINE tablespace_name; 通过上面的语句可以移植表到新表空间, 如果要移植LOB字典需要参考以下语法: ALTER TABLE table_name LOB (lob_item) STORE AS lob_segment ( TABLESPACE tablespace_name (STORAGE.) ENABLE|DISABLE STORAGE IN ROW CHUNK integer PCTVERSION integer RETENTION FREEPOOLS integer CACHE|NOCACHE|CACHE READS INDEX lobindexname (TABLESPACE tablesapce_name (STORAGE.) ) . 注解: LOB (lob_item):表中的lob字段 STORE AS lob_segment:每个lob字段在表创建后系统都会自动单独创建一个段,可以通过这个参数手动指定一个段名 tablespace_name:LOB字段新的存储表空间 (STORAGE.):指定tablespace_name的存储属性 ENABLE STORAGE IN ROW:如果设置了enable storage in row 那么oracle会自动将小于4000bytes的数据存储在行内, 这是ORACLE的默认值,对于大于4000字节的lob字段保存在lob段(同disable storage in row),在表段将保留36-84字节的控制信息。对于disable storage in row,Oracle将lob字段分开保存在lob段中,而仅仅在行位置保留20字节的指针。对于相当于disable storage in row的这部分(也就是单独保存在LOB段的这部分数据),UNDO仅仅是记录指针与相关lob索引改变,如果发生更新操作等DML操作,原始数据将保留在LOB段。 DISABLE STORAGE IN ROW:如果DISABLE这个属性,那么lob数据会在行外存储,行内只存储该lob值得指针,而且这个属性在表 创建后只能在MOVE表时才可以被改变 CHUNK:是一个很特别的属性,对一次LOB数据的操作(插入或更新),因该分配多少存储空间,指定的值最好是数据库块的倍数,而且指定的值不能大于表空间区间中NEXT的值, 要不然ORACLE会return一个错误,如果以前已经设置这个值了,那么在后期指定的值是不能被改变的。 storage as ( CHUNK bytes )表示对于disable storage in row的这部分,最小的LOB块的大小,必须是数据库块(DB_BLOCK_SIZE)的整数倍。一个chunk最多只保留一行LOB数据,也就是说,如果你设置了32K的CHUNK,但是如果LOB字段大小只有4K,也将占用32K的空间 storage as(cache|nocahce)表示是否允许lob段经过buffer cache并缓存。默认是nocache,表示直接读与直接写,不经过数据库的data buffer。所以,默认情况下,对于单独保存在LOB段的这部分数据,在发生物理读的时候,是直接读,如direct path read (lob) storage as(nocache logging |nocache nologging),logging/nologging属性只对nocache方式生效,默认是logging,如果是nologging方式,对于 保存在行外的log部分,在update等DML操作时将不记录redo日志。 PCTVERSION integer、RETENTION:都是ORACLE用来管理LOB字段镜像数据的。在LOB 数据的更新过程中, ORACLE没有用UNDO TABLESPACE空间,而是从LOB字段所在的表空间里划分一段空间来做镜像空间的, 这个空间的大小由PCTVERSION参数控制,默认值为10,代表划分表空间的10%作为镜像空间, 每个镜像空间的单元大小由CHUNK参数指定,pctversion可以使用在manual undo mode和automatic undo mode 环境中. retention应用了automatic undo mode中的undo_retention通过时间来管理lob镜像空间. pctversion和retention不能同时被指定.建议数据库在automatic undo mode下使用retention参数。 FREEPOOLS integer:给LOG segment指定free list.RAC环境下integer为实例的个数.单实例环境下为1.在automatic undo mode下oracle默认采用 FREEPOOLS来管理空闲块列表。除非我们在表的storage配置中指定了freelist groups参数. CACHE|NOCACHE|CACHE READS:指定lob块是否在database buffer中缓存. INDEX lobindexname (TABLESPACE tablesapce_name (STORAGE.):给lob列指定索引存储参数 举例: SQL show parameter db_create_file_dest SQL create tablespace test datafile size 100M autoextend off; SQL create table test(a varchar2(100), b clob, d blob) pctfree 10 tablespace test; SQL desc test SQL SELECT segment_name,tablespace_name,segment_type FROM dba_segments WHERE tablespace_name=TEST; 我们发现每个LOB字段单独有一个LOGSEGMENT和LOBINDEX; SQL set linesize 200 col table_name format a5 col column_name format a5 SELECT b.table_name, a.segment_name, b.index_name, a.segment_type, b.column_name, a.tablespace_name, b.chunk, b.cache, b.freepools, b.pctversion, b.retention FROM dba_segments a,dba_lobs b WHERE a.segment_name = b.segment_name AND a.tablespace_name = TEST / SQL 从上面的结果我们可以观察到LOB字段的各个属性. 下面我们对LOB字段move到另一个表空间 SQL create tablespace lob_test datafile size 100M autoextend off; SQL ALTER TABLE TEST MOVE LOB(B) STORE AS TEST_B ( TABLESPACE lob_test DISABLE STORAGE IN ROW CHUNK 16384 RETENTION FREEPOOLS 1 NOCACHE); SQL ALTER TABLE TEST MOVE LOB(D) STORE AS TEST_D ( TABLESPACE lob_test DISABLE STORAGE IN ROW CHUNK 16384 RETENTION FREEPOOLS 1 NOCACHE); SQL SELECT segment_name,tablespace_name,segment_type FROM dba_segments WHERE tablespace_name=TEST; SQL set linesize 200 col table_name format a5 col column_name format a5 SELECT b.table_name, a.segment_name, b.index_name, a.segment_type, b.column_name, a.tablespace_name, b.chunk, b.cache, b.freepools, b.pctversion, b.retention FROM dba_segments a,dba_lobs b WHERE a.segment_name = b.segment_name AND a.tablespace_name = LOB_TEST /SQL 在一些复杂情况下可能需要连表一起移植 alter table table_name move tablespace_name lob (lob_item) store as lobsegmentname (tablespace tablespace_name.); 移植分区中lob alter table table_name move partition partition_name lob (lob_item) store as logsegmentname (tablespace_name.); 移植分区表 alter table table_name move partition partition_name tablespace_name lob (lob_item) store as logsegmentname (tablespace_name.); 如果不需要修改lobsegmentname,可以同时移植多个列 alter table table_name move lob (lob_item1,lob_item2,lob_item3.) store as lobsegmentname (tablespace tablespace_name.); LOB段也可以利用move来重整数据,以下的语句会将表与lob字段move到指定的表空间: alter table table_nam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 横店招聘考试题及答案
- 核电监护考试题及答案
- 购买活动策划方案
- 灌肠实验考试题及答案
- 工地焊工考试题及答案
- 幼儿园教学教案设计:安全小警报危险物品认知与分类
- 项目管理风险分析及应对措施清单模板
- 团队项目进度管理看板模板
- (正式版)DB15∕T 3676-2024 《白鲜工厂化育苗技术规程》
- 企业文化建设方案与活动策划手册
- GB/T 14486-2008塑料模塑件尺寸公差
- 特种设备管理台帐(5个台账)
- 公差与极限配合课件
- 《网页设计与制作Dreamweaver-cs6》教学课件(全)
- 五四制青岛版2022-2023五年级科学上册第一单元第1课《细胞》课件(定稿)
- 土样团聚体的分离及其有机碳含量测定
- 律师事务所合同纠纷法律诉讼服务方案
- 高级销售管理系列大客户销售管理
- 新人教版小学五年级英语上册全册教案
- 中央国家机关地址、电话一览表
- 人教版八年级上册数学全册教案(教学设计)二
评论
0/150
提交评论