首页 > 数据库 > Oracle > 大表的备份及清理方法
有时因存空间原因,我们需要对数据库中的大表进行清理,但是清理之前我们还希望对那些所谓“没用 ” 表的数据进行备份。
如下在Oracle中对大表进行导出(逻辑备份)后的truncate方法的介绍。
如果采用expdp方式,则需建立directory或查看现有的目录:
select * from dba_directories;
例如想要备份后清理或删除的表名为abctest,导出语法如下所示:
expdp system/pasward@SID DIRECTORY=sodir DUMPFILE=mr_abctest.dmp tables=(mr.abctest) content=all LOGFILE=err_201210.log
采用exp的语法如下:
exp system/pasward@SID owner=MR file=/backup/dmp/mr_abctest.dmp tables=(abctest) log=/backup/dmp/mr_bak1.log statistics=none buffer=20480000 recordlength=65534
完成以上步骤后,登录数据库对表进行清理:
-bash-3.00$ sqlplus / as sysdba
SQL>truncate table mr.abctest
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18841027/viewspace-1060821/ ,如需转载,请注明出处,否则将追究法律责任。