我使用的是 Oracle 11g 数据库,并且我曾经在执行导入数据泵命令之前运行以下脚本,impdp
因为在恢复数据库时由于外键存在数据限制。
SET SERVEROUTPUT ON;
declare
begin
for c1 in (select table_name, constraint_name from user_constraints) loop
begin
execute immediate ('alter table '||c1.table_name||' disable constraint '||c1.constraint_name);
end;
end loop;
for t1 in (select table_name from user_tables) loop
begin
dbms_ouput.put_line(t1.table_name);
execute immediate ('truncate table '||t1.table_name);
end;
end loop;
我的问题是,有什么方法可以自动化这个手动过程,以便每当我执行导入数据泵脚本时,存储过程/函数将首先执行?
例如:
$ORACLE_HOME/bin/impdp ..... TABLE_EXISTS_ACTION=TRUNCATE .... ACTION_FIRST=STOREDPROC_CLEANUP_FIRST