12
返回列表 发新帖
楼主: ora_lion

[讨论] 利用过程maintain_schemas配置stream遇到的问题

[复制链接]
论坛徽章:
112
2008新春纪念徽章
日期:2008-02-13 12:43:03马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14马上有车
日期:2014-11-03 12:40:39沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31慢羊羊
日期:2015-03-09 16:15:39
11#
发表于 2009-5-25 15:05 | 只看该作者
--
-- Datapump SCHEMA MODE IMPORT (NETWORK)
--
DECLARE
  h1                NUMBER;       -- data pump job handle
  schema_expr_list  VARCHAR2(32767); -- for metadata_filter
  cnt               NUMBER; -- temp variable
  object_owner      dbms_utility.uncl_array; -- obj owners
  job_state         VARCHAR2(30); -- job state
  status            ku$_Status; -- data pump status
  job_not_exist     exception;
  pragma            exception_init(job_not_exist, -31626);
BEGIN

----
看不出什么来,你手工执行这段代码如何?
我怀疑是不是datapump 的一个小bug

使用道具 举报

回复
论坛徽章:
0
12#
 楼主| 发表于 2009-5-25 15:17 | 只看该作者
SQL> DECLARE
  2    h1                NUMBER;       -- data pump job handle
  3    schema_expr_list  VARCHAR2(32767); -- for metadata_filter
  4    cnt               NUMBER; -- temp variable
  5    object_owner      dbms_utility.uncl_array; -- obj owners
  6    job_state         VARCHAR2(30); -- job state
  7    status            ku$_Status; -- data pump status
  8    job_not_exist     exception;
  9    pragma            exception_init(job_not_exist, -31626);
10  BEGIN
11
12    object_owner(1) := 'TEST';
13    object_owner(2) := 'TEST1';
14    FOR idx IN 1..2 LOOP
15      -- schema does not exist locally, need instantiation
16      IF schema_expr_list IS NULL THEN
17        schema_expr_list := '(';
18      ELSE
19        schema_expr_list := schema_expr_list ||',';
20      END IF;
21      schema_expr_list := schema_expr_list||''''||object_owner(idx)||'''';
22    END LOOP;
23    IF schema_expr_list IS NOT NULL THEN
24      schema_expr_list := schema_expr_list || ')';
25    ELSE
26      COMMIT;
27      RETURN;
28    END IF;
29
30    h1 := dbms_datapump.open(operation=>'IMPORT',job_mode=>'SCHEMA',
31      remote_link=>'',
32      job_name=>NULL, version=>'COMPATIBLE');
33
34
35
36    dbms_datapump.add_file(
37      handle=>h1,
38      filename=>'expdat346.dmp',
39      directory=>'EXPMASIC202_DIR',
40      filetype=>dbms_datapump.ku$_file_type_dump_file);
41    dbms_datapump.add_file(
42      handle=>h1,
43      filename=>'expdat346.dlg',
44      directory=>'EXPMASIC202_DIR',
45      filetype=>dbms_datapump.ku$_file_type_log_file);
46
47    dbms_datapump.start_job(h1);
48
49    job_state := 'UNDEFINED';
50    BEGIN
51      WHILE (job_state != 'COMPLETED') AND (job_state != 'STOPPED') LOOP
52        status := dbms_datapump.get_status(
53          handle => h1,
54          mask => dbms_datapump.ku$_status_job_error +
55                  dbms_datapump.ku$_status_job_status +
56                  dbms_datapump.ku$_status_wip,
57          timeout => -1);
58        job_state := status.job_status.state;
59        dbms_lock.sleep(10);
60      END LOOP;
61    EXCEPTION WHEN job_not_exist THEN
62      dbms_output.put_line('job finished');
63    END;
64    COMMIT;
65  EXCEPTION WHEN OTHERS THEN
66    ROLLBACK;
67    RAISE;
68  END;
69
70  /
DECLARE
*
ERROR at line 1:
ORA-39001: invalid argument value
ORA-06512: at line 67

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表