set rowcount 20000
delete from UFSystem..ua_log
set rowcount 0

原文地址:truncate 表之后,采用的恢复方法作者:ban仙

truncate table ua_log_bak20111201

一 模拟环境

truncate table ua_log

   1.Create environment

数据库 属性  选项 模型 改成 简单 然后确定
再进行数据库收缩

      sqlplus / as sysdba

      sql> create tablespace myexample

      sql> conn tiger/tiger
      sql> create table mysales
tablespace myexample   as select * from dba_tables;
      sql> select count(*) from mysales;

   2 备份

     [oracle@paynode2 new]$ rman
targetsys@PAYRAC

     RMAN>backup database format ‘+ARCHIVELOG/back/%d_%p_%s.FULL’

   3.truncate 表

    sqlplus / as sysdba

    sql > alter system switch
logfile;

    sql > /

    sql >  select current_scn from v$database;

    sql >  select count(*) from  table tiger. mysales;

    sql >  set time on

   10:15:41 SQL> select current_scn from v$database;

              CURRENT_SCN
              ———–
              317123764

  10:15:51 SQL> truncate table tiger. mysales;

 

二 利用rman备份和TSPITR 恢复rac
truncate的表数据

(1). 建立密码文件

  orapwd file=initaux.ora entries=4 password=aux

(2).建立参数文件
  
   1.连接主库,建立参数文件
   
     sqlplussys/man@payracas sysdba
 
     create
pfile=’/data/app/oracle/product/11.2.0/dbhome_1/dbs/initaux.ora’ from
spfile;
  
   2.编辑 initaux.ora 文件

    修改
    
*.log_file_name_convert=(‘+DATA_FILE’,’/data/aux’,’+ARCHIVELOG’,’/data/aux’)
     *.db_file_name_convert=(‘+DATA_FILE’,’/data/aux’)
     *.control_files=’/data/aux/aux.ctl’
    *.db_unique_name=’aux’

    加入

     *.instance_number=1

发表评论

电子邮件地址不会被公开。 必填项已用*标注