中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
利用errorstack event解决问题
作者:未知 时间:2004-12-21 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无

今天现场人员报告说exp的时候报权限不足的错误。
是用当前用户作的用户级别的exp,按理说应该没有什么权限的问题。
按照现场的情况作了测试,果然重现了问题。

d:\Temp>exp parfile=exp.par

Export: Release 9.2.0.5.0 - Production on Tue Dec 21 22:27:13 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


EXP-00008: ORACLE error 1031 encountered
ORA-01031: insufficient privileges
EXP-00000: Export terminated unsuccessfully

其中exp.par的内容如下:
userid=scott/tiger
file=.\scott.dmp
indexes=y
grants=y
rows=y
constraints=y
owner=scott
direct=n
compress=n
feedback=10000
resumable=y
resumable_timeout=7200
log=.\export.log

没有发现什么问题,于是想作一个trace,于是使用errorstack event,由于exp是在命令行中直接执行的,所以只能对整个数据库系统作trace,由于只是想知道ORA-01031错误的发生原因,所以用以下语句:
alter system set events  '1031 trace name errorstack level 3';

然后重新运行exp,仍然报错,这时候在udump目录中生成了trace文件,检查文件内容,发现:
*** SESSION ID:(15.210) 2004-12-21 22:22:36.704
*** 2004-12-21 22:22:36.704
ksedmp: internal or fatal error
ORA-01031: insufficient privileges
Current SQL statement for this session:
ALTER SESSION ENABLE RESUMABLE TIMEOUT 7200

原来问题出在ENABLE RESUMABLE部分,这是9i的新特性,用于在出现空间不足的问题时,挂起整个操作以等待操作人员解决空间问题。

只要确认了问题所在,就很好解决了,其实如果详细地看过adminitrator文档,也就不会犯这个错误,文档里面Enabling and Disabling Resumable Space Allocation部分很清楚地写着:如果要使用resumbale特性,那么必须有resumable系统权限。

检查现场用户的权限,发现只有connect和resource权限。于是:
grant resumable to username;

当然如果象一些应用里面那样,用户始终是具有DBA角色的话,那么永远也不会发生这个错误,因为DBA角色本来就具有esumable系统权限。不过为了安全起见,我们的应用中用户都不会具有DBA权限。

解决问题的方法很简单,没什么好说的,本文想介绍的也是发现问题的手段,也就是利用set events的方法。这个方法在我们对一个错误感到莫名其妙的时候往往会成为指路明灯。

作者简介:

张乐奕,网名kamus 
曾任ITPUB Oracle认证版版主,现任itpub Oracle管理版版主。
现任职于北京某大型软件公司,首席DBA,主要负责证券行业的全国十数处核心交易系统数据库管理及维护工作。
热切关注Oracle技术和其它相关技术,出没于各大数据库技术论坛,目前是中国最大的Oracle技术论坛www.itpub.net的数据库管理版版主。

阅读更多技术文章和随笔可以登录我的个人blog。
http://blog.dbform.com

 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有