如何解决Oracle数据库在迁移过程中的权限不足问题

日期: 2010-08-17 作者:Oracle DBA 来源:TechTarget中国 英文

第一部分     背景   这段时间一直在忙某系统IT基础架构的整合,我负责进行数据库整合,要把一系统迁移集中到另外小机数据库中。环境描述如下:   源数据库:Oracle10.2.0.2 for sap,字符集是UTF8,操作系统是windows2003   目标数据库:Oracle10.2.0.3 RAC,字符集是ZHS16GBK,操作系统是HP-UX11.23   问题描述   源数据库中建立的几个用户权限比较大,都是DBA角色,在迁移到目标数据库中客户要求把权限设成最小权限,最多只给connect和resource角色。用imp在导入后检查导入日志发现,在……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

第一部分

    背景

  这段时间一直在忙某系统IT基础架构的整合,我负责进行数据库整合,要把一系统迁移集中到另外小机数据库中。环境描述如下:

  源数据库:Oracle10.2.0.2 for sap,字符集是UTF8,操作系统是windows2003

  目标数据库:Oracle10.2.0.3 RAC,字符集是ZHS16GBK,操作系统是HP-UX11.23

  问题描述

  源数据库中建立的几个用户权限比较大,都是DBA角色,在迁移到目标数据库中客户要求把权限设成最小权限,最多只给connect和resource角色。用imp在导入后检查导入日志发现,在导入视图时权限不足。

  问题解决

  以前在8i和9i不错遇到导入视图时权限不足,后来查找connect和resource角色包含的权限,发现没有create view基本权限,而在8i和9i中却包含了create view权限,可能不同版本角色包含的权限也不一定相同。于是再授予create view权限,再次导入视图创建成功。

    第二部分

  背景

  这段时间一直在忙某系统IT基础架构的整合,我负责进行数据库整合,要把一系统迁移集中到另外小机数据库中。环境描述如下:

  源数据库:Oracle10.2.0.2 for sap,字符集是UTF8,操作系统是windows2003

  目标数据库:Oracle10.2.0.3 RAC,字符集是ZHS16GBK,操作系统是HP-UX11.23

  问题描述

  源数据库中建立的几个用户权限比较大,都是DBA角色,在迁移到目标数据库中客户要求把权限设成最小权限,最多只给connect和resource角色。用imp在导入后检查导入日志发现,在导入触发器时权限不足。

  问题解决

  后来检查触发器,发现触发器是跨用户建的,也就是在另外一个用户的表上建立了触发器,于是尝试授予select any table权限,但问题依旧。经过查阅相关资料发现:

  使用触发器所需的权限

  必须具有CREATE TRIGGER系统权限才能在自己拥有的对象上创建触发器。如果对象由另一名用户拥有,就需要那一名用户授予您对该对象的ALTER权限。还有一种办法,拥有权限的用户可以授予您ALTER ANY TABLE或CREATE ANY TRIGGER权限。

  虽然您有自己的模式级组件上的定义者权限,但当调用另一个用户拥有的模式级组件时必须执行

相关推荐