Search code examples
oracleviewdatabase-permissions

I can't create a view in oracle database using sqlplus (insufficient privileges)


I'm running this 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

When I try to create the view I get this error:

ERROR at line 1:
ORA-01031: insufficient privileges

Why is that? I'm logged in to sqlplus using sysman


Solution

  • Make sure that SYSMAN is granted SELECT privileges on each of the tables in the FROM clause directly, not through a role. See CREATE VIEW prerequisites.