Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2306693
  • 博文数量: 266
  • 博客积分: 5485
  • 博客等级: 大校
  • 技术积分: 3695
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-20 11:05
个人简介

多读书,多做事,广交朋友,趣味丛生

文章分类

全部博文(266)

分类:

2008-03-18 09:41:40

oracle数据库的导入导出(imp和exp)


前提是源库和目标库的user和tablespace一样
--------------------------------------------------------------------------------------------------------------------------
oracle数据库的导出:
1、先在运行里输入cmd命令;
2、用cd命令切换到oracle安装目录的bin目录下,比如我的目录是:E:\oracle\product\10.2.0\db_1\BIN;
3、exp
owner=test_user即可导出test_user的库,exp命令的参数挺多,请google一下;
--------------------------------------------------------------------------------------------------------------------------

oracle数据库的导入:
1、先在运行里输入cmd命令;
2、用cd命令切换到oracle安装目录的bin目录下,比如我的目录是:E:\oracle\product\10.2.0\db_1\BIN;
3、imp
file=E:\testserver.dmp fromuser=test_user touser=test_user grants=n即可导入test_user的库,imp命令的参数挺多,请google一下;
----------------------------------------------------------------------------------------------------------------------------

上面exp和imp能够成功的前提是源库和目标库的user和tablespace一样,如果不一样可以用如下的方法解决:
(查看属于哪个表空间语句select table_name,tablespace_name from user_tables;)

这里假设:我的源库的user是test_user、数据表空间是data_test、临时表空间是temp_test
以下是在目标oracle上执行.
先以system登录oracle

//创建临时表空间:
create temporary tablespace temp_test
tempfile 'E:\oracle\product\10.2.0\oradata\testserver\temp_test01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

//创建数据表空间:
create tablespace data_test
logging
datafile 'E:\oracle\product\10.2.0\oradata\testserver\data_test01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

//创建用户并指定表空间
create user test_user identified by test_user default tablespace data_test temporary tablespace temp_test;

//授权用户
grant connect,resource,dba to test_user;

//先收回该用户的默认表空间
revoke unlimited tablespace from test_user;

//在users表空间上给该用户分配0配额
alter user test_user quota 0 on users;

//改变该用户的表空间为data_test
alter user test_user quota unlimited on data_test;

//以下执行imp就可以了。

阅读(2068) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~