博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

TITANIC

扬帆起航,经历风雨,勇往直前...
titanic.cublog.cn


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


前提是源库和目标库的user和tablespace一样
--------------------------------------------------------------------------------------------------------------------------
oracle数据库的导出:
1、先在运行里输入cmd命令;
2、用cd命令切换到oracle安装目录的bin目录下,比如我的目录是:E:\oracle\product\10.2.0\db_1\BIN;
3、exp
test_user/test_user@testserver file=E:\testserver.dmp 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
test_user/test_user@testserver 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就可以了。

发表于: 2008-03-18 ,修改于: 2008-03-18 09:41,已浏览340次,有评论0条 推荐 投诉


网友评论

发表评论