oracle清空aud 表的案例

2021-07-25 08:55:37 字數 1368 閱讀 6645

某系統資料庫的aud$表大小達到30g,與開發確認,這個表可以清掉。

1.先將表匯出備份一下

exp "'/ as sysdba'" tables=sys.aud$ file=aud.dmp  log=aud.log direct=y

上面為提公升效能,加下面引數試試

buffer=10485760 recordlength=65535 direct=y feedback=10000

2.清表

truncate table sys.aud$ reuse storage;

alter table sys.aud$ deallocate unused keep 25000m;

alter table sys.aud$ deallocate unused keep 20000m;

alter table sys.aud$ deallocate unused keep 15000m;

alter table sys.aud$ deallocate unused keep 10000m;

alter table sys.aud$ deallocate unused keep 5000m;

alter table sys.aud$ deallocate unused keep 2000m;

alter table sys.aud$ deallocate unused keep 500m;

alter table sys.aud$ deallocate unused keep 250m;

alter table sys.aud$ deallocate unused keep 10m;

3.建立aud表空間

create tablespace aud datafile'/***/' size 30g autoextend off ;

4.將審計表遷到aud表空間

begin

dbms_audit_mgmt.set_audit_trail_location(audit_trail_type => dbms_audit_mgmt.audit_trail_db_std,

audit_trail_location_value => 'aud');

end;

/begin

dbms_audit_mgmt.set_audit_trail_location(audit_trail_type => dbms_audit_mgmt.audit_trail_fga_std,

audit_trail_location_value => 'aud');

end;

/5.若確認不需要審計,直接將審計功能關閉

alter system set audit_trail=none scope=spfile;

需要重啟才生效

Oracle 清空表分割槽

etl重刷201709資料,為了加快插入速度,不與已有資料比較,需要直接清空表指定分割槽的月份資料 alter table tf fin cux doc sre truncate partition balance dt 201709 接著需要重建索引,不然會報錯 ora 01502 alter i...

oracle清空表資料

truncate table 表名 delete from 表名 兩者都可以用來刪除表中所有的記錄。區別在於 truncate是ddl操作,它移動hwk,不需要 rollback segment 執行完沒有提交或者回滾 立即釋放空間。而delete是dml操作,需要rollback segment ...

清空Oracle臨時表空間

tags oracle 今天發現一oracle的sql語句執行超過了2分鐘,因為本人從事的專案資料量都不大,還沒遇到過2分鐘以上不出結果的時候。因此十分疑惑。執行了一段時間之後,發覺oracle無法連線出現異常。此時登入oracle安裝伺服器,sqlplus無法連線。檢視硬碟空間,發現硬碟已滿。經過...