《2022年数据库数据导入导出方法整理》由会员分享,可在线阅读,更多相关《2022年数据库数据导入导出方法整理(5页珍藏版)》请在金锄头文库上搜索。
1、数据库数据导入导出方法1逻辑导入备份方法:在主机服务器的DOS 提示符下输入:EXP USERID=ZLHIS/HIS BUFFER=4096 FILE=D:20040101.dmp LOG=D:20040101.log OWNER=(ZLHIS) ROWS=Y INDEXES =Y CONSTRAINTS =Y GRANTS=Y DIRECT=N 表示只导出zlhis用户的数据对象Buffer :该值越大,导出的时间略短。File :表示导出的dmp的文件路径Log:表示导出的日志文件路径其余参数可以通过exp help=y查询。2逻辑导出在主机服务器的DOS 提示符下输入:IMP USER
2、ID=ZLHIS/HIS FROMUSER=(ZLHIS) TOUSER=(ZLHIS) BUFFER=30720 FILE=D:20040101.dmp LOG=D:20040101.log ROWS=Y INDEXES=Y CONSTRAINTS =Y GRANTS =Y SHOW=N COMMIT =Y IGNORE=Y表示只导入zlhis用户的数据对象Buffer :该值越大,导入的时间略短。File :表示导入的dmp的文件路径Log:表示导入的日志文件路径Ignore : Oracle 在恢复数据的过程中, 当恢复某个表时, 该表已经存在, 就要根据 ignore参数的设置来决定如
3、何操作。若ignore=y ,Oracle 不执行 CREATE TABLE语句,直接将数据插入到表中,如果插入的记录违背了约束条件,比如主键约束, 则出错的记录不会插入,但合法的记录会添加到表中。若ignore=n ,Oracle 不执行 CREATE TABLE 语句,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 同时也不会将数据插入到表中,而是忽略该表的错误,继续恢复下一个表。其余参数可以通过imp help=y查询。3
4、工作小技巧执行 imp 命令时, 切记不要在工作站上导入数据到服务器。以免在导入过程中,万一与服务器数据库断开连接造成导入错误。导入imp 一定到在服务器上执行,dmp文件也只能放在服务器本地磁盘。4自动逻辑备份通过编写dos 命令脚本生成批处理命令文件,然后在主机服务器上添加计划任务来实现。备份方法:在任何磁盘上根目录下新建bak 文件夹,在bak 文件夹中新建week0.dmp,将下面的dos 命令复制到新建txt中,把修改为实际的路径,然后将*.txt命令为 zlautoexp.bat批处理文件。ECHO OFF IF EXIST X:bakWEEK0.DMP X:oracleprodu
5、ct10.2.0db_1BINExp.exe userid=sys/his buffer=4096 file=X:bakWeekBak0.dmp grants=y full=y IF EXIST X:bakWEEK1.DMP X:oracleproduct10.2.0db_1BINExp.exe userid=sys/his buffer=4096 file=X:bakWeekBak1.dmp grants=y full=y IF EXIST X:bakWEEK2.DMP X:oracleproduct10.2.0db_1BINExp.exe userid=sys/his buffer=409
6、6 file=X:bakWeekBak2.dmp grants=y full=y IF EXIST X:bakWEEK3.DMP X:oracleproduct10.2.0db_1BINExp.exe userid=sys/his buffer=4096 file=X:bakWeekBak3.dmp grants=y full=y IF EXIST X:bakWEEK4.DMP X:oracleproduct10.2.0db_1BINExp.exe userid=sys/his buffer=4096 file=X:bakWeekBak4.dmp grants=y full=y IF EXIS
7、T X:bakWEEK5.DMP X:oracleproduct10.2.0db_1BINExp.exe userid=sys/his buffer=4096 file=X:bakWeekBak5.dmp grants=y full=y IF EXIST X:bakWEEK6.DMP X:oracleproduct10.2.0db_1BINExp.exe userid=sys/his buffer=4096 file=X:bakWeekBak6.dmp grants=y full=y IF EXIST X:bakWEEK6.DMP REN X:bakWEEK6.DMP WEEK7.DMP 名师
8、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - IF EXIST X:bakWEEK5.DMP REN X:bakWEEK5.DMP WEEK6.DMP IF EXIST X:bakWEEK4.DMP REN X:bakWEEK4.DMP WEEK5.DMP IF EXIST X:bakWEEK3.DMP REN X:bakWEEK3.DMP WEEK4.DMP IF EXIST X:bakWEEK2.DMP REN X:bakWE
9、EK2.DMP WEEK3.DMP IF EXIST X:bakWEEK1.DMP REN X:bakWEEK1.DMP WEEK2.DMP IF EXIST X:bakWEEK0.DMP REN X:bakWEEK0.DMP WEEK1.DMP IF EXIST X:bakWEEK7.DMP REN X:bakWEEK7.DMP WEEK0.DMP ECHO ON 如下图:注意修改路径。然后在控制面板的计划任务添加zlautoexp的计划任务执行时间,根据用户的需求来调整备份时间,使用administrator用户必须给该用户添加密码。或者在 dos 命令提示符下输入以下命令可以实现自动备份
10、: at 2:00 /every:m,t,w,th,f,s,su X:bakzlautoexp.bat 时间每周七天自动备份文件路径名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 同理在 zlautoexp中添加主机字符串,同样可以在工作站上实现异地自动逻辑备份。添加自动备份任务:保证服务里Task Scheduler打开,而且在命令提示符中输入的自动备份命令完全是在后台自动执行,前台不会出现任何提示5数据泵导入导出查看数据库中
11、已创建的directory的两个视图:SELECT * FROM ALL_DIRECTORIES; SELECT * FROM dba_DIRECTORIES; 然后在目标磁盘下手工创建文件夹d:test 数据泵导出数据泵导出的方法有多种,这里我们只介绍两种:单个用户方案导出Expdp 用 户 名 /密 码 主 机 字 符 窜 schemas=用 户 名 dumpfile=X.dmp logfile=X.log directory=TEST 数据库全库导出Expdp 用 户 名 /密 码 主 机 字 符 窜 full=y dumpfile=X.dmp logfile=X.log directo
12、ry= TEST 数据泵导入按以上导出方式:单个用户方案导入impdp 用 户 名 /密 码 主 机 字 符 窜 schemas=用 户 名 dumpfile=X.dmp SQL Create directory TEST as d:test; SQL Grant read,write on directory TEST to system; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - logfile=X.log directory=TEST_EXPDPignore=y数据库全库导入impdp system/hisorcl full=y dumpfile=X.dmp logfile=X.log directory= TEST_EXPDP ignore=y 6drop directory test 删除目录名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -