欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle不同表空间之间的数据迁移

程序员文章站 2024-01-16 18:02:34
...

--将数据库为testdb,用户名为testuser中默认(users)表空间里的数据迁移至表空间(newtablespace) --1.用system用户登陆testdb数

Oracle不同表空间之间的数据迁移

首页 → 数据库技术

背景:

阅读新闻

Oracle不同表空间之间的数据迁移

[日期:2013-01-29] 来源:Linux社区 作者:Linux [字体:]

--将数据库为testdb,用户名为testuser中默认(users)表空间里的数据迁移至表空间(newtablespace)

--1.用system用户登陆testdb数据库,创建directory(testdir)并将读、写权限授予testuser用户

create or replace directory testdir as 'e:\temp';
grant read, write on directory testdir to testuser;
--使用expdp命令导出testuser用户的数据
expdp system/aaaaaa@testdb directory=testdir dumpfile=testdb.dmp schemas=testuser;

--2.创建表空间newtablespace
create tablespace newtablespace
logging
datafile 'E:\Oracle\product\10.2.0\oradata\oa\newtablespace.dbf'
size 100m
autoextend on
next 200m maxsize 2048m
extent management local;

--3.将testuser的表空间修改为newtablespace
alter user testuser default tablespace newtablespace;

--4.将testuser用户下面的表、序列等删除

--5.导入数据
impdp system/aaaaaa@testdb directory=testdir dumpfile=testdb.dmp remap_tablespace=users:newtablespace