【问题标题】:I can't create a view in oracle database using sqlplus (insufficient privileges)我无法使用 sqlplus 在 oracle 数据库中创建视图(权限不足)
【发布时间】:2010-06-16 22:57:26
【问题描述】:

我正在运行这个 SQL:

CREATE VIEW
showMembersInfo(MemberID,Fname,Lname,Address,DOB,Telephone,NIC,Email,WorkplaceID,WorkName,WorkAddress,WorkTelephone,StartingDate,ExpiryDate,Amount,WitnessID,WitName,WitAddress,WitNIC,WitEmail,WitTelephone)
AS SELECT 
mem.MemberID,mem.FirstName,mem.LastName,mem.Address,mem.DOB,mem.Telephone,mem.NIC,mem.Email,
wrk.WorkPlaceID,wrk.Name,wrk.Address,wrk.Telephone,
anl.StartingDate,anl.ExpiryDate,anl.Amount,
wit.WitnessID,wit.Name,wit.Address,wit.NIC,wit.Email,wit.Telephone 
FROM Member mem, WorkPlace wrk, AnnualFees anl, Witness wit 
WHERE mem.MemberID = anl.MemberID AND mem.WorkPlaceID = work.WorkPlaceID AND mem.WitnessID = wit.WitnessID

当我尝试创建视图时出现此错误:

第 1 行出现错误:
ORA-01031: 权限不足

这是为什么呢?我使用 sysman 登录到 sqlplus

【问题讨论】:

  • 你为什么首先在SYSMAN的架构中创建视图?您应该在单独的架构中创建应用程序对象。

标签: oracle views database-permissions


【解决方案1】:

确保直接向 SYSMAN 授予对 FROM 子句中每个表的 SELECT 权限,而不是通过角色。见CREATE VIEW prerequisites

【讨论】:

  • 写好了。 sysman 应该授予创建视图的权限.. 感谢所有回复的人
【解决方案2】:

尝试使用 sys 或 sysadm 记录

查看oracle用户here

【讨论】:

  • 我没有为 sysdba 设置任何密码,但有人可以建议我找到 sysdba 的密码
  • @Nubkadiya:您不需要 sysdba 来执行此操作。获取授予 sysman 用户(如果是适当的用户)的正确权限。您所写的语句将在 SYSMAN 模式中创建视图!
  • 如何检查该用户的权限以及如何更改。有人可以指导我。
猜你喜欢
  • 2016-07-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-12
  • 2013-04-14
  • 1970-01-01
  • 2013-10-13
  • 2017-09-04
  • 2016-04-12
相关资源
最近更新 更多