如何为Oracle数据库中的指定表创建备份脚本
仅备份指定Oracle表的解决方案
你当前使用OWNER=SMPSYS参数会导出该用户下的所有表,要仅备份指定表,需替换OWNER参数为TABLES参数,明确指定需要备份的表名。
修改后的脚本示例
假设你需要备份SMPSYS用户下的TABLE_A、TABLE_B两个表,脚本修改如下:
select 'C:\Daily-MIS-Backup\'||TO_CHAR(SYSDATE,'YYYYMMDD-HH24MISS')||'.DMP' foo3 from dual; HOST EXP USERID=myusername/mypass FILE='^LOG1' GRANTS=Y ROWS=Y TABLES=(SMPSYS.TABLE_A, SMPSYS.TABLE_B) LOG=EXPORT.LOG
关键说明
- 若执行导出的用户就是
SMPSYS,表名可省略用户名前缀,直接写TABLES=(TABLE_A, TABLE_B) - 多个表用英文逗号分隔,整体用括号包裹
- 你开头提到的
imp是Oracle导入命令,创建备份需使用exp导出命令(与你后续脚本保持一致)
内容的提问来源于stack exchange,提问作者Moin Ansari
相关产品推荐
相关产品推荐

