ITPub博客

首页 > 数据库 > Oracle > 大表的备份及清理方法

大表的备份及清理方法

原创 Oracle 作者:kuqlan 时间:2013-08-05 12:51:35 0 删除 编辑

有时因存空间原因,我们需要对数据库中的大表进行清理,但是清理之前我们还希望对那些所谓“没用 ” 表的数据进行备份。


如下在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

[@more@]

采用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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle技术爱好者,Oracle10g OCM,网名 KUQLAN ,具有7的年Oracle数据库管理实践,曾经参加过BOSS、ERP、云计算(OpenStack+kvm)等项目的一线工作。以前写博客是为了自己,而现在是为了自己和别人。因为领会了帮助别人和分享、沉淀和积累会创造快乐和价值...

注册时间:2009-01-26

  • 博文量
    183
  • 访问量
    1681010