数据库同步方式(二)

来源:互联网 发布:剑3成女捏脸数据截图 编辑:程序博客网 时间:2024/06/10 03:59

EXP/IMP总结

 

用命令行的方式进行导出(EXP)和导入(IMP),可以进行全局导出(入)、按用户导出(入)、按表导出(入)、按数据导出(入)等方式。
--导出--
1.全局导出
exp system/manager@orcl file=e:/test_bak_full.dmp full=y
将数据库orcl完全导出,用户名system,密码manager,导出到e:/test_bak_full.dmp中。

2.按用户导出
exp system/manager@orcl file=e:/test_bak_user.dmp owner=(system,sys)
将数据库orcl中system用户与sys用户的对象导出到e:/test_bak_user.dmp中。

3.按表导出
exp test/test@orcl file=e:/test_bak_table.dmp tables=(t_test1,t_test2)
将数据库orcl中test用户(密码test)的表t_test1和t_test2导出到e:/test_bak_table.dmp中。

4.按表中数据导出
exp test/test@orcl file=e:/test_bak_data.dmp tables=(t_test1) query=/" where id > 100 and id < 200 /"
将数据库orcl中test用户(密码test)的表t_test1中id大于100并小于200的记录导出到e:/test_bak_data.dmp中。

--导入--
1.全部导入
imp test/test@orcl2 file=e:/test_bak_table.dmp full=y
将e:/test_bak_table.dmp全部导入到数据库orcl2中的test用户下(密码test)。
如果test用户下已有dmp中的表等对象,会报错,需要在命令行中增加参数ignore=y,会保留原表中数据,增量导入。

2.按表导入
imp test/test@orcl2 file=e:/test_bak_table.dmp tables=(t_test1)
将e:/test_bak_table.dmp中表t_test1导入到数据库orcl2的test用户下(密码test)。
导入时会按照登录用户进行导入,如执行imp test2/test2@orcl2 file=e:/test_bak_table.dmp tables=(t_test1),则t_test1将会导入到test2用户下。

导入前,需要先建立用户,并对导入用户赋予相应的权限,常用的SQL为:
CREATE USER 用户名 IDENTIFIED BY 密码
GRANT CREATE USER,DROP USER,ALTER USER,CREATE ANY VIEW,DROP ANY VIEW,
             EXP_FULL_DATABASE,IMP_FULL_DATABASE,CONNECT,RESOURCE,CREATE SESSION TO 用户名

原创粉丝点击