首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找Oracle DBMS_WM.Export_Schemas函数的工作示例

查找Oracle DBMS_WM.Export_Schemas函数的工作示例
EN

Stack Overflow用户
提问于 2020-07-21 23:44:25
回答 1查看 88关注 0票数 1

我正在使用Oracle19.6,并尝试使用Workspace Manager导出版本化数据。官方文档(https://docs.oracle.com/en/database/oracle/oracle-database/19/adwsm/DBMS_WM-reference.html#GUID-9485C70D-9CF9-4649-8785-06C7D6CF32D6)显示了一个示例,但我无法使其工作。

使用"sys“user,代码在"dbms_wm.export_schemas( job_name ) ;”行返回"ORA-20283:指定的job_name参数无效“。

使用专用用户(文档显示“使用SYSDBA权限时不应创建数据泵作业”)时,我得到另一个错误:

代码语言:javascript
复制
31626. 00000 -  "job does not exist"
*Cause:    An invalid reference to a job which is no longer executing,
           is not executing on the instance where the operation was
           attempted, or that does not have a valid Master Table.
           Refer to any following error messages for clarification.
*Action:   Start a new job, or attach to an existing job that has a
           valid Master Table.

另一件让我困扰的事情是,示例代码并不像常规的datapump作业那样调用"DBMS_DATAPUMP.START_JOB“。

SR对Oracle支持已经开放了很长一段时间,因此非常感谢您的帮助。

谢谢。

编辑:根据文档,可以使用data pump和FULL=Y选项导出和导入版本化数据。这样做(并预先禁用所有WMSYS触发器),返回大量ORA-39111和ORA-31684,因为我没有删除目标数据库中的对象,但奇怪的是,转储中没有"SPATIAL_CSW_ADMIN_USR“用户,这会导致级联错误。

最后,导入是“成功的”,有5685个错误,但是当源数据库中存在12个错误时,ALL_WORKSPACES表的内容只显示默认条目(名为LIVE)。

EN

回答 1

Stack Overflow用户

发布于 2021-08-27 10:01:10

下面是我使用dbms_wm.export_schemas成功导出版本化表的步骤:

创建专用用户以运行导出:

代码语言:javascript
复制
create user sigea_exp identified by sigea_exp;
grant create session, create table, create procedure, exp_full_database, imp_full_database, DATAPUMP_EXP_FULL_DATABASE to sigea_exp;
GRANT UNLIMITED TABLESPACE TO sigea_exp;
grant read, write on directory EXPORT_AUTOMATIQUE to sigea_exp;
begin
    DBMS_WM.GRANTSYSTEMPRIV('ACCESS_ANY_WORKSPACE','sigea_exp', 'NO',TRUE);
end;

检查WMSYS架构是否不包含错误(以"sys“的形式连接,以下语句不返回任何行):

代码语言:javascript
复制
select * from ALL_OBJECTS where status = 'INVALID' and OWNER = 'WMSYS';

运行以下脚本,仔细选择目录的名称(此处为'EXPORT_AUTOMATIQUE'):

代码语言:javascript
复制
DECLARE
  job_name varchar2(128) := 'EXPORT_EAU_2';
  dpj number ;
BEGIN
  dpj := dbms_datapump.open('EXPORT', 'SCHEMA', null, job_name, 'COMPATIBLE');
  dbms_datapump.add_file(dpj, 'eau_schema.dmp', 'EXPORT_AUTOMATIQUE');
  dbms_datapump.add_file(dpj, 'eau_schema.log', 'EXPORT_AUTOMATIQUE', filetype=>dbms_datapump.KU$_FILE_TYPE_LOG_FILE);
  dbms_wm.export_schemas(job_name, 'WMSYS_N', FALSE);
  DBMS_DATAPUMP.START_JOB(dpj);
END;
/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63018185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档