楼主: bisal

[讨论] expdp报ORA-01031

[复制链接]
论坛徽章:
3
Jeep
日期:2013-11-27 13:33:41ITPUB社区OCM联盟徽章
日期:2014-01-22 09:51:49暖羊羊
日期:2015-05-27 10:46:57
11#
发表于 2015-5-27 14:13 | 只看该作者
bisal 发表于 2015-5-27 11:06
hi,您好,

1. 是不是aq参数的值为0导致的?

修改字符集的操作 GBK到UTF8 不是oracle建议的方式吧。这种方式可能有些隐患,因为UTF8中汉字是3个字节,GBK是2个字节。一般都是直接重建库,导数据来做的。
你说的在另一个测试库试过,aq设为0,并没有模拟出这个错误。那个库是做过修改字符集的操作吗?
感觉你这个问题可能是bug.

你使用strace尝试了吗?看看有没有什么收获?

使用道具 举报

回复
论坛徽章:
190
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
12#
发表于 2015-5-27 15:29 | 只看该作者
本帖最后由 jieyancai 于 2015-5-27 15:32 编辑

show parameter job;看看结果
alter system set job_queue_processes=1000;

使用道具 举报

回复
论坛徽章:
7
茶鸡蛋
日期:2013-06-14 13:16:17优秀写手
日期:2013-12-18 09:29:112014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:022015年新春福章
日期:2015-03-04 14:51:122015年新春福章
日期:2015-03-06 11:57:31ITPUB社区OCM联盟徽章
日期:2016-07-13 18:10:08
13#
 楼主| 发表于 2015-5-28 00:11 | 只看该作者
jeanron100 发表于 2015-5-27 14:13
修改字符集的操作 GBK到UTF8 不是oracle建议的方式吧。这种方式可能有些隐患,因为UTF8中汉字是3个字节, ...

我在另一个测试库中按照上面修改字符集的方法做了一遍,expdp提示的信息不同,是字符集问题,还不是权限问题:
ora11g@bisal.oracle.com$expdp xxx/xxx directory=expdir dumpfile=test.dmp logfile=test.log tables=test_b

Export: Release 11.2.0.1.0 - Production on Wed May 27 09:08:32 2015

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "BISAL"."SYS_EXPORT_TABLE_01":  xxx/******** directory=expdir dumpfile=test.dmp logfile=test.log tables=test_b
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 0 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.UNLOAD_METADATA [INDEX_STATISTICS]
ORA-12704: character set mismatch

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 8164

----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x86fcabe0     19028  package body SYS.KUPW$WORKER
0x86fcabe0      8191  package body SYS.KUPW$WORKER
0x86fcabe0      2814  package body SYS.KUPW$WORKER
0x86fcabe0      8846  package body SYS.KUPW$WORKER
0x86fcabe0      1651  package body SYS.KUPW$WORKER
0x86fd1a88         2  anonymous block

Job "BISAL"."SYS_EXPORT_TABLE_01" stopped due to fatal error

trace还没时间做,回头搞下。

使用道具 举报

回复
论坛徽章:
7
茶鸡蛋
日期:2013-06-14 13:16:17优秀写手
日期:2013-12-18 09:29:112014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:022015年新春福章
日期:2015-03-04 14:51:122015年新春福章
日期:2015-03-06 11:57:31ITPUB社区OCM联盟徽章
日期:2016-07-13 18:10:08
14#
 楼主| 发表于 2015-5-28 00:15 | 只看该作者
jieyancai 发表于 2015-5-27 15:29
show parameter job;看看结果
alter system set job_queue_processes=1000;

当前值是0

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
15#
发表于 2015-5-28 00:51 | 只看该作者
本帖最后由 Yong Huang 于 2015-5-27 10:54 编辑

I have two comments. Commands such as "ALTER DATABASE character set INTERNAL_USE..." should not be run without approval from Oracle Support. Once you do that, you're on your own.

For data pump jobs to run correctly, aq_tm_processes should not be explicitly set to 0. Note I say "explicitly". In early 11g versions such as 11.2.0.1 or ealier, the value in v$parameter (or "show parameter") may appear to be 0 but internally it's not; that 0 simply means "automatically set". In later versions, the value by default is 1. If the value has been set to 0 (see your msg #10), you should change it to some non-zero value and try data pump again.

I'm not sure if job_queue_processes is related to a data pump job.

使用道具 举报

回复
论坛徽章:
190
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
16#
发表于 2015-5-28 09:20 | 只看该作者
bisal 发表于 2015-5-28 00:15
当前值是0

改了吗?
alter system set job_queue_processes=1000;

使用道具 举报

回复
论坛徽章:
7
茶鸡蛋
日期:2013-06-14 13:16:17优秀写手
日期:2013-12-18 09:29:112014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:022015年新春福章
日期:2015-03-04 14:51:122015年新春福章
日期:2015-03-06 11:57:31ITPUB社区OCM联盟徽章
日期:2016-07-13 18:10:08
17#
 楼主| 发表于 2015-5-28 23:22 | 只看该作者
Yong Huang 发表于 2015-5-28 00:51
I have two comments. Commands such as "ALTER DATABASE character set INTERNAL_USE..." should not be r ...

我在mos看到一篇文章,给了一个PLSQL,执行后和您说的一样,虽然show的值是0,但PLSQL指ing执行结果显示是“explicityl set to 0”,我试过设置其值为1,但问题还是这样。

connect / as sysdba


declare
mycheck number;
begin
select 1 into mycheck from v$parameter where name = 'aq_tm_processes' and value = '0' and (ismodified != 'FALSE' OR isdefault = 'FALSE');
if mycheck = 1 then
dbms_output.put_line('The parameter ''aq_tm_processes'' is explicitly set to 0!');
end if;
exception when no_data_found then
dbms_output.put_line('The parameter ''aq_tm_processes'' is not explicitly set to 0.');
end;
/

使用道具 举报

回复
论坛徽章:
7
茶鸡蛋
日期:2013-06-14 13:16:17优秀写手
日期:2013-12-18 09:29:112014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:022015年新春福章
日期:2015-03-04 14:51:122015年新春福章
日期:2015-03-06 11:57:31ITPUB社区OCM联盟徽章
日期:2016-07-13 18:10:08
18#
 楼主| 发表于 2015-5-28 23:23 | 只看该作者
jieyancai 发表于 2015-5-28 09:20
改了吗?
alter system set job_queue_processes=1000;

这个还没试过,这个参数设置后有什么副作用么?

使用道具 举报

回复
论坛徽章:
190
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
19#
发表于 2015-5-29 09:20 | 只看该作者
bisal 发表于 2015-5-28 23:23
这个还没试过,这个参数设置后有什么副作用么?

没有副作用,本来就是1000的。
不启用的话,所有job都不能执行。

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
20#
发表于 2015-5-29 23:21 | 只看该作者
jieyancai,

I have a feeling that you're confusing data pump jobs with DBMS jobs (those shown in dba_jobs or dba_jobs_running). They're different. Data pump jobs, as shown in dba_datapump_jobs, are not related to DBMS jobs. You can test by explicitly setting job_queue_processes to 0 and see if you can run a data pump job. My test in 11.2.0.3 shows it can still run. (Make sure aq_tm_processes is not 0.)

使用道具 举报

回复

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

本版积分规则 发表回复

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