oracle将表导入到表空间,关于ORALCE一个表空间的数据导入到另一个表空间的方法(原创)...

用户:   whnaproject     所属表空间: whnaproject

新用户   : wniec            所属新表空间: wniec

要求:将用户whnaproject中的数据库表以及数据 ,全部复制到 新表空间wniec的  wniec用户中。

常规过程:用exp命令把用户whnaproject的表及数据导出,然后用IMP命令把导出的表及数据导入到新用户wniec中。

存在问题:用户whnaproject的表及数据可以导入到新用户wniec中,但wniec中的导入的表所属的表空间还是原来导出用户whnaproject的所属表空间whnaproject ,而不是我想要的新表空间wniec。

解决方法:

1.  select * from user_tables 可以查询出当前用户所属表的所属表空间信息。

c1eb8a1c153c5f071e399d8182bb4da7.png

2. 修改用户表table的表空间:alter table 表名 move tablespace 新表空间名;可以采用批量更新的方式,如下:

select 'alter table '||table_name||' move tablespace wniec;' from user_tables where tablespace_name <>'wniec'

这样能保证表结构及数据都能转移到新的表空间中,其它一些方式只能转移表结构,数据无法复制过来。

3. 如果用户表中的字段类型含有 “LONG”、“BLOB”、"CLOB",则该类表不能直接采用上述MOVE语句移动。如果表无数据,则直接重建表时,修改表空间即可。如有数据可参考4、5两种方式处理。

4. 字段类型为 “LONG”的表不能采用MOVE方式处理,只能采用COPY方式处理,还未验证。

5. “BLOB”、"CLOB"为LOB类型,可参照下面该类型的处理方式进行移动,还未验证。

注意事项:

1.move操作只能在数据库空闲的时候。

2.move以后记得重建index。

3.move表空间会改变rowid,如果程序中使用其运算,可能产生奇怪的问题,且很难恢复

---------------------------------------参考--------------------------------------------

批量更改ORACLE中表、索引的表空间

ORACLE中表、索引的表空间的批量更改方法

1、查询当前用户下的所有表

select 'ALTER TABLE '|| table_name ||' MOVE TABLESPACE tablespacename;' from user_all_tables;

select 'ALTER TABLE '|| table_name ||' MOVE TABLESPACE tablespacename;' from user_tables;

2、查询当前用户下的所有索引

select 'alter index '|| index_name ||' rebuild tablespace tablespacename;' from user_indexes;

3、在当前用户下将查询结果批处理执行即可!

简单来说,操作以下几步:

--查找所有的表,然后复制查询出来的结果,执行sql

select 'alter table '||table_name||' move tablespace 表空间名;' from user_all_tables

--查找所有的索引,然后复制查询出来的结果,执行sql

select 'alter index '||index_name||' rebuild tablespace 表空间名;' from user_indexes

--处理lob类型

alter table 表名 move tablespace 表空间名 lob(字段1) store as (tablespace 表空间名)

--修改分区表的表空间

alter table 表名 move partition 分区名1 tablespace 表空间名;

alter table 表名 move partition 分区名2 tablespace 表空间名;

查看所有的unusable索引

SELECT *

FROM   user_indexes

WHERE  status NOT IN ('VALID', 'N/A')

ORDER BY index_name;

-- Description  : Displays unusable indexes for the specified schema or all schemas.

-- Requirements : Access to the DBA views.

-- Call Syntax  : @unusable_indexes (schema-name or all)

SET VERIFY OFF

SELECT owner,

index_name

FROM   dba_indexes

WHERE  owner = DECODE(UPPER('&1'), 'ALL', owner, UPPER('&1'))

AND    status NOT IN ('VALID', 'N/A')

ORDER BY owner, index_name;

sql 从一个库中取某个表的数据导入到另一个库中相同结构的表中

sql 2008 从一个库中把 某个表中的数据导入到另一个库中的具有相同结构的表中 use 库1 go insert into  库1.dbo.表1  select * from  库2.dbo.表1 ...

利用Sql实现将指定表数据导入到另一个数据库示例

因为工作中经常需要将数据从一个数据库导入到另一个数据库中,所以将这个功能写成一个存储过程,以方便调用.现在粘贴出来供大家参考: 注意:1,以下示例中用到了syscolumns,sysobjects等系 ...

两种方法将oracle数据库中的一张表的数据导入到另外一个oracle数据库中

oracle数据库实现一张表的数据导入到另外一个数据库的表中的方法有很多,在这介绍两个. 第一种,把oracle查询的数据导出为sql文件,执行sql文件里的insert语句,如下: 第一步,导出sq ...

SqlServer一张表数据导入另一张表,收藏使用,工作中更新数据错误很有用

sql一张表数据导入另一张表   1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:   INSERT INTO 目标表 SELECT * FROM 来源表;   2.比如要将 arti ...

SQL把表中的数据复制到另一个数据库中

1 删除整张表的数据,并还原自增长值TRUNCATE TABLE TbWeixinActivity 2 3张表左连接select a.ID,c.Name,b.nickname,a.CreateDate ...

SQL数据库中把一个表中的数据复制到另一个表中

1.如果是整个表复制表达如下: insert into table1 select  * from table2 2.如果是有选择性的复制数据表达如下: insert into table1(colu ...

sql将一个表中的数据插入到另一个表中

sql将一个表中的数据插入到另一个表中 列名不一定要相同,只要你在HH中列出要插入列的列表跟select   from   mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的.  ...

hivesql-一个表中的数据不在另一个表中

如何最有效的判断 一个表中的数据不在另一个表中 两个方法一个是join 另一个是 exist 方法

python连接mysql数据表查询表获取数据导入到txt中

import pymysql'''连接mysql数据表查询表获取数据导入到txt中'''#查询结果写入数据到txtdef get_loan_number(file_txt): connect = py ...

随机推荐

初始化git远程仓库步骤

Git global setup git config --global user.name "bingo" git config --global user.email &quo ...

百度地图JavaScript API覆盖物旋转时出现偏移

在项目中,调用百度地图JavaScript API,做覆盖物的旋转再添加到地图上,结果出现偏移了. 调试过程中的效果图: 发现图片的旋转并不是按车子的中心来的,而是之外的一个点.最后发现犯了一个很细节 ...

August 25th 2016 Week 35th Thursday

Every man dies, but not every man really lives. 每个人都会死,但不是每个人都曾经真真活过. As I become older and older, I ...

Android中通过反射获取资源Id

package com.cp.utils; import android.content.Context; public class CPResourceUtil { public static in ...

C&plus;&plus;的模板特化 和 STL中iterator&lowbar;traits模板的偏特化

C++中有类模板和函数模板,它们的定义如下所示: 类模板: template class C { //... }; 函数模板: template&lt ...

winform中WebBrowser控件执行脚本

在实际应用中我们可能需要WebBrowser控件主动执行我们需要的脚本,执行脚本现在有两种方法. 1.WebBrowser控件加载脚本,简单方便,适用于简短的脚本,无法执行复杂操作. webBrows ...

异常:cvc-complex-type&period;2&period;4&period;a&colon; Invalid content was found starting with element

web.xml 出现cvc-complex-type.2.4.a: Invalid content was found starting with element

&lbrack;UWP&rsqb;使用Writeable&ZeroWidthSpace;Bitmap创建HSV色轮

1. HSV 1.1 HSV的定义 HSV都是一种将RGB色彩模型中的点在圆柱坐标系中的表示法,这种表示法试图做到比RGB基于笛卡尔坐标系的几何结构更加直观.HSV即色相.饱和度.明度(英语:Hue, ...

18 Zabbix 新增map中的icon图标

点击返回:自学Zabbix之路 18 Zabbix 新增map中的icon图标 zabbix系统默认会带有许多的icon图标,但对于特殊需求人群可能无法满足,那就需要新增icon图标. 通过Admin ...

tidb 架构~tidb 理论学习&lpar;1&rpar;

一 简介:介绍新型NEW SQL数据库tidb 二 目的: tidb出现的目的,就是代替mysql+中间件,实现横向水平扩展 三 核心理论观点 1 MySQL 是单机数据库,只能通过 XA 来满足跨数 ...

  • 0
    点赞
  • 2
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值