将用户当前表空间中的表和索引迁移到另一个表空间

查看INV用户的对象的存储情况
select * from dba_segments ds where ds.owner='INV';
--default tablespace users

创建表空间INV
create tablespace inv datafile '/oradata/ocm/inv01.dbf ' size 200M autoextend on next 10m maxsize 2048M extent management local segment space management auto;
设置默认表空间为INV
alter user inv default tablespace inv;

set linesize 200
set pagesize 2000
set term off verify off head off feedback off echo off

spool mtiddl.sql

select 'alter ' ||ds.segment_type || ' '|| ds.owner||'.' || ds.segment_name || ' ' ||
       decode(segment_type, 'TABLE', 'MOVE', 'INDEX', 'REBUILD') ||
       ' tablespace INV;'
  from dba_segments ds
 where ds.owner = 'INV'
   AND (segment_type = 'INDEX' OR segment_type = 'TABLE');

spool off

原文地址:http://blog.51cto.com/peenboo/2091909

时间: 2024-10-07 17:07:15

将用户当前表空间中的表和索引迁移到另一个表空间的相关文章

一个表中的某字段中所有的数据,复制到另一个表中

项目要求,织梦被黑了,又不太会修复织梦的漏洞.决定换一个自己开发的后台吧!问题来了,织梦中的文章数据要全部拿出来,导入到新的后台中. 因为,现有后台的数据表跟织梦的表的结构完全不一样,再加上织梦用于保存文章是用了,dede_addonarticle,dede_archives,这两个表.现在是要将两个表中有用的字段的数据 复制到一个新的表中的一个字段内. 第一步,同步他们的主键,dede_addonarticle的主键是aid,dede_archives的主键是id 1,一张写好了结构的,没有数

mysql将一个表中字段A的值赋给另一个表的字段B

# mysql 的修改方法 update table_a a inner join table_b b on b.id=a.id set a.description=b.content; # mssql的修改方法 update b set a.description=b.content from table_a a inner join table_b b on a.id=b.id; mysql将一个表中字段A的值赋给另一个表的字段B

SQL中锁表语句简单理解(针对于一个表)

锁定数据库的一个表 复制代码代码如下: SELECT * FROM table WITH (HOLDLOCK) 注意: 锁定数据库的一个表的区别 复制代码代码如下: SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除 复制代码代码如下: SELECT * FROM table WITH (TABLOCKX) 其他事务不能读取表,更新和删除 SELECT 语句中"加锁选项"的功能说明 SQL Server提供了强大而完备的锁机制来帮

sql将一个表中的某一列数据更新到另一个表中

表1 table1 字段 id value 1 value1 2 value2 表2 table2 字段 id value 1 value3 2 value4 将表2中的value字段更新到表1中 SQL语句: update a set a.value=b.value from table1 a,table2 b where a.id=b.id

如何把一个表中的部分字段值插入到另一个表中去 这sql吊

Insert into  JHAC_TB_CODE(CID,CODE,ADD_TIME,USERID,PRO_CODE,USERNAME)  select f_code.FID,f_code.Fcode,f_code.ADDDATE,f_code.USERS,f_code.CPCODE,f_code.USERNAME   from f_codewhere f_code.Adddate between to_date('201201','yyyy-mm') and to_date('201301'

lock(1)——创建及更新表过程中SQL SERVER锁资源分配情况

锁应该说是由关系型数据库ACID(Atomicity,Consistency,Isolation,Durability)特性而引出的. 以下将测试在创建及更新表过程中SQL Server锁资源分配情况 获取当前会话的事务隔离级别:DBCC USEROPTIONS 测试环境:SQL SERVER 2008 R2 read committed隔离级别下 创建表 当我们只是打开一个SSMS查询窗口,选择数据库为master和tempdb时,没有任何锁产生,当我选择其他数据库,sql server就会在

oracle 根据一个表生成另一个新表和一个现有表给一个新的表赋值

1,添加表B ,和A表表结构相同(带数据) create table B  as select * from A; 2,添加表B ,和A表表结构相同(不带带数据) create table B  as select * from A where 1=2; 3,存在一个表B和表A的表结构一致,将A中的数据复制给B表 insert into B select * from A; 4,存在一个表B和表A的表结构不一致,将A中的数据复制给B表 insert into B (x1,x2,x3...) se

ora-01652无法通过128(在temp表空间中)扩展temp段

有两种原因:一是临时表空间空间太小,二是不能自动扩展. 分析过程: 既然是temp表空间有问题,那当然就要从temp表空间说起啦.首先要说明的是temp表空间的作用,temp表空间主要是用作需要排序的操作. 1.临时表空间 是用于在进行排序操作(如大型查询,创建索引和联合查询期间存储临时数据)每个用户都有一个临时表空间. 2.对于大型操作频繁,(大型查询,大型分类查询,大型统计分析等),应指定单独的临时表空间,以方便管理. 3.分配用户单独临时表空间,一般是针对 大型产品数据库,OLTP数据库,

解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程

解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程 昨天开发人员跟我说,执行一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段.这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展. 分析过程: 既然是temp表空间有问题,那当然就要从temp表空间说起啦.首先要说明的是temp表空间的作用,temp表空间主要是用作需要排序的操作. 1.