Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92413433
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-08 17:52:20

   来源:赛迪网技术社区    作者:simjan

在Oracle企业管理服务器(OEMS)中提交作业通常会发生"VNI-2015:验证错误"(如图1)的失败情况,本文提供该错误的解决办法。

   

图1

· 错误原因:目标节点的操作系统用户身份证明不正确,智能代理验证并使用这个信息运行作业。

· 解决办法:因为作业在目标节点上运行,你的针对这个节点的首选身份证明(存储在资料档案库内)就被用于访问这个节点。因此只要你使用这个首选身份证明直接登录到目标节点,就可以从控制台执行任意数量的任务(一个作业可有多个任务按任意顺序组合)。在管理员首选身份证明页中,设置正确的目标节点操作系统用户身份证明。对于Windows NT用户来说,智能代理所在节点的首选身份证明设置必须与设置为“作为批处理作业登录”的Windows NT用户相同。"作为批处理作业登录"是Windows NT用户的操作系统高级权限。

· 使作业系统可用的具体措施:

为了使Oracle企业管理服务器(OEMS)管理员成功提交作业,必须执行下面几个步骤:

1、必须存在一个操作系统用户帐户,他具有高级用户权限,即在管理员计划提交作业的任何一个运行智能代理的节点机器上有“作为批处理作业登录”权限。这只适用于智能代理运行在Windows NT 和 Windows 2000平台的情况。详细的增加或编辑操作系统用户帐户的内容,请继续往下看。

2、必须为所有将要有作业提交的节点设置首选身份证明,用于Windows NT 和 Windows 2000平台的首选身份证明必须和具有高级用户权限"作为批处理作业登录"的用户帐户相一致。

3、具有高级用户权限的操作系统用户帐户必须具有ORACLE_HOME\NETWORK目录的读写许可,同时具有TEMP目录或ORACLE_HOME目录的读、写、更新、删除许可。

注意:如果你没有设置"作为批处理作业登录"的权限,你在节点运行作业时将收到"用户验证失败"的错误提示。

实例展示

如果你即将提交作业的节点操作系统是Windows NT或Windows 2000,那么你要新建或修改一个Windows NT或Windows 2000用户帐户。新建或修改用户时选项“用户下次登录时必须更改密码”不要选中,用户名不能与“SYSTEM” 或"system"相同。下面步骤以Windows 2000为例:

顺序在菜单中选择"开始"、"程序"、"附件"、"管理工具"、"本地安全策略",在"本地安全设置"窗口的左侧栏目找到"安全设置"、"本地策略"、"用户权利指派",在相应的右侧栏目里找到"作为批处理作业登录"策略项(如图2)。

   

图2

双击"作为批处理作业登录"策略项,为域用户"DOMAIN/caofei"定义策略设置(如图3)。

   

图3

下面配置Windows NT或Windows 2000域用户为你的节点的智能代理用户。这个Windows NT域用户仅在主机是主域控制器(PDC)时才工作,否则,作业将失败并提示错误信息"VNI-2015"。在所有的非主域控制器环境中,用户帐户必须是主机本地帐户。在OEMS中选择主菜单"配置"、"首选项",点击"首选身份证明"选项卡,如图4所示,设置缺省节点(同数据库节点)的首选身份证明用户为Windows NT用户caofei。

  

图4

如果你同时拥有相同名称的本地用户和域用户,则本地用户为首选。如果你正设置这个域用户,就必须设置域用户密码与本地用户密码相同,这样才能在当使用域用户帐户提交作业时成功规划作业的运行。

作业成功运行后,会提示下列信息:

  
  代理主目录为: e:\oracle\ora90 
  Oracle 主目录为: e:/oracle/ora90 
  代理 SID 为: 
  Oracle SID 为: O90 
  Table analyzed.
  

OEMS作业和智能代理详解

在Sql*plus中提交作业与在OEMS中提交作业有如下区别:

1、在DBA_JOBS视图中查找不到在OEMS中提交并添加到库中的作业,同样,在OEMS的作业窗口中也不显示DBA_JOBS视图中的作业。OEMS中提交的作业在视图SMP_VIEW_JOBS、SMP_VIEW_JOB_EXECUTIONS、SMP_VIEW_JOB_HISTORY、SMP_VIEW_JOB_STATUS、SMP_VIEW_AGENT_JOBS中存在记录。

2、在Sql*plus中提交的作业不受OEMS中的诸多限制。

3、尽管作业在OEMS控制台提交,但作业脚本本身却存储在目标节点的智能代理中,作业的运行独立于智能代理。

原因在于在OEMS中从规划到完成作业顺序发生下列步骤:

1、从作业面板控制台,规划针对一个或多个节点定做的相同类型的一个或多个任务。

2、OEMS在资料档案库中存储作业信息并检查目标节点是否运行。如果节点或它的智能代理已经停止,则OEMS把作业列入队列。

3、一旦联系上目标节点,OEMS就把作业提交给该节点上的智能代理。作业可以并发地提交到多个节点。

4、智能代理按计划执行作业。

5、智能代理返回所有的作业相关信息到OEMS的与管理员访问级别相对应的控制台如果,智能代理不能联系到OEMS,则把作业相关信息列入队列。

配置智能代理

在ORACLE_HOME\network\admin路径下存储着网络配置文件,为智能代理生成两个文件snmp_ro.ora和snmp_rw.ora。前一个文件为只读,不必修改,只可以修改第二个文件。文件snmp_rw.ora中以"dbsnmpj"为前缀的选项为作业系统设置项。智能代理文件存储在目录ORACLE_HOME\network\agent中,所有被智能代理处理的作业和事件都位于此目录下,文件以".q"为扩展名。智能代理自动发现的服务注册在services.ora文件中。

其它相关错误信息

发生错误"Could not fork or create job process. "或提示下列信息,则问题出在Windows NT下OEMS不能使用在多线程服务器(MTS)数据库的资料档案库,应该使运行资料档案库的数据库运行在独占服务器进程(dedicated server process)模式。 

阅读(191) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~