【问题标题】:Oracle SQL - import dump and change dataOracle SQL - 导入转储和更改数据
【发布时间】:2018-01-30 02:14:00
【问题描述】:

我正在尝试将数据库从转储导入 oracle,一旦导入完成,我想对该数据进行一些更改。实现这一目标的最佳方法是什么?下面的脚本将导入转储文件并重新映射架构,但该作业似乎分叉并且更改尝试在数据泵完成之前运行。我是 Oracle 新手,试图在 Oracle SE 数据库上运行它。提前感谢所有建议/指针。

begin

declare
h1 NUMBER;
h1_status varchar2(200);
begin
    h1 := dbms_datapump.open (operation => 'IMPORT', job_mode => 'FULL', job_name => 'COPYBACK_IMPORT', version => 'COMPATIBLE');
    dbms_datapump.add_file(handle => h1, filename => 'COPYBACK.LOG', directory => 'DATA_PUMP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
    dbms_datapump.add_file(handle => h1, filename => 'COPYBACK.LOG', directory => 'DATA_PUMP_DIR', filetype => 3);
    dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 0);
    dbms_datapump.add_file(handle => h1, filename => 'SOME_DB_DUMP.dmp', directory => 'DATA_PUMP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE);
    dbms_datapump.metadata_remap(handle => h1, name => 'REMAP_TABLESPACE', old_value => 'SOME_TS', value => 'USERS');
    dbms_datapump.metadata_remap(handle => h1, name => 'REMAP_SCHEMA', old_value => 'SOMETHING', value => 'DBADMIN');
    dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1);
    dbms_datapump.set_parameter(handle => h1, name => 'DATA_ACCESS_METHOD', value => 'AUTOMATIC');
    dbms_datapump.set_parameter(handle => h1, name => 'REUSE_DATAFILES', value => 0);
    dbms_datapump.set_parameter(handle => h1, name => 'TABLE_EXISTS_ACTION', value => 'REPLACE');
    dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
    dbms_datapump.wait_for_job(handle => h1, job_state => h1_status);
    dbms_datapump.detach(handle => h1);
end;
begin
    update DBADMIN.users set passwd = 'new_passwd', p_passwordencoding = 'plain' where p_uid = 'some_user';
    delete from DBADMIN.props where name='system.locked';
end;

end;
/

【问题讨论】:

    标签: oracle plsql datapump


    【解决方案1】:

    我建议使用操作系统中的 impdp 而不是包,然后创建一个批处理或 sh 文件以使用所需的参数(您可以使用参数文件)执行 impdp,如果一切正常,执行更新。

    【讨论】:

      猜你喜欢
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-21
      • 1970-01-01
      • 2012-12-12
      • 2016-08-21
      • 1970-01-01
      相关资源
      最近更新 更多