exp-imp实现oracle不同表空间的迁移

 

方法一:

 

--1、修改表空间名称(账号:sys/oracleas SYSDBA
登录)

alter tablespace CICHR rename to CICHR_BAK;

 

alter tablespace USERS rename to CICHR;

 

--2、导出用户

expcichr-20110804/cichr-20110804@db_192.168.196.232 file=cichr-232-20110804.dmplog=cichr-232-20110804-exp.log statistics = none

 

--此dmp文件表空间现在应该为CICHR

 

 

--3、将表空间名称修改回去(账号:sys/oracleas SYSDBA
登录)

alter tablespace CICHR rename to USERS;

    

alter tablespace CICHR_BAK rename to CICHR;

 

--4、导入到新创建用户cichr_test(默认表空间为CICHR,临时表空间为TEMP,connect\dba\resource权限,unlimited
tablespace)

 

impcichr_test/cichr_test@db_192.168.196.232 file=c:\cichr-232-20110804.dmp full=ylog=c:\cichr_test-20110804-imp.log

 

或者:

impcichr_test/cichr_test@db_192.168.196.232 file=c:\cichr-232-20110804.dmpfromuser=cichr-20110804 touser=cichr_test tablespace=CICHRlog=c:\cichr_test-20110804-imp.log

 

 

至此所有数据迁移至新的表空间CICHR。

 

 

-----------------------------------------------------------------------

方法二:

 

1、通过PL/SQL,cichr-20110804/cichr-20110804登录,导出数据库表结构(Tools-Export User Object),导出所有用户对象到D:\structs.sql;

2、使用EditPlus打开structs.sql对表空间名称进行整体替换(USERS替换为CICHR),对用户名进行整体替换(cichr-20110804替换为cichr_test);

3、Tools-Export Tables,导出D:/data.pde (PL/SQL Developer)-所有表数据;

 

4、创建用户cichr_test(默认表空间为CICHR,临时表空间为TEMP,connect\dba\resource权限,unlimited
tablespace);

5、Command Window,执行命令:SQL>@D:structs.sql
回车,创建数据库表结构(所属表空间为CICHR);

6、导入数据表数据,Tools-Import Tables,选择刚刚导出的数据文件D:/data.pde。

 

至此所有数据迁移至新的表空间CICHR。

 

-----------------------------------------------------------------------

方法三:

 

 

--1、修改表空间名称(账号:sys/oracleas SYSDBA
登录)

alter tablespace CICHR rename to CICHR_BAK;

 

alter tablespace USERS rename to CICHR;

 

--2、通过PL/SQL,cichr_test/cichr_test登录,

 

Tools-Export Tables,导出D:/data.dmp (oracle Export)-所有表结构及表数据,现在表数据所属表空间应该为CICHR。

 

 

--3、将表空间名称修改回去(账号:sys/oracleas SYSDBA
登录)

alter tablespace CICHR rename to USERS;

    

alter tablespace CICHR_BAK rename to CICHR;

 

--4、通过PL/SQL, cichr_test/cichr_test登录,

 

1)、删除Drop
所有tables;

2)、Tools-Import Tables,导入D:/data.dmp(oracle Export)-所有表结构及表数据。

 

至此所有数据迁移至新的表空间CICHR。

 

 

 

 

 

 

 

 

 

 

时间: 2024-08-31 21:15:45

exp-imp实现oracle不同表空间的迁移的相关文章

利用PL\SQL实现Oracle表空间的迁移

在9i的时候,表空间的迁移使用EXP/IMP来实现.在10g中,除了使用EXP/IMP之外,还可以使用数据泵EXPDP/IMPDP,以及RMAN的命令TRANSPORT TABLESPACE命令,除此之外,还可以通过PL/SQL包DBMS_STREAMS_TABLESPACE_ADM来实现. 这一篇介绍PULL_SIMPLE_TABLESPACE过程. Oracle的DBMS_STREAMS_TABLESPACE_ADM包提供了8个过程:ATTACH_TABLESPACES.ATTACH_SIM

shell脚本操作oracle删除表空间、创建表空间、删除用户_linux shell

oracle下表空间的导出,用户的删除,表空间删除,用户新建,表空间新建,数据导入的shell使用非oracle用户执行该脚本参数说名$1:base表空间的用户名$2:同步表空间的用户名使用场景测试用,base表空间用于升级建立一些固化数据.同步表空间用于测试用,每次去和base表空间拉平数据 复制代码 代码如下: #!/bin/shoraclehome=$ORACLE_HOMEecho $oraclehomelocaldir="/oracle/data"echo $localdir#

[Oracle 10g] 表空间更名

oracle [Oracle 10g] 表空间更名作者:Fenng 日期:24-Oct-2004 出处:http://www.dbanotes.net版本:0.1 简单介绍在 Oracle 10g 以前的版本,更改表空间名字是几乎不可能的事情,除非删除,重新创建,大费周章.Oracle 10g 新添加了一项更改表空间名字的功能,使得更改表空间名字瞬间即可完成.是个较为人性化的功能. SQL> COL FILE_NAME format a70SQL> SET linesize 120SQL>

oracle数据库表空间最近2小时的io统计信息

select e.tsname tsname, sum(e.phyrds - nvl(b.phyrds, 0)) reads, sum(e.phyrds - nvl(b.phyrds, 0)) / (SELECT EXTRACT(DAY FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 86400 + EXTRACT(HOUR FROM E.END_INTERVAL_TIME - B.END_INTERVAL_TIME) * 3600 + EXT

表空间 数据文件-oracle数据库表空间中的数据文件自动扩展到32G后不再自动扩展

问题描述 oracle数据库表空间中的数据文件自动扩展到32G后不再自动扩展 CSDN移动问答oracle表空间中的数据文件自动扩展到32G后不再自动扩展,报ora-01653错误,我之后手动加了个数据文件,但是不久之后这个数据文件自动扩展到了32G又报错,请问这是什么原因,难道以后只能手动添加数据文件么????

在Linux系统上同时监控多个Oracle数据库表空间的方法_oracle

一,设计背景  由于所在公司ORACLE数据库较多,传统人工监控表空间的方式较耗时,且无法记录历史表空间数据,无法判断每日表空间增长量,在没有gridcontrol/cloudcontrol软件的情况下,笔者设计如下表空间监控方案,大家也可以根据自己的实际情况对下面的方案进行修改.二,设计思路 通过dblink将来查询到的表空间数据集中汇总到一张表里通过crontab跑定时任务从各台服务器获取表空间使用情况信息.三,具体实施步骤  1.所在oracle数据库ip地址信息(下面为举例说明具体情况要

oracle删除表空间后重新创建相同名字的表空间出现错误ORA-01537

问题描述 oracle删除表空间后重新创建相同名字的表空间出现错误ORA-01537 如题所示,我在一开始删除表空间时没有使用drop tablespace ××× including contents and datafiles语句,导致dbf文件没有删除掉.导致现在dbf文件删不掉了,手动删除后,只要oracle服务已启动就会自动再创建一个同名的dbf文件.求解决方法. 解决方案 Oracle菜鸟之如何创建和删除表空间oracle 表空间,用户的创建及删除 解决方案二: 看一下你保存表空间的

求大神,oracle创建表空间出错。

问题描述 求大神,oracle创建表空间出错. create tablespace dshabc datafile 'F:orcldshabc.dbf' size 100M autoextend on next 1M maxsize 1000M extent management local 解决方案 检查F:orcl 目录是否存在,如不存在,需要先创建. 解决方案二: Oracle创建表空间并赋权在oracle中创建perfstat表空间oracle创建表空间 解决方案三: 检查F:orcl

java将oracle一个表空间的数据同步到另一个表空间的数据,来看看有没有问题

问题描述 代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.Date;import java.util.List;public class Bak {public static