采用exp/imp命令
知识扩充:
数据泵导入导出(EXPDP和IMPDP)的作用:
- 实现逻辑备份和逻辑恢复
- 在数据库用户之间移动对象
- 在数据库之间移动对象
- 实现表空间搬迁
- EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用
1.首先切换到oracle用户下
首选登录使用xshell登录到需要导出数据库的服务器,然后使用命令切换到oracle用户下
如上图,root变为oracle表示切换成功!
2.导出命令
导出与导入有三种方式:
- 完全模式导出(导入)
将整个数据库导出,但是操作时需要特殊权限;例如:
exp Test/Test buffer=32000 file=test.dmp full=y
执行:
2.用户模式导出(导入)
将指定用户的所有对象进行导出,例如:
exp Test/Test buffer=32000 file=test.dmp owner=Test
3.表模式导出(导入)
将用户的所有的表数据导出,例如:
exp Test/Test buffer=32000 file=test.dmp owner=Test tables=(User)
其中Test/Test为数据库用户名和密码,test.dmp为导出的文件 ,执行上诉其中一个命令,导出文件可在/home/oracle目录下查看
COMPRESS参数将在导出的同时合并碎块,尽量把数据压缩到initial的EXTENT里,默认是N,一般建议使用。DIRECT参数将告诉EXP直接读取数据,而不像传统的EXP那样,使用SELECT来读取表中的数据,这样就减少了SQL语句处理过程。一般也建议使用。不过有些情况下DIRECT参数是无法使用的。
2.导入步骤
假设在另一台服务器,oracle有个全新的数据库orcl,现在要把刚刚导出的数据库文件(.dmp)导入这个全新的数据库orcl中。详细步骤如下:
1.创建表空间
create tablespace test(表空间名称) datafile '/home/oracle/data/test.dmp'(表空间的存储位置)
size 50M (表空间大小,单位兆)
autoextend on next 50M
maxsize unlimited
extent management local autoallocate
segment space management auto;
2.创建用户并将表空间分配给用户
create user test(用户名) identified by test(密码) default tablespace test(表空间名称);
3. 给用户授予权限
grant dba,connect,resource, aq_administrator_role,aq_user_role, authenticateduser to test(用户名);
4. 导入数据(在命令提示符窗口,和导出数据一样,切换到oracle用户下,导入数据之前需要将之前导出的数据文件上传到服务器)
imp test/test@orcl BUFFER=64000 file=/home/oracle/test.dmp(导出文件上传的另一台服务器存放路径) FULL=y(FULL和TABLES是两种导入模式,TABLES可以只导入部分表,TABLES=(tab1,tab2,...)) COMMIT=y IGNORE=y LOG=test.log
执行: