Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3241583
  • 博文数量: 949
  • 博客积分: 10126
  • 博客等级: 上将
  • 技术积分: 12100
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-16 10:57
文章分类

全部博文(949)

文章存档

2013年(1)

2012年(4)

2011年(4)

2010年(12)

2009年(342)

2008年(586)

分类: Oracle

2011-10-21 13:40:08

1、查询当前用户下的所有表
Sql代码
  1. select 'alter table  '|| table_name ||'  move tablespace tablespacename;'  from user_all_tables;  



2、查询当前用户下的所有索引
Sql代码  
  1. select 'alter index '|| index_name ||' rebuild tablespace tablespacename;' from user_indexes;  


3.表查询到的结果中,把tablespace换成具体的名称

表移动表空间代码
  1. ALTER TABLE ANWEI  MOVE TABLESPACE CBS_DEFAULT_DAT;  

索引移动表空间代码
  1. ALTER INDEX IDX_CUSTOMERE REBUILD TABLESPACE CBS_DEFAULT_DAT;  


移动表或索引带来的问题
表移动到表空间时,可能会引起索引失效,对数据库操作报ORA-01502

解决办法

查看索引是否有效

相询索引状态代码
  1. select index_name,index_type,tablespace_name,status from user_indexes  


如果有索引的STATUS为UNUSABLE,解决办法

解决办法代码  
  1. alter index *** rebuild  
  2. 其中***为失效的索引  

阅读(1791) | 评论(0) | 转发(0) |
0

上一篇:教您怎么用U盘装系统

下一篇:pdf转word

给主人留下些什么吧!~~