正文:
听说exp备份就像给Oracle打气球,一捏就瘪,一放就飞。DBA老王信心满满敲下:
exp user/密码 file=宇宙无敌.dmp log=老王别哭.log
结果气球“砰”地炸了——表空间嫌小、字符集翻脸、权限撒泼。老王抱着日志哭成表情包:
“我备份的是数据,不是寂寞!”
Oracle在云端冷笑:年轻人,备份前要调参数、查空间、配权限,不然气球只装得下你的悔恨!
—————————教程分割线—————————
如何正确用exp做Oracle备份(不翻车版)
登录服务器,先看空间
df -h 确认.dmp能放得下,别让它像老王的气球一样炸。
检查字符集
echo $NLS_LANG 与数据库一致,不然导完全是火星文。
授最小权限
SQL> grant connect,resource,exp_full_database to 用户名;
执行导出
exp 用户名/密码@服务名 file=/路径/日期.dmp log=/路径/日期.log buffer=4096000 consistent=y
buffer加大,consistent保证一致性。
校验日志
grep “terminated successfully” 日期.log 若没看到,重复步骤4,直到日志不再嘲笑你。